åµå
¥å¼ç³»ç»å¦ä¹ å¿å¾
æè¿ä¸ç´å¨çåµå
¥å¼ç³»ç»æ¹é¢çæç¨ï¼å
æ¬armålinuxæ¹é¢çç¥è¯ï¼è½ç¶çäºä¸å°ï¼ä½é¤äºlinuxå¤å«çæ¹é¢é½è¿æ²¡æå®è·µè¿ï¼ä¸è¿å¤§ä½ä¸æµç¨è¿æ¯è½ä¸æ¥çï¼æè¿ç书ççæç¹ç¦äºï¼äºæ¯å°±ææè¿å¦ä¹ çç¬è®°åå¿å¾ååºæ¥ï¼ä¸ä¸æ¥å°±æ¯ä¹°ä¸åarm9å¼åæ¿è¿è¡å¦ä¹ ã
æ认为åµå
¥å¼ç³»ç»çå®ä¹åºå½æ¯ä»¥åºç¨ä¸ºä¸å¿ã以计ç®æºææ¯ä¸ºåºç¡ã软件硬件å¯è£åªãéåºåºç¨ç³»ç»å¯¹åè½ãå¯é æ§ãææ¬ãä½ç§¯ãåèä¸¥æ ¼è¦æ±çä¸ç¨è®¡ç®æºç³»ç»ãæ¯å¦ç°å¨ATMå款æºå°±æ¯ä¸ä¸ªå
¸åRTOS,embedded os主è¦å
æ¬ä¸¤é¨åï¼ä¸é¨åæ¯å¤çå¨ï¼æ¯å¦ARM,POWERPC,MIPC,ä¸é¨åæ¯OSï¼æ¯å¦linux,wince,vxworks,us/os,etc.æç°å¨ä¸»è¦å¦ä¹ ç路线æ¯arm+linuxï¼éæ©arm主è¦æ¯å 为armææ¯å·²ç»æ¯è¾æçï¼éæ©linuxæ¯å 为linuxæ¯å¼æºçï¼å
è´¹çï¼å¦å¤å¦æå¦å¥½äºlinuxå°±ç®å°æ¥ä¸æåµå
¥å¼ç³»ç»å¼åè¿åï¼ä¹å¯ä»¥ä¸ä¾linuxæå¡å¨è¿ä¸æ¹é¢ã
å¦ä¹ åµå
¥å¼linuxï¼ä¸»è¦åçå°±æ¯åç¹ï¼ä¸ç¹å°±æ¯åbootloader,并移æ¤å°å°nand flashä¸ï¼ç¬¬äºç¹ï¼ç¼è¯kernel,并éè¿bootloaderä¸è½½å°nand flashä¸ï¼ç¬¬ä¸ç¹ï¼å¨åºäºnand flashä¸å»ºç«æ件系ç»ï¼ç¬¬åç¹ï¼æå好çåºç¨ç¨åºä¸è½½å°targetä¸ãåºæ¬æµç¨å°±æ¯è¿ä¹ä¸æ¥çï¼å
·ä½å°å¼åæ¿ä¸æ¶å¯è½å°±ææå·®å«äºï¼ä¸è¾¹å°±ä»¥æ·±å³ä¼é¾å
¬å¸çfs2410为ç®æ æ¿å
·ä½çä¸è¿°ä¸ä¸å¼åçæµç¨ï¼ä»¥åå¨å¼åä¸åºæ³¨æçé®é¢ã
第ä¸æ¥ï¼äº¤åç¼è¯ç¯å¢ç建ç«
A: åºäºlinuxæä½ç³»ç»çåºç¨å¼åç¯å¢ä¸è¬æ¯ç±ç®æ ç³»ç»ç¡¬ä»¶ï¼å¼åæ¿ï¼å宿主pcæºæææãç®æ 硬件å¼åæ¿ç¨äºè¿è¡æä½ç³»ç»åç³»ç»åºç¨è½¯ä»¶ãèç®æ æ¿æç¨å°çæä½ç³»ç»çå
æ ¸ç¼è¯ãåºç¨ç¨åºçå¼ååè°è¯åéè¦éè¿å®¿ä¸»pcæºæ¥å®æï¼æ以称为交åç¼è¯ï¼ãåæ¹ä¹é´ä¸è¬éè¿ä¸²å£ï¼å¹¶å£æ以太ç½æ¥å£å»ºç«è¿æ¥å
³ç³»ãå®è£
linux osï¼æ¯å¦redhao linux 9.0,å¯ä»¥éç¨é»è®¤å®è£
ï¼ä½è¦å
å«ftpæå¡ï¼ï¼å°è¯¥linuxæå¡å¨æ¥å
¥å±åç½ï¼å
¶ä»çpcæºå¯ä»¥ç¨windows,éè¦ç软件工å
·å
æ¬
(1)ftp客æ·ç«¯ç¨åºï¼2ï¼telnetå·¥å
·ï¼3ï¼ç§»æ¤å°æä¸ç¹å®armå¹³å°çlinuxæä½ç³»ç»å
æ ¸æºç ï¼4ï¼gnuç¼è¯å·¥å
·ï¼å¯ç±ç¸å
³ç½ç«ä¸è½½
å¨æå·¥ä½ç«pcä¸å®è£
ftp客æ·ç«¯ç¨åºåtelnetå·¥å
·ï¼linux os kernelçç¼è¯ä¸è¬æä¸ä¸ªæ¯è¾åºå®çæ¥éª¤ï¼ä¼æ ¹æ®Makefielæ件çä¸åèç¥æå·®å¼ï¼å¯åèç¸å
³ææ¡£ï¼æåºå®çæ¥éª¤ç¼è¯å
æ ¸å®æ以åï¼ä¼å¨ç¸åºç®å½çæå¯æ§è¡çäºè¿å¶æ件,éè¿ftpä¼ å°pcæºä¸ï¼çåéè¿ä¸²å£æç½ç»ä¸è½½å°å¼åæ¿ä¸ã
Bï¼ï¼1ï¼ å建ç¼è¯ç¯å¢ï¼å¨è¿ä¸ªè¿ç¨ä¸ï¼å°è®¾ç½®ä¸äºç¯å¢åéï¼å建å®è£
ç®å½ï¼å®è£
å
æ ¸æºä»£ç å头æ件çã
ï¼2ï¼ å建binutils.å¨è¿ä¸ªè¿ç¨ç»æåï¼ä¼å建类似arm-linux-ldçå·¥å
·ã
ï¼3ï¼ å建ä¸ä¸ªäº¤åç¼è¯çæ¬çgcc,注æï¼å¨è¿ä¸ªè¿ç¨ä¸ï¼åªè½ç¼è¯cç¨åºï¼èä¸è½ç¼è¯c++ç¨åºã
ï¼4ï¼ å建ä¸ä¸ªäº¤åç¼è¯çæ¬çglibcï¼è¿éæ容æåºé®é¢ã
ï¼5ï¼ å建ä¸ä¸ªäº¤åç¼è¯çæ¬çgdbãè¿ä¸ªè¿ç¨ç»æåï¼ä¼å建arm-linux_gdb
ï¼6ï¼ éæ°å建gccãåé¢å建gccçè¿ç¨æ²¡æç¼è¯c++ç¼è¯å¨ï¼ç°å¨glibcå·²ç»åå¤å¥½äºï¼æ以è¿ä¸ªæ¥éª¤å°å®ågccç交åç¼è¯ã
ï¼7ï¼ éæ°å建glibc.
å¦æå¨äº¤åç¼è¯è¿ç¨ä¸åºç°é误ï¼é£ä¹è¯·æ£æ¥ï¼
çæ¬éæ©æ¯å¦æ£ç¡®ï¼ä»¥åæ¯å¦å®è£
äºç¸åºçè¡¥ä¸ï¼
åºæ件路å¾è®¾ç½®æ¯å¦æ£ç¡®ï¼
ç³»ç»ç¯å¢åéæ¯å¦è®¾ç½®æ£ç¡®ã
第äºæ¥ï¼ç¼åbootloader并移æ¤å°å¼åæ¿ä¸
Aï¼bootloaderï¼å¼å¯¼å è½½ç¨åºï¼æ¯ç³»ç»å çµåè¿è¡ç第ä¸æ®µä»£ç ãåµå
¥å¼ç³»ç»ä¸çbootloaderç¸å½äºpcæºä¸çbiosã大å¤æ°bootloaderé½å
å«ä¸¤ç§ä¸åçæä½æ¨¡å¼ï¼ä¸ç§æ¯å¯å¨å è½½ï¼bootloadingï¼æ¨¡å¼,å¨è¿ç§æ¨¡å¼ä¸ï¼bootloaderä»ç®æ æºä¸çæ个åºæåå¨å¨è®¾å¤ä¸å°æä½ç³»ç»å è½½å°RAMä¸è¿è¡ï¼æ´ä¸ªè¿ç¨å¹¶æ²¡æç¨æ·çä»å
¥ãè¿ç§æ¨¡å¼æ¯bootloaderçæ£å¸¸å·¥ä½æ¨¡å¼ï¼å¦ä¸ç§æ¯ä¸è½½ï¼downloadingï¼æ¨¡å¼ãå¨è¿ç§æ¨¡å¼ä¸ï¼ç®æ æºä¸çbootloaderå°éè¿ä¸²å£æç½ç»çéä¿¡æ段ä»å¼å主æºï¼hostï¼ä¸ä¸è½½å
æ ¸æ ååæ ¹æ件系ç»æ åçå°RAMä¸ãç¶åå¯ä»¥å被bootloaderåå°ç®æ æºä¸çåºæåå¨ä»è´¨ä¸ã
Bï¼bootloaderå¯å¨å¤§å¤æ°é½å为两个é¶æ®µ
ï¼1ï¼ï¼åºæ¬ç硬件åå§åï¼å±è½ææçä¸æï¼å
³éå¤çå¨å
é¨æ令/æ°æ®cacheçï¼ã
为第äºé¶æ®µåå¤RAM空é´
å¦ææ¯ä»æ个åºæåå¨åªè´¨ä¸ï¼åå¤å¶bootlodaerç第äºé¶æ®µä»£ç å°RAMã
设置å æ ã
跳转å°ç¬¬äºé¶æ®µçCç¨åºå
¥å£ç¹ã
ï¼2ï¼ï¼åå§åæ¬é¶æ®µè¦ä½¿ç¨ç硬件设å¤ã
æ£æ¥ç³»ç»å
åæ å°ã
å°å
æ ¸æ ååæ ¹æ件系ç»æ åä»flash读å°RAMã
为å
æ ¸è®¾ç½®å¯å¨åæ°
è°ç¨å
æ ¸ã
温馨提示:内容为网友见解,仅供参考