linux framebuffer ѧϰ±Ê¼Ç¶þ£¨³ÌÐòÓÃÀý£©
1 ³ÌÐòÁ÷³Ìͼ¡£
2 sampleÀý×Ó
HI_S32 TDE_DrawGraphicSample()
{
HI_U32 u32Size;
HI_S32 s32Fd;
HI_U32 u32Times;
HI_U8* pu8Screen;
HI_U32 u32PhyAddr;
HI_S32 s32Ret = -1;
HI_U32 i = 0;
struct fb_fix_screeninfo stFixInfo;
struct fb_var_screeninfo stVarInfo;
struct fb_bitfield stR32 = {10, 5, 0};
struct fb_bitfield stG32 = {5, 5, 0};
struct fb_bitfield stB32 = {0, 5, 0};
struct fb_bitfield stA32 = {15, 1, 0};
//HI_UNF_DISPLAY_SetEnable(HI_TRUE);
/* 1. open tde device */
HI_TDE2_Open();
/* 2. framebuffer operation */
s32Fd = open("/dev/fb0", O_RDWR);
if (s32Fd == -1)
{
printf("open frame buffer device error\n");
goto FB_OPEN_ERROR;
}
stVarInfo.xres_virtual = SCREEN_WIDTH;
stVarInfo.yres_virtual = SCREEN_HEIGHT*2;
stVarInfo.xres = SCREEN_WIDTH;
stVarInfo.yres = SCREEN_HEIGHT;
stVarInfo.activate = FB_ACTIVATE_NOW;
stVarInfo.bits_per_pixel = 16;
stVarInfo.xoffset = 0;
stVarInfo.yoffset = 0;
stVarInfo.red = stR32;
stVarInfo.green = stG32;
stVarInfo.blu
Ïà¹ØÎĵµ£º
µÚ2Õ Linux°²×°Á˽âÁËLinuxµÄÀúÊ·ºÍ·¢Õ¹¹ý³Ì£¬¶ÁÕß´ó¸ÅÒѾ¼±ÇеØÏëÒª°ÑLinux°²×°µ½×Ô¼ºµÄ¼ÆËã»úÉÏ¡£ÎÞËùη¾åµÄ¶ÁÕß¿ÉÄÜÒѾÔÚÔĶÁ±¾ÕÂ֮ǰ¾Í×ö¹ýÕâÑùµÄ³¢ÊÔ¡£ÎÞÂÛÕâЩ³¢ÊÔ×îÖÕÊdzɹ¦»¹ÊÇʧ°Ü£¬¾Í´ÓÕâÀ↑ʼLinuxÖ®Âðɣ¡ ......
ARGB8888
32λɫ,ARGB8888±íʾARGB¸÷´ú±í8룬A±íʾ͸Ã÷¶È£¬µ±ÎªffʱΪ·Ç͸Ã÷£¬RGB·Ö±ðΪºìÂÌÀ¶£¬ff±íʾ×îŨ¡£
ARGB1555
16λɫ 1 λ±íʾ ͸Ã÷¶È£¬ Ö»ÄÜÏÔʾÁ½ÖÖ״̬£¬Í¸Ã÷ºÍ·Ç͸Ã÷¡£
¡¾Ê²Ã´ÊÇFrameBuffer¡¿
FrameÖ¡£ºÄãËù¿´µ½µÄÆÁÄ»µÄͼÏñ£¬»òÕßÔÚÒ»¸ö´°¿ÚÖеÄͼÏñ£¬¾Í½ÐÒ»Ö¡¡£
Buffer»º³å£ºÒ»¶ÎRAM£¬ÓÃÀ´ÔÝ´æÍ¼ÏñÊý ......
µÚ3Õ Linux»ù±¾ÅäÖÃ
°²×°Íê²Ù×÷ϵͳºó£¬³£³£ÐèÒª×öһЩ»ù±¾ÅäÖã¬ÒÔÂú×ã×Ô¼ºµÄÐèÇó¡£Ëæ×ÅLinux×ÀÃæµÄÈÕÇ÷³ÉÊìºÍÈËÐÔ»¯£¬ÕâÖÖËùνµÄ“»ù±¾ÅäÖÔÒѾԽÀ´Ô½ÉÙÁË¡£±¾ÕÂÑ¡ÔñÁËÈëÃÅÓû§×î³£Îʵ½µÄһЩÎÊÌ⣬ÒÔ±ã¶ÁÕßÄܹ»¾¡¿ìÉÏÊÖ¡£ ......
1. µØÖ·¿Õ¼äµÄ¹ÜÀí
¡¡¡¡ÎïÀíµØÖ·¶¼ÊÇÓÐÄں˹ÜÀíµÄ£¬ node-->zone-->mem_map-->page, ËùÓеÄÎïÀíÒ³Ãæ¶¼ÔÚmem_mapÊý×éÖеÄÒ³Ö¡¶ÔÓ¦£¬ È»ºó²»Í¬µÄpageÓзÖΪDMA£¬normal£¬highmemÈý¸özone¡£
¡¡¡¡ÄÚºËÏßÐÔµØÖ·¿Õ¼ä£¬ ʵ¼ÊÉÏÖ»ÊǵͶËÄÚ´æ²ÅÓÐÏßÐÔµØÖ·£¬0---896MB²¿·Ö¡£
¡¡¡¡ÄÚºËÐéÄâµØÖ·£¬ µÍ¶ËÄÚ´æµÄÐéÄâµØÖ·ÓëÏ ......
LinuxÖ®ËùÒÔÊܵ½¹ã´ó¼ÆËã»ú°®ºÃÕßµÄϲ°®£¬Ö÷ÒªÔÒòÓÐÁ½¸ö£¬Ê×ÏÈËüÊÇ×ÔÓÉÈí¼þ£¬Óû§²»ÓÃÖ§¸¶·ÑÓþͿÉÒÔʹÓÃËü£¬²¢¿É¸ù¾Ý×Ô¼ºµÄÐèÒª¶ÔËü½øÐÐÐ޸ġ£ÁíÍ⣬Ëü¾ßÓÐUnixµÄÈ«²¿¹¦ÄÜ£¬ÈκÎʹÓÃUnixϵͳ»òÏëҪѧϰUnixϵͳµÄÈ˶¼¿ÉÒÔ´ÓÖлñÒæ¡£
¡¡¡¡ÈÃÎÒÃÇÒ»Æð´Óÿһ¸öÃüÁʼ£¬×ßÏòLinux¸ßÊÖ֮·°É¡£
¡¡¡¡1.Linux½øÈëÓëÍ˳öϵͳ
......