LinuxµÄÖ¡»º³å£¨Frame Buffer£©É豸
Ö¡»º³å£¨framebuffer£©ÊÇ Linux ΪÏÔʾÉ豸ÌṩµÄÒ»¸ö½Ó¿Ú£¬°ÑÏÔ´æ³éÏóºóµÄÒ»ÖÖÉ豸£¬ËûÔÊÐíÉϲãÓ¦ÓóÌÐòÔÚͼÐÎģʽÏÂÖ±½Ó¶ÔÏÔʾ»º³åÇø½øÐжÁд²Ù×÷¡£ÕâÖÖ²Ù×÷ÊdzéÏóµÄ£¬Í³Ò»µÄ¡£Óû§²»±Ø¹ØÐÄÎïÀíÏÔ´æµÄλÖᢻ»Ò³»úÖÆµÈµÈ¾ßÌåϸ½Ú¡£ÕâЩ¶¼ÊÇÓÉFramebuffer É豸Çý¶¯À´Íê³ÉµÄ¡£
Ö¡»º³åÉ豸¶ÔÓ¦µÄÉ豸ÎļþΪ/dev/fb*£¬Èç¹ûϵͳÓжà¸öÏÔʾ¿¨£¬Linux Ï»¹¿ÉÖ§³Ö¶à¸öÖ¡»º³åÉ豸£¬×î¶à¿É´ï 32 ¸ö£¬·Ö±ðΪ/dev/fb0 µ½/dev/fb31£¬¶ø/dev/fb ÔòΪµ±Ç°È±Ê¡µÄÖ¡»º³åÉ豸£¬Í¨³£Ö¸Ïò/dev/fb0¡£µ±È»ÔÚǶÈëʽϵͳÖÐÖ§³ÖÒ»¸öÏÔʾÉ豸¾Í¹»ÁË¡£Ö¡»º³åÉ豸Ϊ±ê×¼×Ö·ûÉ豸£¬Ö÷É豸ºÅΪ29£¬´ÎÉ豸ºÅÔò´Ó0µ½31¡£·Ö±ð¶ÔÓ¦/dev/fb0-/dev/fb31¡£
ͨ¹ý/dev/fb£¬Ó¦ÓóÌÐòµÄ²Ù×÷Ö÷ÒªÓÐÕ⼸ÖÖ£º
1£®¶Á/д£¨read/write£©/dev/fb£ºÏ൱ÓÚ¶Á/дÆÁÄ»»º³åÇø¡£ÀýÈçÓà cp /dev/fb0 tmp ÃüÁî¿É½«µ±Ç°ÆÁÄ»µÄÄÚÈÝ¿½±´µ½Ò»¸öÎļþÖУ¬¶øÃüÁî cp tmp > /dev/fb0 Ôò½«Í¼ÐÎÎļþtmpÏÔʾÔÚÆÁÄ»ÉÏ¡£
2£®Ó³É䣨map£©²Ù×÷£ºÓÉÓÚ Linux ¹¤×÷ÔÚ±£»¤Ä£Ê½£¬Ã¿¸öÓ¦ÓóÌÐò¶¼ÓÐ×Ô¼ºµÄÐéÄâµØÖ·¿Õ¼ä£¬ÔÚÓ¦ÓóÌÐòÖÐÊDz»ÄÜÖ±½Ó·ÃÎÊÎïÀí»º³åÇøµØÖ·µÄ¡£Îª´Ë£¬Linux ÔÚÎļþ²Ù×÷ file_operations ½á¹¹ÖÐÌṩÁË mmap º¯Êý£¬¿É½«ÎļþµÄÄÚÈÝÓ³Éäµ½Óû§¿Õ¼ä¡£¶ÔÓÚÖ¡»º³åÉ豸£¬Ôò¿Éͨ¹ýÓ³Éä²Ù×÷£¬¿É½«ÆÁÄ»»º³åÇøµÄÎïÀíµØÖ·Ó³Éäµ½Óû§¿Õ¼äµÄÒ»¶ÎÐéÄâµØÖ·ÖУ¬Ö®ºóÓû§¾Í¿ÉÒÔͨ¹ý¶ÁдÕâ¶ÎÐéÄâµØÖ··ÃÎÊÆÁÄ»»º³åÇø£¬ÔÚÆÁÄ»ÉÏ»æÍ¼ÁË¡£
3£®I/O¿ØÖÆ£º¶ÔÓÚÖ¡»º³åÉ豸£¬¶ÔÉ豸ÎļþµÄ ioctl²Ù×÷¿É¶ÁÈ¡/ÉèÖÃÏÔʾÉ豸¼°ÆÁÄ»µÄ²ÎÊý£¬Èç·Ö±æÂÊ£¬ÏÔʾÑÕÉ«Êý£¬ÆÁÄ»´óСµÈµÈ¡£ioctl µÄ²Ù×÷ÊÇÓɵײãµÄÇý¶¯³ÌÐòÀ´Íê³ÉµÄ¡£
µäÐͳÌÐò¶ÎÈçÏ£º
#include <linux/fb.h>
int main()
{
int fbfd = 0;
struct fb_var_screeninfo vinfo;
struct fb_fix_screeninfo finfo;
long int screensize = 0;
fbfd = open("/dev/fb0", O_RDWR); /*´ò¿ªÉ豸Îļþ*/
ioctl(fbfd, FBIOGET_FSCREENINFO, &finfo); /*È¡µÃÆÁÄ»Ïà¹Ø²ÎÊý*/
ioctl(fbfd, FBIOGET_VSCREENINF
Ïà¹ØÎĵµ£º
£¨L2CAPÐÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPÐÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼Á¬½Ó¿ØÖƺÍÊÊÅäÐÒé (L2CAP) ΪÉϲãÐÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àÐÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãÐÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......
Ò»£ºÇ°ÑÔ
×î½üÔÚÑо¿androidµÄsensor driver£¬Ö÷ÒªÊÇE-compass£¬ÆäÖÐÓõ½ÁËLinux input×Óϵͳ.ÔÚÍøÉÏÒ²¿´Á˺ܶàÕâ·½ÃæµÄ×ÊÁÏ£¬¸Ð¾õ»¹ÊÇÕâÆª·ÖÎöµÄ±È½ÏϸÖÂ͸³¹£¬Òò´Ë×ªÔØÒ»ÏÂÒÔ±ã×Ô¼ºÑ§Ï°£¬Í¬Ê±ºÍ´ó¼Ò·ÖÏí£¡
£¨ÕâÆª²©¿ÍÖ÷ÒªÊÇÒÔ¼üÅÌÇý¶¯ÎªÀýµÄ£¬²»¹ý½²½âµÄÊÇLinux Input Subsystem£¬¿ÉÒÔ×ÐϸµÄÑо¿Ò»Ï£¡£©
¼üÅÌÇý¶¯½«¼ì ......
<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
-->
ÔÚÎÒÃǹúÄÚ£¬²»ÉÙ
Linux
µÄÏÈÐÐÕß¶¼ÒÔʧ°Ü¶ø¸æÖÕ£¬ÏÖÔÚ£¬ËûÃÇÔÚÄÄÀÔõô²»³öÀ´Ëµ»°ÁË£¿µ«ÊÇ£¬ÕâЩÏÈÐÐÕßÏë¸æËßÎÒÃÇÊ²Ã´ÄØ£¿ÄãÏëÖªµÀÂð£¿
¸ã ......
1. ´ò¿ª´®¿Ú
ÓëÆäËûµÄ¹ØÓÚÉ豸±à³ÌµÄ·½·¨Ò»Ñù£¬ÔÚLinuxÏ£¬²Ù×÷¡¢¿ØÖÆ´®¿ÚÒ²ÊÇͨ¹ý²Ù×÷ÆðÉ豸Îļþ½øÐеġ£ÔÚLinuxÏ£¬´®¿ÚµÄÉ豸ÎļþÊÇ/dev/ttyS0»ò/dev/ttyS1µÈ¡£Òò´ËÒª¶Áд´®¿Ú£¬ÎÒÃÇÊ×ÏÈÒª´ò¿ª´®¿Ú£º
......
Èç¹ûÔ¤ÏÈ×°µÄVMware LinuxÐéÄâ»úµÄÓ²Å̿ռä¹ýС,ÖØÐÂ×°Ò»¸öÓÖͦÂé·³¡£ËÑË÷ÍøÉϵķ½·¨,¼ò½éÈçÏÂ:
Ò»£ºÓ²ÅÌÀ©Èݵķ½·¨£º
1¡¢vmwareÌṩһ¸öÃüÁîÐй¤¾ß£¬vmware-vdiskmanager.exe£¬Î»ÓÚvmwareµÄ°²×°Ä¿Â¼Ï£¬±ÈÈç
C:\Program Files\VMware\VMware Workstation\vmware-vdiskmanager.exe.
ÔÚwindowsµÄcmd´°¿ÚÖУ¬×ªµ½vm ......