|  | |
| 構建嵌入式Linux交叉開發環境 | |
| 嵌(qian)入式應用(yong)開(kai)(kai)發的(de)第一步(bu),主要學習如何(he)搭建(jian)嵌(qian)入式Linux開(kai)(kai)發的(de)環境。 構(gou)建(jian)開(kai)(kai)發(fa)(fa)環(huan)(huan)境(jing)是(shi)任(ren)何(he)開(kai)(kai)發(fa)(fa)工作的(de)基礎,對(dui)于軟、硬件(jian)非(fei)常豐(feng)富的(de)嵌(qian)入(ru)式(shi)系統來說,構(gou)建(jian)高效(xiao)、穩定的(de)環(huan)(huan)境(jing)是(shi)能否開(kai)(kai)展工作的(de)重要因素之(zhi)一。本(ben)節將介紹如(ru)何(he)構(gou)建(jian)一套(tao)嵌(qian)入(ru)式(shi)Linux開(kai)(kai)發(fa)(fa)環(huan)(huan)境(jing)。在構(gou)建(jian)開(kai)(kai)發(fa)(fa)環(huan)(huan)境(jing)之(zhi)前(qian),有必要了解嵌(qian)入(ru)式(shi)Linux開(kai)(kai)發(fa)(fa)流程。因為嵌(qian)入(ru)式(shi)Linux開(kai)(kai)發(fa)(fa)往(wang)往(wang)會涉及多個(ge)層面,這與桌面開(kai)(kai)發(fa)(fa)有很大不同(tong)。構(gou)建(jian)一個(ge)Linux系統,須仔(zi)細考慮下(xia)面幾(ji)點: 1、選擇嵌(qian)入式Linux發行版(ban)。商業(ye)的Linux發行版(ban)是(shi)作(zuo)為產品開發維(wei)護的,經(jing)過嚴(yan)格(ge)的測試驗證,并且可以得(de)到廠家的技(ji)術支(zhi)持。它為開發者(zhe)提供(gong)了(le)可靠(kao)的軟件和完整的開發工具包(bao)。 2、熟悉開發(fa)(fa)環(huan)境和(he)工(gong)具。交叉開發(fa)(fa)環(huan)境是(shi)(shi)嵌(qian)入式Linux開發(fa)(fa)的基本模型。Linux環(huan)境配(pei)置、GNU工(gong)具鏈、測試工(gong)具甚至(zhi)集成開發(fa)(fa)環(huan)境都是(shi)(shi)開發(fa)(fa)嵌(qian)入式Linux的利(li)器。   3、熟悉(xi)Linux內核。因為嵌入式Linux開發一般需要重新定制Linux內核,所以熟悉(xi)內核配(pei)置、編譯(yi)和移植很(hen)重要。 4、熟悉目(mu)標(biao)板引導(dao)(dao)方式。開(kai)發板的(de)Bootloader負責硬件(jian)平臺基本的(de)初(chu)始(shi)化,并且具(ju)備引導(dao)(dao)Linux內核啟動的(de)功能。由于硬件(jian)平臺是專門定(ding)制的(de),一般(ban)需要修改編(bian)譯Bootloader。 5、熟悉Linux根文件(jian)系(xi)(xi)(xi)(xi)(xi)統(tong)。高級(ji)一(yi)(yi)點(dian)的操作系(xi)(xi)(xi)(xi)(xi)統(tong)一(yi)(yi)般都有文件(jian)系(xi)(xi)(xi)(xi)(xi)統(tong)的支持,Linux也一(yi)(yi)樣離不開文件(jian)系(xi)(xi)(xi)(xi)(xi)統(tong)。系(xi)(xi)(xi)(xi)(xi)統(tong)啟動必(bi)需的程序和文件(jian)都必(bi)須放在根文件(jian)系(xi)(xi)(xi)(xi)(xi)統(tong)中。Linux系(xi)(xi)(xi)(xi)(xi)統(tong)支持的文件(jian)系(xi)(xi)(xi)(xi)(xi)統(tong)種類(lei)非常(chang)多,我們可以通過Linux內核(he)命令行(xing)參數指定要(yao)掛接的根文件(jian)系(xi)(xi)(xi)(xi)(xi)統(tong)。 6、理解Linux內存模型。Linux是(shi)保護模式的操作系統。內核和應用程序(xu)分別運行在完全分離的虛擬(ni)地(di)(di)(di)址空間,物理地(di)(di)(di)址必(bi)須映像到虛擬(ni)地(di)(di)(di)址才能(neng)訪問(wen)。 7、理解Linux調度(du)機制(zhi)與進程(cheng)(cheng)(cheng)(cheng)和(he)(he)線程(cheng)(cheng)(cheng)(cheng)編程(cheng)(cheng)(cheng)(cheng)。Linux調度(du)機制(zhi)影(ying)響到(dao)任務的實時性,理解調度(du)機制(zhi)可以(yi)更好地運用任務優先級。此外(wai),進程(cheng)(cheng)(cheng)(cheng)和(he)(he)線程(cheng)(cheng)(cheng)(cheng)編程(cheng)(cheng)(cheng)(cheng)是應用程(cheng)(cheng)(cheng)(cheng)序開發(fa)所(suo)必(bi)需的。 本文選自華清遠見嵌入式培訓教材《從實踐中學嵌入式Linux應用程序開發》 熱(re)點(dian)鏈接:   
         1、嵌入式培訓資料:搭建交叉編譯環境 |