1.åµå
¥å¼linuxè¦å¦åªäº
åµå ¥å¼linuxè¦å¦åªäº
æ¨å¥½ï¼å ³äºè¯¥é®é¢ï¼è§£çå¦ä¸ï¼
åµå ¥å¼linuxè¦å¦ä»ä¹ï¼
1.Linux åºç¡
ããå®è£ Linuxæä½ç³»ç» Linuxæä»¶ç³»ç» Linux常ç¨å½ä»¤ Linuxå¯å¨è¿ç¨è¯¦è§£ çæLinuxæå¡è½å¤ç¬ç«å®è£ Linuxæä½ç³»ç» è½å¤çç»ä½¿ç¨Linuxç³»ç»çåºæ¬å½ä»¤ 认è¯Linuxç³»ç»ç常ç¨æå¡å®è£ Linuxæä½ç³»ç» Linuxåºæ¬å½ä»¤å®è·µ 设置Linuxç¯å¢åé å®å¶Linuxçæå¡ Shell ç¼ç¨åºç¡ä½¿ç¨viç¼è¾æ件 使ç¨Emacsç¼è¾æ件 使ç¨å ¶ä»ç¼è¾å¨
ãã2.Linux ä¸ç C ç¼ç¨åºç¡
ããlinux Cè¯è¨ç¯å¢æ¦è¿° Gcc使ç¨æ¹æ³ Gdbè°è¯ææ¯ Autoconf Automake Makefile 代ç ä¼å çæLinuxç³»ç»ä¸çå¼åç¯å¢ çæGccç¼è¯å¨ çæMakefileè§åç¼åHello,源译要我溯源码Worldç¨åº ä½¿ç¨ makeå½ä»¤ç¼è¯ç¨åº ç¼å带æä¸ä¸ªå¾ªç¯çç¨åº è°è¯ä¸ä¸ªæé®é¢çç¨åº
ãã3.Shell ç¼ç¨åºç¡
ããShell ç®ä» 认è¯åå°ç¨åºBashç¼ç¨çæLinuxç³»ç»ä¸çç¼è¾ç¯å¢ çæLinuxä¸çåç§Shell çç»è¿è¡shellç¼ç¨çæviåºæ¬æä½ çæEmacsçåºæ¬æä½ æ¯è¾ä¸åshellçåºå« ç¼åä¸ä¸ªæµè¯æå¡å¨æ¯å¦è¿éçshellèæ¬ç¨åº ç¼åä¸ä¸ªæ¥çè¿ç¨æ¯å¦åå¨çshellèæ¬ç¨åº ç¼åä¸ä¸ªå¸¦æ循ç¯è¯å¥çshellèæ¬ç¨åº
ãã4.åµå ¥å¼ç³»ç»å¼ååºç¡
ããåµå ¥å¼ç³»ç»æ¦è¿° 交åç¼è¯ é ç½®TFTPæå¡ é ç½®NFSæå¡ ä¸è½½Bootloaderåå æ ¸ åµå ¥å¼Linuxåºç¨è½¯ä»¶å¼åæµç¨çæåµå ¥å¼ç³»ç»æ¦å¿µä»¥åå¼åæµç¨ 建ç«åµå ¥å¼ç³»ç»å¼åç¯å¢å¶ä½cross_gccå·¥å ·é¾ ç¼è¯å¹¶ä¸è½½U-boot ç¼è¯å¹¶ä¸è½½Linuxå æ ¸ ç¼è¯å¹¶ä¸è½½Linuxåºç¨ç¨åº
ãã5.åµå ¥å¼ç³»ç»ç§»æ¤
ããLinuxå æ ¸ä»£ç å¹³å°ç¸å ³ä»£ç åæ ARMå¹³å°ä»ç» å¹³å°ç§»æ¤çå ³é®ææ¯ ç§»æ¤Linuxå æ ¸å° ARMå¹³å° äºè§£ç§»æ¤çæ¦å¿µ è½å¤ç§»æ¤Linuxå æ ¸ç§»æ¤Linux2.6å æ ¸å° ARM9å¼åæ¿
ãã6.åµå ¥å¼Linuxä¸ä¸²å£éä¿¡
ãã串è¡I/Oçåºæ¬æ¦å¿µ åµå ¥å¼Linuxåºç¨è½¯ä»¶å¼åæµç¨ Linuxç³»ç»çæ件åè®¾å¤ ä¸æ件ç¸å ³çç³»ç»è°ç¨ é ç½®è¶ çº§ç»ç«¯åMiniCOM è½å¤çæè¿è¡ä¸²å£éä¿¡ çææ件I/O ç¼å串å£éä¿¡ç¨åº ç¼åå¤ä¸²å£éä¿¡ç¨åº
ãã7.åµå ¥å¼ç³»ç»ä¸å¤è¿ç¨ç¨åºè®¾è®¡
ããLinuxç³»ç»è¿ç¨æ¦è¿° åµå ¥å¼ç³»ç»çè¿ç¨ç¹ç¹ è¿ç¨æä½ å®æ¤è¿ç¨ ç¸å ³çç³»ç»è°ç¨äºè§£Linuxç³»ç»ä¸è¿ç¨çæ¦å¿µ è½å¤ç¼åå¤è¿ç¨ç¨åºç¼åå¤è¿ç¨ç¨åº ç¼åä¸ä¸ªå®æ¤è¿ç¨ç¨åº sleepç³»ç»è°ç¨ä»»å¡ç®¡çãåæ¥ä¸éä¿¡ Linuxä»»å¡æ¦è¿°ä»»å¡è°åº¦ 管é ä¿¡å· å ±äº«å å ä»»å¡ç®¡ç API äºè§£Linuxç³»ç»ä»»å¡ç®¡çæºå¶ çæè¿ç¨é´éä¿¡çå ç§æ¹å¼ çæåµå ¥å¼Linuxä¸çä»»å¡é´åæ¥ä¸éä¿¡ç¼åä¸ä¸ªç®åç管éç¨åºå®ç°æä»¶ä¼ è¾ ç¼åä¸ä¸ªä½¿ç¨å ±äº«å åçç¨åº
ãã8.åµå ¥å¼ç³»ç»ä¸å¤çº¿ç¨ç¨åºè®¾è®¡
ãã线ç¨çåºç¡ç¥è¯ å¤çº¿ç¨ç¼ç¨æ¹æ³ 线ç¨åºç¨ä¸çåæ¥é®é¢äºè§£çº¿ç¨çæ¦å¿µ è½å¤ç¼åç®åçå¤çº¿ç¨ç¨åºç¼åä¸ä¸ªå¤çº¿ç¨ç¨åº
ãã9.åµå ¥å¼ Linux ç½ç»ç¼ç¨
ããç½ç»åºç¡ç¥è¯ åµå ¥å¼Linuxä¸TCP/IPç½ç»ç»æ socket ç¼ç¨ å¸¸ç¨ APIå½æ° åæPingå½ä»¤çå®ç° åºæ¬UDPå¥æ¥å£ç¼ç¨ 许å¯è¯ç®¡ç PPPåè®® GPRS äºè§£åµå ¥å¼Linuxç½ç»ä½ç³»ç»æ è½å¤è¿è¡åµå ¥å¼Linuxç¯å¢ä¸çsocket ç¼ç¨ çæUDPåè®®ãPPPåè®® çæGPRS 使ç¨socket ç¼å代çæå¡å¨ 使ç¨socket ç¼åè·¯ç±å¨ ç¼å许å¯è¯æå¡å¨ æåºTCPåUDPçä¼ç¼ºç¹ ç¼åä¸ä¸ªwebæå¡å¨ ç¼åä¸ä¸ªè¿è¡å¨ ARMå¹³å°çç½ç»ææ¾å¨
ãã.Linux å符设å¤é©±å¨ç¨åº
ãã设å¤é©±å¨ç¨åºåºç¡ç¥è¯ Linuxç³»ç»ç模å å符设å¤é©±å¨åæ fs_operationç»æ å 载驱å¨ç¨åºäºè§£è®¾å¤é©±å¨ç¨åºçæ¦å¿µ äºè§£Linuxå符设å¤é©±å¨ç¨åºç»æ è½å¤ç¼åå符设å¤é©±å¨ç¨åºç¼åSkullé©±å¨ ç¼åé®çé©±å¨ ç¼åI/Oé©±å¨ åæä¸ä¸ªçé¨ç驱å¨ç¨åº 对æ¯Linux2.6å æ ¸ä¸2.4å æ ¸ä¸å符设å¤é©±å¨çä¸åLinux å设å¤é©±å¨ç¨åºå设å¤é©±å¨ç¨åºå·¥ä½åç å ¸åçå设å¤é©±å¨ç¨åºåæ å设å¤ç读å请æ±éåäºè§£Linuxå设å¤é©±å¨ç¨åºç»æ è½å¤ç¼åç®åçå设å¤é©±å¨ç¨åºæ¯è¾å符设å¤ä¸å设å¤çå¼å ç¼åMMCå¡é©±å¨ç¨åº åæä¸ä¸ªæä»¶ç³»ç» å¯¹æ¯Linux2.6å æ ¸ä¸2.4å æ ¸ä¸å设å¤é©±å¨çä¸å
ãã.GUI ç¨åºå¼å
ããGUIåºç¡ åµå ¥å¼ç³»ç»GUIç±»å ç¼è¯QT è¿è¡QTå¼åçæåµå ¥å¼ç³»ç»å¸¸ç¨çGUI è½å¤è¿è¡QTç¼ç¨ä½¿ç¨QTç¼åâHelloï¼Worldâç¨åº è°è¯ä¸ä¸ªå å ¥ä¿¡å·/槽çå®ä¾ éè¿éè½½QWidget ç±»æ¹æ³å¤çäºä»¶
ãã.æ件系ç»
ããèææ件系ç»æ件系ç»çå»ºç« ramfså åæä»¶ç³»ç» procæä»¶ç³»ç» devfs æä»¶ç³»ç» MTDææ¯ç®ä» MTDå设å¤åå§å MTDå设å¤ç读åæä½äºè§£Linuxç³»ç»çæ件系ç»äºè§£åµå ¥å¼Linuxçæ件系ç»äºè§£MTDææ¯ è½å¤ç¼åç®åçæ件系ç»ä¸º ARM9å¼åæ¿æ·»å MTDæ¯æ移æ¤JFFS2æä»¶ç³»ç» éè¿procæ件系ç»ä¿®æ¹æä½ç³»ç»åæ° åæromfs æ件系ç»æºä»£ç å建ä¸ä¸ªcramfs æ件系ç»
ââå¦æ帮å©ï¼è¯·é纳ä¸ä¸ã