![]() |
|
構(gòu)建嵌入式Linux交叉開發(fā)環(huán)境 |
|
嵌入式應用開發(fā)的第一步,主要學習如何搭建嵌入式Linux開發(fā)的環(huán)境。 構(gòu)建開發(fā)環(huán)境是任何開發(fā)工作的基礎(chǔ),對于軟、硬件非常豐富的嵌入式系統(tǒng)來說,構(gòu)建高效、穩(wěn)定的環(huán)境是能否開展工作的重要因素之一。本節(jié)將介紹如何構(gòu)建一套嵌入式Linux開發(fā)環(huán)境。在構(gòu)建開發(fā)環(huán)境之前,有必要了解嵌入式Linux開發(fā)流程。因為嵌入式Linux開發(fā)往往會涉及多個層面,這與桌面開發(fā)有很大不同。構(gòu)建一個Linux系統(tǒng),須仔細考慮下面幾點: 1、選擇嵌入式Linux發(fā)行版。商業(yè)的Linux發(fā)行版是作為產(chǎn)品開發(fā)維護的,經(jīng)過嚴格的測試驗證,并且可以得到廠家的技術(shù)支持。它為開發(fā)者提供了可靠的軟件和完整的開發(fā)工具包。 2、熟悉開發(fā)環(huán)境和工具。交叉開發(fā)環(huán)境是嵌入式Linux開發(fā)的基本模型。Linux環(huán)境配置、GNU工具鏈、測試工具甚至集成開發(fā)環(huán)境都是開發(fā)嵌入式Linux的利器。 3、熟悉Linux內(nèi)核。因為嵌入式Linux開發(fā)一般需要重新定制Linux內(nèi)核,所以熟悉內(nèi)核配置、編譯和移植很重要。 4、熟悉目標板引導方式。開發(fā)板的Bootloader負責硬件平臺基本的初始化,并且具備引導Linux內(nèi)核啟動的功能。由于硬件平臺是專門定制的,一般需要修改編譯Bootloader。 5、熟悉Linux根文件系統(tǒng)。高級一點的操作系統(tǒng)一般都有文件系統(tǒng)的支持,Linux也一樣離不開文件系統(tǒng)。系統(tǒng)啟動必需的程序和文件都必須放在根文件系統(tǒng)中。Linux系統(tǒng)支持的文件系統(tǒng)種類非常多,我們可以通過Linux內(nèi)核命令行參數(shù)指定要掛接的根文件系統(tǒng)。 6、理解Linux內(nèi)存模型。Linux是保護模式的操作系統(tǒng)。內(nèi)核和應用程序分別運行在完全分離的虛擬地址空間,物理地址必須映像到虛擬地址才能訪問。 7、理解Linux調(diào)度機制與進程和線程編程。Linux調(diào)度機制影響到任務的實時性,理解調(diào)度機制可以更好地運用任務優(yōu)先級。此外,進程和線程編程是應用程序開發(fā)所必需的。 本文選自華清遠見嵌入式培訓教材《從實踐中學嵌入式Linux應用程序開發(fā)》 熱點鏈接:
1、嵌入式培訓資料:搭建交叉編譯環(huán)境 |