20.1 LinuxÄÚºËÒÆÖ²Òªµã
20.1 LinuxÄÚºËÒÆÖ²Òªµã
LinuxµÄ´úÂëÍêÈ«¿ª·ÅÒÔ¼°ÆäÁ¼ºÃµÄ½á¹¹Éè¼Æ·Ç³£ÊÊÓÚǶÈëʽϵͳ¡£ÒÆÖ²Linuxϵͳ°üÀ¨Äںˡ¢³ÌÐò¿âºÍÓ¦ÓóÌÐò£¬ÆäÖÐ×îÖ÷ÒªµÄ¾ÍÊÇÄÚºËÒÆÖ²¡£ÓÉÓÚLinuxÄں˵Ŀª·ÅÐÔ£¬³öÏÖÁËÐí¶àÕë¶ÔǶÈëʽӲ¼þϵͳµÄÄں˰汾£¬ÆäÖÐÖøÃûµÄ°üÀ¨μcLinux¡¢RT-LinuxµÈ¡£
Linux±¾Éí¶ÔÄÚ´æ¹ÜÀí£¨MMU£©ÓкܺõÄÖ§³Ö¡£Òò´Ë£¬ÔÚÒÆÖ²µÄʱºòÊ×ÏÈÒª¿¼Âǵ½Ä¿±êÓ²¼þƽ̨ÊÇ·ñÖ§³ÖMMU¡£ÒÔARMƽ̨ΪÀý£¬ARM7Äں˵ÄCPU²»Ö§³ÖMMU£¬ÎÞ·¨Ö±½Ó°ÑLinuxÄں˴úÂëÒÆÖ²µ½ARM7ºËµÄÓ²¼þƽ̨ÉÏ¡£μcLinuxÊÇרÃÅÕë¶ÔARM7ÕâÀàûÓÐMMUµÄÓ²¼þƽ̨ÉÏÉè¼ÆµÄ£¬Ëü¾«¼òÁËMMU²¿·Ö´úÂë¡£±¾ÊéµÄÄ¿±êƽ̨ÊÇS3C2440A£¬¸Ã´¦ÀíÆ÷»ùÓÚARM9ºË£¬Ö§³ÖMMU£¬¿ÉÒÔÖ±½ÓÒÆÖ²Linux 2.6°æ±¾µÄÄں˴úÂë¡£
Ò»¸öÓ²¼þƽ̨×îÖ÷ÒªµÄÊÇ´¦ÀíÆ÷£¬Òò´ËÔÚÒÆֲ֮ǰÐèÒªÁ˽âÄ¿±êƽ̨µÄ´¦ÀíÆ÷¡£ARM´¦ÀíÆ÷ÄÚ²¿²ÉÓÃ32λµÄ¾«¼òÖ¸Áî¼Ü¹¹£¨RISC£©£¬ºËÐĽṹÉè¼ÆÏà¶Ô¼òµ¥£¬ÓеͺĵçÁ¿µÄÓÅÊÆ£¬±»¹ã·ºÓ¦Óõ½¸÷ÖÖÁìÓò¡£ÏÂÃæ½éÉÜÒ»ÏÂÒÆÖ²LinuxÄں˶ÔÓ²¼þƽ̨ÐèÒª¿¼Âǵļ¸¸öÎÊÌâ¡£
1£®Ä¿±êƽ̨
Ä¿±êƽ̨°üÀ¨ÁËǶÈëʽ´¦ÀíÆ÷ºÍÖÜΧÆ÷¼þ£¬´¦ÀíÆ÷¿ÉÄÜÕûºÏÁËһЩÖÜΧÆ÷¼þ£¬ÈçÖжϿØÖÆÆ÷¡¢¶¨Ê±Æ÷¡¢×ÜÏß¿ØÖÆÆ÷µÈ¡£ÔÚÒÆֲ֮ǰÐèҪȷ¶¨±»ÒÆֲϵͳ¶ÔÍⲿÉ豸ºÍ×ÜÏßµÄÖ§³ÖÇé¿ö¡£±¾ÊéµÄARM¿ª·¢°å²ÉÓÃmini2440ƽ̨£¬ÔÚS3C2440AÍâΧÁ¬½ÓÁËÐí¶àÍâΧÉ豸£¬°üÀ¨NOR Flash´æ´¢Æ÷¡¢NAND Flash´æ´¢Æ÷¡¢ÍøÂç½Ó¿ÚоƬ¡¢USB¿ØÖÆÆ÷µÈ¡£ÔÚS3C2440A´¦ÀíÆ÷ÄÚ²¿¼¯³ÉÁËÐí¶à³£ÓõĿØÖÆÆ÷ÒÔ¼°Ç¶ÈëʽÁìÓò³£ÓõÄ×ÜÏß¿ØÖÆÆ÷¡£¶ÔÓÚÒÆÖ²LinuxÄÚºËÀ´Ëµ£¬²Ù×÷´¦ÀíÆ÷ÄÚ²¿µÄ¿ØÖÆÆ÷Òª±ÈÍⲿµÄÉ豸ÈÝÒ׵öࡣ
2£®ÄÚ´æ¹ÜÀíµ¥Ôª£¨MMU£©
Ç°ÃæÌáµ½¹ýMMU£¬¶ÔÓÚÏÖ´ú¼ÆËã»úÀ´Ëµ£¬MMU¸ºÔðÄÚ´æµØÖ·±£»¤¡¢ÐéÄâµØÖ·ºÍÎïÀíµØÖ·Ï໥ת»»¹¤×÷¡£ÔÚʹÓÃMMUµÄÓ²¼þƽ̨ÉÏ£¬²Ù×÷ϵͳͨ¹ýMMU¿ÉÒÔÏòÓ¦ÓóÌÐòÌṩ´óÓÚʵ¼ÊÎïÀíÄÚ´æµÄµØÖ·¿Õ¼ä£¬Ê¹Ó¦ÓóÌÐò»ñµÃ¸ü¸ßÐÔÄÜ¡£LinuxµÄÐéÄâÄÚ´æ¹ÜÀí¹¦ÄܾÍÊǽèÖúMMUʵÏֵġ£ÔÚÒÆÖ²µÄʱºòÒª¿¼ÂÇÄ¿±êƽ̨µÄMMU²Ù×÷»úÖÆ£¬Õⲿ·Ö´úÂëÊǽÏÄÑÀí½âµÄ£¬×îºÃÄÜÔÚÏàËÆ´úÂë»ù´¡ÉÏÐ޸ģ¬½µµÍ¿ª·¢ÄѶȡ£
3£®ÄÚ´æÓ³Éä
ǶÈëʽϵͳ´ó¶à¶¼Ã»ÓÐÅ䱸ӲÅÌ£¬Íⲿ´æ´¢Æ÷Ö»ÓÐFlash£¬²¢ÇÒϵͳÄÚ´æÒ²·Ç³£ÓÐÏÞ¡£ÄÚ´æ¿ØÖÆÆ÷£¨Memory Controller£©¸ºÔðÄÚ²¿ºÍÍⲿ´æ´¢Æ÷ÔÚ´¦ÀíÆ÷µØÖ·¿Õ¼äµÄÓ³É䣬ÓÉÓÚÓ²¼þÔ¤ÉèµÄµØÖ·²»Í¬µ¼ÖÂÿÖÖƽ̨ÄÚ´æÓ³ÉäµÄµØÖ·Ò²²»Í¬¡£ÔÚÒÆֲʱÐèÒª²Î¿¼Ó²¼þµÄÓû§ÊֲᣬµÃµ½ÄÚ´æµØÖ·µÄÓ³Éä·½·¨¡£
4£®´æ´¢Æ÷
ÓÉÓÚǶÈëʽϵͳ¶àÓÃFlash´æ´¢Æ÷×÷Ϊ´æ´¢×°Ö᣶
Ïà¹ØÎĵµ£º
£¨L2CAPÐÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPÐÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼Á¬½Ó¿ØÖƺÍÊÊÅäÐÒé (L2CAP) ΪÉϲãÐÒéÌṩÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àÐÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãÐÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......
Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖÐÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀÐÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......
¿ÉÒÔ²ÉÓÃsysVµÄshmget £« shmat ʵÏÖ¡£
µ«ÊÇÎÒ¸üϲ»¶shm_open + mmap ¸ü¼òµ¥¡£
#---------------------writer.c----------------------------
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
......
<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
-->
2009
Ä꣬¼´½«¹ýÈ¥¡£»Ø¹ËÍùÊ£¬ÓиС£
½ñÄêµÚËļ¾¶È£¬¸÷´ó
Linux
·¢Ðа棨ÓÈÆäÊÇ×ÀÃæ°æ£©Ïà¼Ì·¢²¼£¬°Ñ
Linux
×ÀÃæÍƽøµ½Ò»¸öеÄˮƽ£¬Õ¹ÏÖÁË
L ......