기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

안녕하세요 프레임버퍼에 데이터를 디스플레이 해볼려고하는데 잘 안되는 부분이 있는데요

 

제가 RGB565데이터(640*480)를 받아서 LCD에 뿌려줄려고 하는데요

fb_open을 이용하여 LCD정보를 얻은상태입니다

size : 1026 * 600

bpp : 32

line_length : 4096

 

mmap을 이용하여 주소를 획득

void *fd_point;

fd_point = mmap(0, nLine_length * nScreen_height, PORT_READ | PORT_WRITE, MAP_SHARED, fd, 0);

 

일단 여기까지 기본적으로 진행을 했습니다.

 

memcpy를 이용하여 데이터를 fd_point에 복사시키면 데이터가 디스플레이될것 같은데(저의추측)

 

LCD의 bpp가 32 인데

제가 얻은 데이터는 RGB565의 형태이니 rgb565 -> rgb8888(argb)로 변환해서 넣어서 memcpy를 해줄려고 하는데요

bpp에 따라서 rgb를 변환해야 할것 같은데 8888(32)형태가 맞는지 궁금합니다


고도리

2014.02.24 21:27:16
*.200.239.210

bpp가 32면 맞습니다.


a: 0으로 처리하시고

r: r5 비트를 8비트의 상위 5비트로 할당하시고,

g: g6비트를 8비트의 상위 6비트로 할당하시고,

b: b5비트를 8비트의 상위 6비트로 할당하시고,


일단, display해 보시기 바랍니다. 만일 색이 푸르스름하게 나오시면 R이랑 B랑 바꾸시면 됩니다...^^

List of Articles
번호 제목 글쓴이 날짜 조회 수sort

사용자 로그인