首頁 > 行業(yè)資訊

基于嵌入式Linux的風(fēng)力發(fā)電監(jiān)控系統(tǒng)開發(fā)平臺的構(gòu)建

來源:新能源網(wǎng)
時間:2018-09-04 18:49:26
熱度:

基于嵌入式Linux的風(fēng)力發(fā)電監(jiān)控系統(tǒng)開發(fā)平臺的構(gòu)建  0引言  為了適應(yīng)不同的應(yīng)用場合,同時考慮到計算機系統(tǒng)的靈活性、可伸縮性以及可裁剪性,一種以應(yīng)用為中心、以計算機技術(shù)為基礎(chǔ)、

  0引言

  為了適應(yīng)不同的應(yīng)用場合,同時考慮到計算機系統(tǒng)的靈活性、可伸縮性以及可裁剪性,一種以應(yīng)用為中心、以計算機技術(shù)為基礎(chǔ)、軟硬件可裁剪的嵌入式操作系統(tǒng)隨之誕生。這種嵌入式系統(tǒng)能適用于對功能、可靠性、成本、體積、功耗要求嚴(yán)格的應(yīng)用系統(tǒng)。而在眾多嵌入式操作系統(tǒng)中,Linux以其體積小、可裁減、運行速度快、網(wǎng)絡(luò)性能優(yōu)良、源碼公開等優(yōu)點而被廣泛采用。特別是2.6內(nèi)核版本的Linux更是在實時性能方面有了很大的提高,因此在工業(yè)控制場合得到了越來越多的重視和應(yīng)用。

  本文正是在這一背景下,為基于S3C2410的嵌入式平臺(擴充了多種外圍設(shè)備,包括LCD、A/D、網(wǎng)絡(luò)芯片等等)構(gòu)建出一個基于Linux2.6.16內(nèi)核的嵌入式系統(tǒng)開發(fā)平臺,以滿足風(fēng)力發(fā)電監(jiān)控系統(tǒng)開發(fā)的需求。

  1系統(tǒng)構(gòu)架

  本系統(tǒng)的硬件平臺是以32位高性能嵌入式處理器S3C2410A作為系統(tǒng)的CPU,其工作頻率最高為203 MHz,具有強大的處理能力。另外,還擴展有多種外圍設(shè)備,如分辨率為640×480的26萬色TFT液晶顯示屏、串口、USB口、網(wǎng)口、64MB Flash、64MB SDRAM等等??梢猿浞譂M足風(fēng)力發(fā)電監(jiān)控系統(tǒng)開發(fā)的需求。

  本硬件平臺的軟件構(gòu)架主要分為以下幾個部分BSP層、操作系統(tǒng)層以及應(yīng)用層,圖1所示是其軟件構(gòu)架圖。本系統(tǒng)的硬件平臺是由嵌入式微處理器及其外圍設(shè)備所構(gòu)成的。硬件抽象層(BSP)是存儲在硬件平臺ROM或Flash上的負(fù)責(zé)與硬件底層交流的硬件驅(qū)動程序,主要負(fù)責(zé)對系統(tǒng)進行初始化,并將收集的硬件信息傳遞到接下來運行的操作系統(tǒng)內(nèi)核中去。操作系統(tǒng)內(nèi)核通過BSP來管理系統(tǒng)硬件資源,并為上層軟件提供進程調(diào)度、內(nèi)存管理、文件系統(tǒng)、設(shè)備驅(qū)動等服務(wù)。應(yīng)用層主要負(fù)責(zé)與用戶進行交流。

  在完成系統(tǒng)的構(gòu)架設(shè)計以后,就可以針對硬件平臺進行具體的構(gòu)建了,其工作主要包括以下幾個部分BootLoader移植、內(nèi)核移植以及文件系統(tǒng)的建立等,其中內(nèi)核移植包括網(wǎng)絡(luò)設(shè)備、LCD和USB等驅(qū)動的移植。文中針對本系統(tǒng)的設(shè)計給出了相關(guān)程序的移植。

  2 Boot Loader移植

  Boot Loader (引導(dǎo)加載程序)是系統(tǒng)加電后運行的第一段代碼。這段小程序用于初始化硬件設(shè)備和建立內(nèi)存空間的映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個合適的狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準(zhǔn)備好正確的環(huán)境。

  目前,較流行的BootLoader主要有U-boot和Vivi等。本設(shè)計主要是以S3C2410為控制器的硬件平臺,因此可以選用帶有網(wǎng)絡(luò)功能的Vivi作為系統(tǒng)的Boot Loader。作為引導(dǎo)程序的Vivi一般分為stage1和stage2兩大部分。stage1主要是根據(jù)CPU的體系結(jié)構(gòu)進行設(shè)備初始化等工作,通常都用短小精悍的匯編語言來實現(xiàn),而stage2則通常用C語言來實現(xiàn),這樣可以實現(xiàn)更加復(fù)雜的功能,且代碼會具有更好的可讀性和可移植性。為了使Vivi更適合本系統(tǒng)的硬件平臺,設(shè)計時需要對其進行部分修改。

  (1)修改編譯器

  首先要把Vivi中Makefile的有關(guān)編譯的選項指向安裝好的3.4.1版本的交叉編譯工具鏈,將編譯所需的Linux文件夾“UNUX-INCLUDE-DIR=”指向交叉編譯器所在的文件夾“LINUX-INCLUDE-DIR=/usr/local/arm/3.4.1/include”,并將“CROSS-COMPILE=”項修改為“CROSS-COMPILE=/usr/local/arm/3.4.1/bin/arm-linux-”。

3    首頁   下一頁   上一頁   尾頁