![]() |
|
構(gòu)建嵌入式Linux交叉開發(fā)環(huán)境 |
|
嵌入式應(yīng)用開發(fā)的第一步,主要學(xué)習(xí)如何搭建嵌入式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ā)流程。因?yàn)榍度胧絃inux開發(fā)往往會涉及多個層面,這與桌面開發(fā)有很大不同。構(gòu)建一個Linux系統(tǒng),須仔細(xì)考慮下面幾點(diǎn): 1、選擇嵌入式Linux發(fā)行版。商業(yè)的Linux發(fā)行版是作為產(chǎn)品開發(fā)維護(hù)的,經(jīng)過嚴(yán)格的測試驗(yàn)證,并且可以得到廠家的技術(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)核。因?yàn)榍度胧絃inux開發(fā)一般需要重新定制Linux內(nèi)核,所以熟悉內(nèi)核配置、編譯和移植很重要。 4、熟悉目標(biāo)板引導(dǎo)方式。開發(fā)板的Bootloader負(fù)責(zé)硬件平臺基本的初始化,并且具備引導(dǎo)Linux內(nèi)核啟動的功能。由于硬件平臺是專門定制的,一般需要修改編譯Bootloader。 5、熟悉Linux根文件系統(tǒng)。高級一點(diǎn)的操作系統(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是保護(hù)模式的操作系統(tǒng)。內(nèi)核和應(yīng)用程序分別運(yùn)行在完全分離的虛擬地址空間,物理地址必須映像到虛擬地址才能訪問。 7、理解Linux調(diào)度機(jī)制與進(jìn)程和線程編程。Linux調(diào)度機(jī)制影響到任務(wù)的實(shí)時性,理解調(diào)度機(jī)制可以更好地運(yùn)用任務(wù)優(yōu)先級。此外,進(jìn)程和線程編程是應(yīng)用程序開發(fā)所必需的。 本文選自華清遠(yuǎn)見嵌入式培訓(xùn)教材《從實(shí)踐中學(xué)嵌入式Linux應(yīng)用程序開發(fā)》 熱點(diǎn)鏈接:
1、嵌入式培訓(xùn)資料:搭建交叉編譯環(huán)境 |