ǶÈëʽlinuxϵͳÓëÓ¦ÓÃ
Emebedded System and Application(Linux)
Goal
--
ÕÆÎÕǶÈëʽϵͳ¿ª·¢µÄÁ÷³Ì£¬ÏµÍ³ÒÆÖ²µÄ·½·¨£¬±àдBootloader
(Be familiar with the process of ES Developing
, System Migration
amd Bootloader Programming
)
Requriement
--
C¡¢C++¡¢Data Structure¡¢Operating System¡¢Linux¡¢Electronic circuit
Content
--
1
Linux ¿ìËÙÈëÃÅ
Linux ¸ÅÊö£» Linux·¢Ðа棻
Linux¿ª·¢»·¾³´î½¨£vmwareÐéÄâ»ú£»Linuxϵͳ°²×°
LinuxµÄ»ù´¡ÖªÊ¶£» LinuxÎļþϵͳºÍÎļþ£» ShellµÄʹÓã»
³£ÓõÄshellÃüÁLinuxµÄÈí¼þ°²×°£»
Linux ϵÄCÓïÑÔ±à³Ì»ù´¡£»LinuxÏÂVIMµÄʹÓã»
±àÒëÆ÷GCCµÄʹÓ㻵÷ÊÔÆ÷gdbµÄʹÓã»
Linux϶àÎļþ±àÒëÓëÏîÄ¿¹ÜÀí¹¤¾ßmakeµÄʹÓã»
2
CÓïÑÔ»ù´¡Ç¿»¯
CÓïÑÔÓï·¨
CÓïÑÔµÄÄÚ´æ²¼¾ÖÓë³£¼û¿âº¯Êý
3
Êý¾Ý½á¹¹»ù´¡Ç¿»¯
Á´±í¡¢¶ÓÁС¢Õ»¡¢Ê÷¡¢¹þÏ£±í
Êý¾ÝËÑË÷¡¢±éÀú¡¢ÅÅÐòÓë³£¼ûËã·¨
4
C++ÓïÑÔ»ù´¡Ç¿»¯
ÃæÏò¶ÔÏóµÄ±à³Ì·½·¨ À༰¶ÔÏóµÄ·â×° ÀàµÄ¼Ì³ÐÓëÅÉÉú
Ð麯ÊýÓë¶à̬ÐÔ ¹¹Ô캯ÊýÓëÐé¹¹º¯Êý Ä£°å Òì³£´¦Àí
5
ARMÓ²¼þ½Ó¿Ú
ǶÈëʽ΢´¦ÀíÆ÷ ARM¼Ä´æÆ÷ ARM¹¤×÷ģʽ
ARMÒì³£ÖÐ¶Ï ARM»ã±àÖ¸Áî·ÖÀà ARM»ã±àÖ¸ÁîÑ°Ö··½Ê½
ARM»ã±à³ÌÐòÉè¼Æ C¼°»ã±àÓïÑÔ»ìºÏ±à³Ì
ʵÑ飺
»ù±¾ARM»ã±àÖ¸Áî±à³Ì£»Êý¾Ý·ÃÎÊÁ·Ï°£»
ARM»ã±àºÍC»ìºÏ±à³Ì£»ARMÖ¸ÁîºÍTHUMBÖ¸Áî»ìºÏ±à³Ì
MDK¿ª·¢»·¾³Ê¹Óà U-Linuk·ÂÕæÆ÷ʹÓÃ
ARM¿ª·¢µ÷ÊÔ»·¾³½¨Á¢ ARM GPIOÓ¦ÓÃ
ARM´æ´¢Æ÷¿ØÖÆÆ÷ ARMÖжϿØÖÆÆ÷£¨IRQºÍFIQ£©
ʵÑ飺
ARM»ã±àÓïÑÔÓëCÓïÑÔʵÏÖÅÜÂíµÆ£»
IRQÓëFIQÖжÏÁ÷³Ì·ÖÎö
ARMʱÖÓ¼°¶¨Ê±Æ÷£»TFT LCDÇý¶¯³ÌÐòÉè¼Æ
ʵÑ飺
¿´ÃŹ·¶¨Ê±Æ÷Ó¦Óã»LCDÏÔʾÇúÏß¼°Í¼Æ¬£»
LCDºº×ÖÏÔʾʵÑ飻
ADC¿ØÖÆÆ÷Ó¦Óã»´¥ÃþÆÁÓ¦Óü°Ð£×¼
ʵÑ飺
ADCÓ¦ÓÃʵÑ飻´¥ÃþÆÁʵÏÖʵÑé
PWMʱÖÓÓ¦Óã»ÊµÊ±Ê±ÖÓ¼°ÄÖÖÓÓ¦ÓÃ
ʵÑ飺
·äÃùÆ÷¿ØÖÆ£»ÊµÊ±Ê±ÖÓ¼°ÄÖÖÓÓ¦Óã»
ARM¹¤×÷ģʽת»»£»ARMÆô¶¯´úÂëÉè¼Æ
NOR FlashÓ¦ÓÃÉè¼Æ£»NAND FlashÓ¦ÓÃÉè¼Æ
IIC×ÜÏß¿ØÖÆÆ÷
ʵÑ飺
NOR Flash±à³Ì£»NAND Flash±à³Ì£»
6
½»²æ¿ª·¢»·¾³´î½¨
ǶÈëʽϵͳ¶¨Ò壻Linux½»²æ¿ª·¢»·¾³½éÉÜ£»
GNU½»²æ¹¤¾ßÁ´µÄʹÓã»ËÞÖ÷»úÓëPC»ú¼äµÄͨÐÅ£»
´®¿ÚͨÐÅ£»½»²æµ÷ÊÔ£»
ʵÑ飺
MinicomÅäÖÃʹÓã¬Windows³¬¼¶ÖÕ¶ËÅäÖÃʵÑ飻
NFS¹²ÏíÉèÖÃʵÑé
7
LinuxÏÂCÓïÑÔ¿ª·¢
ÎļþI/O²Ù×÷±à³Ì£»
Ïà¹ØÎĵµ£º
Linux»·¾³½ø³Ì¼äͨÐÅ£¨ËÄ£©
ÐźŵÆ
ÎĵµÑ¡Ïî
<tr
valign="top"><td width="8"><img alt="" height="1" width="8"
src="//www.ibm.com/i/c.gif"/></td><td width="16"><img alt="" width="1 ......
ÔÎÄÍøÖ·£ºhttp://www.ibm.com/developerworks/cn/linux/l-rcu/
±¾ÎÄÏêϸµØ½éÉÜÁË Linux 2.6 ÄÚºËÖÐеÄËø»úÖÆ RCU(Read-Copy Update) µÄʵÏÖ»úÖÆ£¬Ê¹ÓÃÒªÇóÓëµäÐÍÓ¦Óá£
Ò»¡¢ ÒýÑÔ
ÖÚËùÖÜÖª£¬ÎªÁ˱£»¤¹²ÏíÊý¾Ý,ÐèҪһЩͬ²½»úÖÆ,Èç×ÔÐýËø(spinlock)£¬¶ÁдËø(rwlock)£¬ËüÃÇʹÓÃÆðÀ´·Ç³£¼òµ¥,¶øÇÒÊÇÒ»ÖÖºÜÓÐЧµÄͬ²½»úÖ ......
Éî¿ÌÀí½âLinux½ø³Ì¼äͨÐÅ£¨IPC£©
ÎĵµÑ¡Ïî
<tr
valign="top"><td width="8"><img alt="" height="1" width="8"
src="//www.ibm.com/i/c.gif"/></td><td width="16"><img alt="" width="16&q ......
ÔÚlinuxÏÂÈçºÎ°ÑÒ»¸ölvmµÄÎļþϵͳ/home¼õµ½1G¡£±ÈaixÏÂÂé·³£¬aixÏÂÖ±½Ó°ÑÎļþϵͳËõµ½Ä³¸öÖµ£¬¶ÔÓ¦µÄlv×Ô¶¯¾Í¼õÉÙÁË£¬²»ÏñlinuxÒªÏÈËõСÎļþϵͳ£¬ÔÙËõСlv¡£
suse1:~ # df -m
Filesystem 1M-blocks Used Available Use% Mounted on
/dev/mapper/system-root
5040 299 ......