基于LPC2210的嵌入式Linux開(kāi)發(fā)平臺(tái)構(gòu)建
摘要:本文描述了ARM7 與uCLinux 操作系統(tǒng)的特點(diǎn),詳細(xì)討論了基于ARM7 與uCLinux開(kāi)發(fā)的平臺(tái)構(gòu)建過(guò)程。利用構(gòu)建好的開(kāi)發(fā)平臺(tái),通過(guò)示例來(lái)說(shuō)明了基于NFS 方式的嵌入式Linux 的應(yīng)用程序開(kāi)發(fā)流程,該開(kāi)發(fā)平臺(tái)將進(jìn)一步應(yīng)用于放射性氣體氣溶膠連續(xù)監(jiān)測(cè)系統(tǒng)的數(shù)據(jù)采集。
本文引用地址:http://www.ex-cimer.com/article/151346.htm0 引言
隨著網(wǎng)絡(luò)、通信、多媒體和信息家電時(shí)代的到來(lái),嵌入式系統(tǒng)在經(jīng)歷了近 20 年的發(fā)展歷程之后,進(jìn)入了一個(gè)全新的發(fā)展階段。Linux 操作系統(tǒng)以其穩(wěn)定性好、可靠性高、源代碼公開(kāi)、可裁剪等優(yōu)點(diǎn)已成為嵌入式領(lǐng)域的一股新興力量,具有巨大的市場(chǎng)潛力和商業(yè)價(jià)值。而ARM 處理器是目前應(yīng)用的最為廣泛的嵌入式處理器架構(gòu)。因此,將Linux 操作系統(tǒng)移植到ARM 處理器平臺(tái)上并應(yīng)用于實(shí)際的產(chǎn)品是最為流行的嵌入式產(chǎn)品解決方案。
放射性氣體氣溶膠監(jiān)測(cè)系統(tǒng)的數(shù)據(jù)采集與處理一般是以 8 位單片機(jī)作為控制核心,直接導(dǎo)致硬件電路復(fù)雜、設(shè)計(jì)和調(diào)試難度加大、集成度低、穩(wěn)定性差、系統(tǒng)升級(jí)難度較大等缺點(diǎn)。因此,本文采用LPC2210+uCLinux 的開(kāi)發(fā)模式來(lái)設(shè)計(jì)整個(gè)監(jiān)測(cè)系統(tǒng)的數(shù)據(jù)采集與處理模塊,能夠很好的提升整個(gè)系統(tǒng)的穩(wěn)定性和可操作性。其中LPC2210 是基于32 位ARM7TDMI 內(nèi)核的處理器,uCLinux 操作系統(tǒng)是開(kāi)放源代碼的嵌入式Linux 的典范之作,主要針對(duì)沒(méi)有MMU(存儲(chǔ)器管理單元)的處理器,具有良好的可移植性和優(yōu)秀的網(wǎng)絡(luò)功能。
1 硬件平臺(tái)介紹
硬件平臺(tái)采用 LPC2210 為系統(tǒng)硬件核心開(kāi)發(fā)板,系統(tǒng)框圖如圖1 所示。主要包括:存儲(chǔ)系統(tǒng)、系統(tǒng)接口、用戶(hù)接口3 個(gè)部分。LPC2000 系列ARM7 處理器I/O 口供電電源為3.3V,內(nèi)核及片內(nèi)外設(shè)供電電源為1.8V,所以,系統(tǒng)設(shè)計(jì)為3.3V 應(yīng)用系統(tǒng)。該系列的處理器可以使用外部時(shí)鐘源,內(nèi)部PLL 電路可調(diào)整系統(tǒng)時(shí)鐘,使系統(tǒng)運(yùn)行速度更快(CPU 最大操作時(shí)鐘為60MHz)。
該硬件平臺(tái)擴(kuò)展了2MB NOR Flash 和8MB PSRAM。為了方便程序調(diào)試以及最終代碼的固化應(yīng)用,使用LPC2210 外部存儲(chǔ)器接口的Bank0 和Bank1 地址空間。在使用uCLinux操作系統(tǒng)時(shí),NOR Flash 用來(lái)存放bootloader 程序,以便于加載并引導(dǎo)放在NAND Flash 中的uCLinux 內(nèi)核。
LPC2210 具有外部總線(xiàn)接口,設(shè)計(jì)電路為16 位總線(xiàn)方式對(duì)網(wǎng)卡芯片RTL8019AS 進(jìn)行訪問(wèn),即數(shù)據(jù)總線(xiàn)D0~D15 與網(wǎng)卡芯片的SD0~SD15 連接,由于RTL8019AS 工作電壓是5V,而LPC2210 的I/O 電壓是3.3V,故需在總線(xiàn)上串接470 歐的保護(hù)電阻。網(wǎng)卡芯片的Vih 最小值為2.0V,故與LPC2210 連接時(shí)不需要加電平轉(zhuǎn)換芯片。
圖 1 系統(tǒng)結(jié)構(gòu)框圖
2 嵌入式Linux 開(kāi)發(fā)平臺(tái)的構(gòu)建
本研究采用在宿主機(jī)上編寫(xiě)程序,然后通過(guò)交叉編譯生成目標(biāo)平臺(tái)上可以運(yùn)行的可執(zhí)行文件,最后下載到目標(biāo)板的特定位置運(yùn)行的方法構(gòu)建平臺(tái),即通常稱(chēng)為的“宿主機(jī)+目標(biāo)板”的開(kāi)發(fā)模式,如圖2 所示。目標(biāo)板分別通過(guò)RS-232 串口和RJ-45 以太網(wǎng)接口與宿主機(jī)連接。
宿主機(jī)上需要運(yùn)行 2 個(gè)窗口,即宿主機(jī)本機(jī)操作窗口和串口終端窗口。宿主機(jī)操作窗口可以是本機(jī)的操作終端,也可以是通過(guò)遠(yuǎn)程登錄登錄到Linux 服務(wù)器的操作界面。串口終端窗口可以是Linux 下的minicom,也可以是windows 下的超級(jí)終端。目標(biāo)板可以看成一臺(tái)計(jì)算機(jī),串口終端就相當(dāng)于這臺(tái)計(jì)算機(jī)的顯示器,作為人機(jī)交互界面。在宿主機(jī)編譯、鏈接后得到的可執(zhí)行文件下載到目標(biāo)板上運(yùn)行。
圖2 嵌入式Linux 交叉開(kāi)發(fā)環(huán)境
評(píng)論