기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.
안녕하세요 프레임버퍼에 데이터를 디스플레이 해볼려고하는데 잘 안되는 부분이 있는데요
제가 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)형태가 맞는지 궁금합니다
bpp가 32면 맞습니다.
a: 0으로 처리하시고
r: r5 비트를 8비트의 상위 5비트로 할당하시고,
g: g6비트를 8비트의 상위 6비트로 할당하시고,
b: b5비트를 8비트의 상위 6비트로 할당하시고,
일단, display해 보시기 바랍니다. 만일 색이 푸르스름하게 나오시면 R이랑 B랑 바꾸시면 됩니다...^^