1.ç®è¿°åµå
¥å¼ç³»ç»
2.åµå
¥å¼linuxå¼å
3.linuxc++串å£clinux串å£
ç®è¿°åµå ¥å¼ç³»ç»
1.1åµå ¥å¼Linuxç³»ç»ç¡¬ä»¶ç¯å¢å¾4.1å¼åç¯å¢ç¡¬ä»¶è¿æ¥
é常åºäºåµå ¥å¼linuxç³»ç»çå¼åç¯å¢ä¸è¬ç±ç®æ æºãå¼åæ¿ã交åç¼è¯å·¥å ·é¾ãè¿ç¨è°è¯å·¥å ·åä¸è½½æºå¶ç»æãæ¬è¯¾é¢çå·¥ä½æ¯å¨è£ ælinuxæä½ç³»ç»ï¼RedHat9.0ï¼çç®æ æºååºäºS3Caçç®æ æ¿ä¸è¿è¡çã
设置串è¡æ¥å£
串è¡æ¥å£ä¸»è¦æ¯ç¨æ¥ç®æ æ¿åéå½ä»¤å¹¶çæµç®æ æ¿å¨ç¨åºè¿è¡è¿ç¨ä¸çè¾åºä¿¡æ¯ã
è¦è®²å¼åæ¿COM1å£ä¸PCæºçCOMå£åå«ç¨ä¸²å£çº¿è¿æ¥å¥½ï¼èå¨ä¸»æºç«¯ï¼ç¨minicomä¸armsysç¨ä¸²å£çº¿è¿æ¥å¥½åè¿è¡é讯ã
é¦å ï¼è®¾ç½®minicomãç¨é®çå¨å½ä»¤è¡è¾å ¥minicomï¼è¾å ¥åéå®Serialportsetupç¶åæ设置å¥Aå¥è®¾ç½®SerialDevice,查看邮件 源码æ¥çè¾å ¥PCä¸æ¥å ¥ç串è¡æ¥å£å·ï¼å¦æè¿ä¸ªç³»ç»ä¸ä¸²å£1ç¸æ¥ï¼ç¸åºåå ¥/dev/ttyS0ãæ¥çéè¦è®¾ç½®ä¼ è¾éçï¼æ们éè¦è®¾ç½®çä¼ è¾éç为ï¼æä¸Eé®ï¼è®¾ç½®æ³¢ç¹ç为ï¼è®¾ç½®å®æåï¼æ²¡æå¥å¶æ ¡éªï¼æ²¡æ软件æ§å¶æµå硬件æ§å¶æµã设置å®æåï¼éæ©ä¸ºé»è®¤è®¾ç½®å¹¶ä¿åéåºã
设置å®æå讲å¼åæ¿å¤ä½ï¼è¿æ¶ç³»ç»å°±ä¼æ¾ç¤ºç³»ç»å¯å¨æå°çä¿¡æ¯ã
1.2åµå ¥å¼linuxç³»ç»è½¯ä»¶ç¯å¢
ç¬è çç 究æ¹å主è¦çéç¹å¨äºåµå ¥å¼linuxç³»ç»ç软件å¼åå±é¢ãåµå ¥å¼linuxç³»ç»å¯ä»¥å¼åçä¸å±è½¯ä»¶å¤ç§å¤æ ·ï¼å¦æä»ä»è½¯ä»¶åæçè§åº¦æ¥ç大è´å¯ä»¥å为å个å±æ¬¡ï¼
ä¸ãæä½ç³»ç»çå¼å¯¼ãæä½ç³»ç»ä¸è¦æå¼å ¥å è½½ç¨åºï¼ä¸»è¦å æ¬åºä»¶ï¼firmwareï¼åBootloader(å¼å¯¼å è½½ç¨åº)两é¨åã
äºãç³»ç»ç管æ§å æ ¸ã为äºæ´å¥½çåé ç³»ç»èµæºï¼å¿ é¡»è¦å¯¹ç¹å®ç硬件平å°åå®é åºç¨ç§»æ¤æä½ç³»ç»linuxï¼è¿æ¯è¿ç¨ç®¡ççä¸ä¸ªéè¦çé¨åï¼è¿é主è¦å å«äºå®å¶å æ ¸ä»¥åæ§å¶å æ ¸å¼å¯¼ç³»ç»çåæ°ã
ä¸ãç³»ç»æ件çå¼å¯¼å»ºç«ãæ件ç建ç«æ¯ææ件åå¨çç©ç空é´ï¼linxuç³»ç»ä¸æ¯ä¸ä¸ªååºé½æ¯ä¸ä¸ªæ件系ç»ï¼é½å å«èªå·±çç®å½å±æ¬¡ç»æï¼è¿å ¶ä¸ä¹å æ¬æ ¹æ件系ç»ï¼RamDiskï¼å建ç«äºFlashä¹ä¸çæ件系ç»ãä¸ä¸ªç³»ç»çæä½ç¦»ä¸å¼æçæä½ï¼å æ¤è¦æèä¸è¦ç»´æ¤èªå·±çæ件系ç»ã
åã软件ä¸çç¨åºç¨æ·ãç»è¿å¤å¹´ç积累åå¼åï¼å¨èªç±è½¯ä»¶ä¸ä¸æåªåç人们为å¼æ¾æºç é¢åè´¡ç®äºè®¸å¤ä¼ç§ç软件ãé对客æ·çä¸åéæ±ï¼ä¸ºå®¢æ·é身æé ï¼çè³å¯ä»¥å å ¥å¾å½¢çé¢ï¼å¯ä»¥æ´æ¹ä¾¿ç¨æ·ç使ç¨ãä½æ¯åµå ¥å¼linuxç³»ç»ä¸ç®¡å¦ä½æ建ï¼é½ç¦»ä¸å¼ä»¥ä¸å ç¹ï¼
1ï¼å¨åµå ¥çç®æ æºè£ ä¸äº¤åç¼è¯å·¥å ·ã
2ï¼Bootloaderæ¯ä¾èµäºå¼åæ¿ç¡¬ä»¶èå®ç°ç¼åçã
3ï¼æ ¹æ®å®¢æ·éæ±ç¼è¯åµå ¥å¼Linuxå æ ¸åè£åªåä½ã
4ï¼æ ¹æ®å®¢æ·éè¦åç³»ç»è¿è¡çéè¦æ¥ç¼å设å¤é©±å¨ç¨åºååµå ¥å¼linuxåºç¨ç¨åºã
5ï¼æåä¹æ¯æéè¦çä¸ä¸ªé¨åæ建系ç»æ件çç®å½ã
åµå ¥å¼linuxå¼å
åµå ¥å¼ç³»ç»æ¯ä¸ä¸ªå¾å¹¿æ³çæ¦å¿µï¼å¯¹å®çå®ä¹ä¹å¾å¤ï¼æè§å¾ç解åµå ¥å¼ç³»ç»å ³é®æä½ä¸é¢å ç¹ï¼
1ãåµå ¥å¼ç³»ç»æ¯ç¸å¯¹äºPCå¹³å°èè¨çï¼åµå ¥å¼äºä½¿ç¨çå¹³å°ä¸è¬æ¯é对ARMï¼PPCï¼DSPçéPCå¹³å°çï¼æ以使ç¨çç¼è¯åè°è¯å·¥å ·ä¸æ¯VC6.0ï¼èæ¯ä¸åçå¹³å°éè¦ä¸é¨çç¼è¯å¼åå·¥å ·ï¼äº¤åç¼è¯æ¯åµå ¥å¼ç¹æçæ¦å¿µï¼
2ãåµå ¥å¼ç³»ç»å¾å¾æ带ææä½ç³»ç»çç³»ç»ï¼ä»¥åç®åçç³»ç»å¯ä»¥ç´æ¥å¨è£¸æºï¼å¦åçæºï¼ä¸å¼åï¼èç°å¨OSæ为åµå ¥å¼çä¸ä¸ªåºæ¬ç¹å¾ï¼å·²ç»æåç§å®æ¶å æ ¸æè å ¨åè½çOSï¼å æ¤å¯¹ç¨åºåè¦æ±è¾é«
3ãåµå ¥å¼ç³»ç»å¾å¾å æ¬è½¯ä»¶å硬件两个é¨åï¼è½¯ä»¶å¼å人åå¾å¾ä¹éè¦ç¥é硬件çç¥è¯ï¼åªæç¥é硬件çç¹æ§æè½å¼ååºé«æ§è½çç¨åºãå¦å¤ä¸æ³å¨PCä¸å¼åï¼é©±å¨ç¨åºé½å·²ç»æäºï¼å¨åµå ¥å¼ç³»ç»ä¸ç±äºææ¥çå¤è®¾å¤æï¼å¾å¤æ¶åéè¦èªå·±ç¼å驱å¨ç¨åºï¼ç»ææ¯å¨ç¨åºå¼åä¹åä¸è¬éè¦ç硬件æåã
ä»ä¸é¢çç¹ç¹çåºåµå ¥å¼å¼åä¸PCä¸çç¨åºå¼åæ¯ä¸åçï¼å¨PCä¸å¼å主è¦æ¯åºç¨ç¨åºçå¼åï¼ä¾§éæ³æ³ï¼èåµå ¥å¼å¼ååè¦èè软硬件å个æ¹é¢èä¸é常è¦è´ä¹°æè´µçå¼åæ¿å仿çå¨ï¼å æ¤èµ·ç¹ç¸å¯¹è¾é«ã
ææ¥è§¦åµå ¥å¼æ¯å¨å¤§åçæ¶åï¼å½æ¶å·²ç»å¦ä¹ äºå¾®æºåçãåçæºåDSPç课ç¨ï¼æä¸ç´å¸æè½ååºä¸ä¸ªå®æ´çç³»ç»ï¼æ以æ第ä¸æ¬¡æç½åµå ¥å¼ç³»ç»æ¯ä»ä¹çæ¶å就对å®äº§çäºæµåçå ´è¶£ï¼ç¶èå ´è¶£æ¯é«ï¼ç¼ºä¹äººæ导ï¼æä¾ç¶è¿æ¯èé¸ä¸ä¸ªï¼è®¤è¯å°å®è·µåé¿æ¶é´ç§¯ç´¯ç¸å½éè¦ãæé½æ¯å¨è¯¾ä½èªå¦åµå ¥å¼ï¼åµå ¥å¼å¦ä¹ ä¹è·¯èµ°å¾å¾è°é¾ï¼å ¶ä¸ç§¯ç´¯äºç¹ç¹ç»éªï¼æ»ç»å¦ä¸ï¼
1ãåµå ¥å¼ä»ä½å¦èµ·ï¼
è¿æ¯ä¸ä¸ªåå¦è å¾æ³ç¥éçé®é¢ï¼ç¶èåæ¯å¾é¾åççé®é¢ï¼æåå¦æ¶ä¹æ¯ä¸æ ·çãå¦ä¹ åµå ¥å¼ä¸è½çæ¥ï¼æè§å¾æéè¦çè¿æ¯æ好åºç¡ï¼ä»ç®åçåèµ·ã
å ¶ä¸çåºæ¬å主è¦æï¼
å¾®æºåçåæ¥å£è¦å¾çæï¼è³å°ç¥éä¸é¨æ±ç¼è¯è¨ï¼ä¸æ¯è¦ä½ å»è®°æ令ï¼èæ¯è¦å¼æ¸ æ¥å¤çå¨æ§è¡çè¿ç¨å常ç¨çæ令æ§è¡çæä½ï¼
çæ常ç¨çä½ç³»ç»æãARMæ¶æå¤çå¨åºç¨è¶æ¥è¶å¹¿æ³ï¼å¼å¾ç 究ä¸ä¸ï¼å½ç¶è¿æå¾å¤çä½ç³»æ¶æï¼å¼åæ¶åç硬件æåè¿ä¸ªè¿ç¨å°±æ¯è®ç»èªå·±é 读æååæ¥è¯¢æåçè½åï¼æåå¾é¿ï¼å¾å¾åªè¦ç¥é个大æ¦ï¼ç»èéè¦å¨ä½¿ç¨æ¶æ¥è¯¢ï¼
Cè¯è¨ç¼ç¨ï¼Cè¯è¨å¤§å®¶é½ä¼ç¨ï¼æç¥éå¨å¦æ ¡å¦ä¹ æ¶é½æ¯åºäºPCï¼åºæ¬ä¸ä¼ç¨Cè¯è¨ç¨åºè®¿é®å¯åå¨æè å¤è®¾ï¼èå¨åµå ¥å¼å¼åæ¶ä½ ä¼åç°æå¾å¤å°æ¹éè¦å°å¿ï¼ä¸¾ä¸ªä¾åä¸è¬ä¸ææå¡ç¨åºéè¦è®¿é®çå ¨å±åééè¦ç¨volatileç³æï¼
æäºä¸é¢çåºæ¬åå°±å¯ä»¥å¼å§æç®åçåµå ¥å¼å¼åä¹è·¯äºã
2ãä¸å¸¦OSçåµå ¥å¼å¼å
å ä¸è¦æ¥ççä»ä¹æä½ç³»ç»åçï¼é£äºä¸è¥¿å¦æ没æå¼åç»éªçè¯ä¸å¯è½çå¾å¾æç½çï¼é¦å è¿æ¯æ¾å°åµå ¥å¼å¼åçææ§è®¤è¯ãææ¨èä»åçæºå¼åå¼å§ï¼å 为åçæºä¾¿å®èä¸ç½ä¸æå¾å¤ç°æç代ç å¯ä»¥åèï¼å ç¼åä¸äºç®åçæ±ç¼è¯è¨ç¨åºï¼ç¶åå¦ä¹ Cè¿è¡cè¯è¨ç¼ç¨è¿ä¸ªè¿ç¨å ³é®æ¯çæ交åç¼è¯åå¼åæµç¨ï¼çæ访é®ç¡¬ä»¶çæ¹æ³ï¼å¦ä¹ ç¼åä¸ææå¡ç¨åºãå¦å¤ï¼è¿ä¸ªæ¶æå¯ä»¥å¦ä¹ åµå ¥å¼cç¼ç¨ç注æäºé¡¹ãcä¸c++åµå ¥å¼ç³»ç»ç¼ç¨ããCé·é±ä¸ç¼ºé·ãæ¯ä¸éç书ï¼å¼å¾ççã
3ã带OSçç¼ç¨
ä¸æ¦è¿è¡äºOSï¼ç¼ç¨é¾åº¦å 大äºï¼æç»´åç¼ç¨æ¹æ³ä¸ä¸å¸¦OSç大ä¸ä¸æ ·ï¼è¿ä¸ªè½¬åæ¯å¾è°é¾çãå¦ä¹ æä½ç³»ç»çåçæ¯å¿ é¡»çï¼åªæå¾å¥½å°è®¤è¯äºæä½ç³»ç»æå¯è½è¿ä¸æ¥å¨OSä¸ç¼ç¨ï¼æ¯å¦è¿ç¨ãè°åº¦ãåæ¥åäºæ¥ãä¼å 级翻转çãOSåæç®åçå®æ¶å æ ¸åå¤æçå ¨åè½OSï¼uCOSIIæ¯å ¸åçå®æ¶å æ ¸ï¼linuxæ¯å ¸åçå ¨åè½çOSï¼ä¸åçOS满足ä¸åéæ±ï¼è¦æ ¹æ®èªå·±ç设计æ¥éæ©åéçOSãåµå ¥å¼å¾å¤å¤çè¦æ±æ¯å®æ¶çï¼éè¦ä¿è¯æ§ï¼ç¼åç¨åºåéæ©OSè¦ç¹å«æ³¨æãæ¨èä»uCOSå ¥æï¼å 为å¯ä»¥è·å¾æºç ï¼èä¸ç½ä¸æå¾å¤çèµæï¼å·²ç»è¢«ç§»æ¤å°å¾å¤å¹³å°ãå°äºè¿ä¸ªæ¶å估计èªå·±å¯ä»¥èªå¦äºï¼è¦å¤åå 个项ç®ï¼å¨é¡¹ç®ä¸æ¸ç´¢ï¼è¦ç¥éç¼åç¨åºå®¹æï¼ä½æ¯è¦ç¼å稳å®å¯é çç¨åºç»éæäºï¼æå¾å¤ä¹¦å¼å¾ä¸çãæç®åä¹æ¯å¨å¦ä¹ linuxï¼å¼å§ç¼å驱å¨ç¨åºäºï¼ææ³è¿è¿æ¯ä¸ä¸ªå¼å§ï¼ä»¥åè¦å¦çä¸è¥¿è¿å¾å¤å^_^
以ä¸è¯´å¾å¾ç®åï¼å®é æä½èµ·æ¥åéè¦ä»åºå¾å¤åªåï¼éè¦å¦ä¹ å¾å¤ä¸è¥¿ï¼è¿éåªæ¯ç»åºå¦ä¹ ç大æ¦æ¥éª¤ï¼ç»åå¦è ä¸ä¸ªæ´ä½æ¦å¿µï¼å¸æä»å¨å°æä¸ç人å°èµ°ä¸äºå¼¯è·¯.
linuxc++串å£clinux串å£
å¦ä½ç¨Cè¯è¨åä¸ä¸ªè¯»ãå串å£çç¨åºï¼å¤§è´è¿ç¨å°±æ¯
é 置串å£éä¿¡ï¼å æ¬ä¸²å£å·ãæ³¢ç¹çãæ ¡éªä½ãåæ¢ä½è¿äºä¿¡æ¯ï¼
æå¼ä¸²å£ï¼åæå¼æ件ä¸æ ·ï¼å¨Linuxä¸æ¯è¿æ ·ï¼Windowsä¸æ²¡è¯è¿ï¼ä¼°è®¡ä¹å·®ä¸å¤ï¼
åéæ°æ®ï¼å³å串å£ï¼å°±è·åæ件类似ï¼
读å串å£ï¼ç¨readå°±è¡ã
å ·ä½çå½æ°åé ç½®åæ°å¯ä»¥åèä¸äºå«äººç代ç ã
linuxæä¹å¨é©±å¨ä¸ä½¿ç¨ä¸²å£ï¼
Linuxåè¡çèªå¸¦usbtoserial驱å¨ï¼ä»¥æ¨¡åæ¹å¼ç¼è¯é©±å¨ï¼å¨å æ ¸æºä»£ç ç®å½ä¸è¿è¡MakeMenuConfigéæ©Devcesdrivers-->USBseupport-->
linuxæ¥çæ个串å£åæ°ï¼æ³¢ç¹çï¼æ°æ®ä½çï¼å½ä»¤ä»ä¹ï¼
ç¨CATå½ä»¤æ¥ç#cat/proc/tty/driver/serialå¦æéè¦é 置串å£åæ°ï¼minicomæ¯ä¸ªå¾å¥½çéæ©ã
ä¸ãå®è£ sudoapt-getinstallminicom
äºãé ç½®é ç½®minicomçåæ°è¿è¡$sudominicom-s便è¿å ¥äºminicomçé ç½®çé¢ï¼ä½¿ç¨ä¸ä¸é®éæ©Serialportsetupï¼å车ãæ¤æ¶å æ å¨âchangewhichsettingâåé¢åçï¼å®çä¸é¢æå¦ä¸èåï¼åªéè¾å ¥ä¸é¢å¯¹åºçåæ¯ï¼å°±å¯ä»¥è¿å¦ç¸åºçèåè¿è¡è®¾ç½®ã设置å®æï¼å车ï¼å æ ä¼åå°âchangewhichsettingâåé¢ï¼å¦æ¤éå¤ãå®ææå车è¿å主èåå³å¯ã
linuxä¸å¦ä½æ¥ç串å£3ï¼4çirqä¸æå·ï¼
第ä¸ä¸ªæ¯/dev/ttyS0æ¥çå½ä»¤setserial/dev/ttyS2setserial/dev/ttyS3
串å£å·åIPå°åä¸æ ·åï¼
串å£å·åipå°åä¸ä¸æ ·ã
串å£å«å串è¡æ¥å£,ä¹ç§°ä¸²è¡éä¿¡æ¥å£,æçµæ°æ åååè®®æ¥åå æ¬RS--CãRS-ãRSãUSBçãä¸è¬å®¶ç¨ççµèé½å¸¦æ串å£ï¼å¨è®¾å¤ç®¡çå¯ä»¥æ¥çï¼windowsç³»ç»ä¸ä¸²å£ä¸ºCOMåç¼å æ°åï¼ä¾å¦COM1ãLinuxç³»ç»ä¸ä¸²å£å·ä¸è¬ä¸º/dev/ttyS0ã串å£ä¸è¬ç¨äºç¹å¯¹ç¹çæ°æ®ä¼ è¾ã
ipå°ååæ¯ç¨äºæ è¯äºèç½éä¿¡æ¯æ¬æºçå°åãç®åæ¥è®²ï¼ipæ¯ç¨äºå¤ç¹éä¿¡çãipå°åæ¯ä¸ä¸²ç±ç¹åæ ¼å¼è¾åçæ°åï¼æ¯å¦ï¼..1.1ãä¸ä¸ªçµèå¯ä»¥é ç½®å¤ä¸ªipãè串å£å¦æ没æèæåçè¯ï¼ä¸²å£å·ä¸ªæ°åå®é çç©ç串å£ä¸ªæ°ç¸çã
ipå°åä¸è½ç´æ¥ç¨äºæ°æ®ä¼ è¾ï¼éè¦å°è£ å¨ä»¥å¤ªå¤´ï¼å³æ°æ®æ°æ®é¾è·¯å±çæ¯æã串å£åä¸éè¦ï¼å¯ä»¥ç´æ¥åéæ°æ®ã
å æ¤ä»éä¿¡æ¹å¼ï¼ä»¥å使ç¨åºæ¯ä¸ä¸¤ä¸ªé½æ¯ä¸ä¸æ ·çã