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.2 °²×°LinuxÖÁÓ²ÅÌ
×¼±¸¹¤×÷Íê³ÉÖ®ºó£¬¾Í¿ÉÒÔ×ÅÊÖ½«Linux°²×°µ½Ó²ÅÌÖÐÁË¡£Èç½ñLinuxµÄ°²×°¹ý³ÌÒѾ·Ç³£“ɵ¹Ï”»¯£¬Ö»ÐèÒªÇáµã¼¸ÏÂÊó±ê£¬¾ÍÄܹ»Íê³ÉÕû¸öϵͳµÄ°²×°¡£¾¡¹ÜÈç´Ë£¬ÕâÀïÈÔÈ»ÏêϸµØ¸ø³ö°²×°¹ý³ÌµÄÿһ²½¡£Í¬Ê±£¬¶ÔÓÚºÍWindows´æÔÚÏÔÖøÇø±ðµÄµØ·½£¬ÈçÓ²ÅÌ·ÖÇøµÄ×éÖ¯·½Ê½£¬±¾½Ú½«×öÏêϸµÄÌÖÂÛ¡£ ......
°üÀ¨ÎÒ×Ô¼ºÔÚÄÚ£¬ºÜ¶àÈ˶ÔÄںˣ¬½ø³Ì£¬Ïß³Ìͬ²½¶¼²»ÊǺÜÇå³þ£¬ÏÂÃæÉÔ΢×ܽáһϣº
ÄÚºËͬ²½£º
Ö÷ÒªÊÇ·ÀÖ¹¶àºË´¦ÀíÆ÷ͬʱ·ÃÎÊÐÞ¸Äij¶Î´úÂ룬»òÕßÔÚ¶ÔÉ豸Çý¶¯³ÌÐò½øÐÐÁÙ½çÇø±£»¤¡£Ö÷ÒªÓÐһϼ¸ÖÖ·½Ê½£º
1. Mutex£¨»¥³â£©
Í·Îļþ£º
#include <linux/mutex.h>
³õʼ»¯·½·¨£º
DEFINE_MUTEX(name);»òÕß ......
Ë׳Ɠ½Å±¾Ð¡¹í”µÄ¼Ò»ïÊÇÊôÓÚÄÇÖÖºÜÔã¸âµÄºÚ¿Í£¬ÒòΪ»ù±¾ÉÏËûÃÇÖеÄÐí¶àºÍ´ó¶àÊýÈ˶¼ÊÇÈç´ËµÄûÓм¼ÇÉ¡£¿ÉÒÔÕâÑù˵£¬Èç¹ûÄã°²×°ÁËËùÓÐÕýÈ·µÄ²¹¶¡£¬ÓµÓо¹ý²âÊԵķÀ»ðǽ£¬²¢ÇÒÔÚ¶à¸ö¼¶±ð¶¼¼¤»îÁËÏȽøµÄÈëÇÖ¼ì²âϵͳ£¬ÄÇôֻÓÐÔÚÒ»ÖÖÇé¿öÏÂÄã²Å»á±»ºÚ£¬ÄǾÍÊÇ£¬ÄãÌ«ÀÁÁËÒÔÖÁûȥ×ö¸Ã×öµÄÊÂÇ飬ÀýÈ磬°²×°BINDµÄ ......
1.ÊÖÍ·ÓÐÒ»±¾ºÃµÄÈëÃŽ̲Ä
ÂòÄÇЩһ¿ªÊ¼¾Í´Óϵͳ»ù±¾»ú¹¹»ù±¾ÃüÁʼ½²½âµÄÊé¼®£¬Ò»¿ªÊ¼ÄãҪѡ¶¨Ò»±¾ÈëÃŽ̲Ä,µ«ÊDz»ÄÜÖ»¿´Ò»±¾,ÒòΪÓÐЩÊéÉϽ²µÄ,¿ÉÄÜÊÇÁíÍâµÄÊéÉÏûÓеÄ.Òò´Ë,ÖØµãѡһ±¾½Ì²Ä¿´Íê.È»ºóÔÙ¿´Á½Èý±¾ÈëÃŽ̲Ää¯ÀÀÒ»ÏÂ.×÷Ϊ¶ÔµÚÒ»±¾ÊéµÄ֪ʶµÄÀ©³äºÍ¹®¹Ì¡£
2.¿´Íêϵͳ×Ô´øµÄÎĵµ
¾ø´ ......
ÕæÕý½Ó´¥linuxµ½ÏÖÔÚ½«½ü1ÄêÁË£¬ÓÉ×î³õµÄÃÅÍ⺺£¬µ½ÏÖÔڱȽϵÃÐÄÓ¦ÊÖµÄʹÓÃlinux£¬Íê³É¼¸ºõËùÓй¤×÷£¬°üÀ¨³ÌÐò¿ª·¢¡¢±¾µØÏµÍ³Î¬»¤¡¢½»Á÷¡¢ÓéÀֵȹ¦ÄÜ£¬ËãÊÇÊÕ»ñÆÄ·áÁË¡£
×ܽáÁËÒ»ÏÂ×Ô¼ºÓÃÆðÀ´¸Ð¾õ²»´íµÄlinux¹¤¾ß£º(²»·Ö˳Ðò£¬linux·¢ÐаæÓõÄÊÇfedora 10)
1. ±à¼Æ÷: vim (Ààuinxƽ̨ÉϹ«ÈÏ×î¾µäµÄ£¬Ã»»°Ëµ)
2. ³ÌÐò¿ª ......