<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于A(yíng)RM和Linux通用工控平臺設計與實(shí)現

基于A(yíng)RM和Linux通用工控平臺設計與實(shí)現

作者: 時(shí)間:2012-04-10 來(lái)源:網(wǎng)絡(luò ) 收藏

依據環(huán)境變量PREFIX,將編譯好的工具鏈安裝到指定文件夾就可以使用了。

例如,修改arm--gcc-2.95.3的環(huán)境變量為:

PATH=$PATH:$HOME/bin:$PREFIX/bin:/usr/local/arm/2.95.3/bin:/sbin:/usr/sbin:/

usr/local/sbin,同時(shí)編寫(xiě)hello.c程序進(jìn)行驗證
$arm--gcc hello.c -o hello-arm
$file hello-arm
hello-arm: ELF 32-bit LSB executable, , version1 (), for GNU/ 2.0.0, dynamically linked (uses shared libs),not stripped

這表明生成的hello-arm可以在平臺上運行,也證明交叉編譯工具鏈是有效并且可用的。

Linux內核編譯下載

具體步驟如下:

(1) 解壓Linux-2.6.21-2009-04 -10.bz2:tar xjvf Linux-2.6.21 -2009-04-10.bz2;
(2) 進(jìn)入Linux-2.6.21目錄,內核編譯:make uImage;
(3) 編譯完成后,通過(guò)SSH把uImage文件拷貝到Windows環(huán)境下;
(4) 配置U-Boot環(huán)境變量;
(5) 配置tftp服務(wù)器:運行Linux系統下的tftp服務(wù)器,復制Linux內核的uImage文件到tftp下載工作目錄下,啟動(dòng)tftp服務(wù),確保PC和AT91RM9200接入同一網(wǎng)段;
(6) 下載內核映像文件,并在U-Boot提示符下擦除Flash;
(7) 下載內核映像文件到Flash中;

Linux文件系統

軟件平臺使用cramfs文件系統,其特點(diǎn)是:系統訪(fǎng)問(wèn)某個(gè)位置的數據時(shí),立即計算出該數據在cramfs中的位置,解壓到RAM中,然后通過(guò)內存訪(fǎng)問(wèn)來(lái)獲取數據,cramfs中的解壓縮之后的內存中的數據存放位置都是由cramfs文件系統本身來(lái)管理,用戶(hù)并不需要實(shí)現過(guò)程,因此增加了透明度,給開(kāi)發(fā)人員節約了時(shí)間。

2 Linux操作系統下設備驅動(dòng)開(kāi)發(fā)

Linux上的設備驅動(dòng)非常豐富,支持各種主流硬件設備和最新的硬件技術(shù)。設備驅動(dòng)程序在Linux內核中,是一個(gè)個(gè)獨立的“黑盒子”,使某個(gè)特定的硬件響應一個(gè)定義良好的內部編程接口,同時(shí)完全隱藏設備的工作細節。通過(guò)一組標準化的調用,把這些調用映射到設備特定的操作上,則是設備驅動(dòng)程序的任務(wù)。而在Linux系統里,每一個(gè)設備都被看作一個(gè)文件,打開(kāi)的設備在內核中由一個(gè)File結構標志,內核使用File_operations結構訪(fǎng)問(wèn)驅動(dòng)程序的函數。每個(gè)設備與一組標準函數集關(guān)聯(lián)。

3 Linux操作系統下應用程序開(kāi)發(fā)

采取在PC上編譯應用程序,運行測試通過(guò)后,再通過(guò)網(wǎng)絡(luò )或串口等方法下載到目標平臺/usr目錄下,對于較小的程序,使用串口下載比較方便,具體的步驟為

(1) PC模擬環(huán)境下開(kāi)發(fā)程序,交叉編譯;
(2) 待ARM平臺下Linux正常運行后,進(jìn)入usr目錄,然后選擇下載的程序;
(3) 下載完成后,chmod +x filenam修改文件屬性為可執行命令;
(4) 執行剛下載的文件命令為./filename。

通用人機交互通信機制實(shí)現

嵌入式GUI為嵌入式系統提供了一種應用于特殊場(chǎng)合的人機交互接口。新一代嵌入式GUI的主要特征有:以用戶(hù)為中心、多通道、智能化、高帶寬。嵌入式Linux 系統中,幾乎所有的GUI 都建立在FrameBuffer設備上。

MiniGUI 是一個(gè)根據嵌入式系統應用特點(diǎn)量身定做的完整的圖形支持系統。將現代窗口和圖形技術(shù)帶入到嵌入式設備,是一個(gè)非常適合于嵌入式設備的高效、可靠、可定制、小巧靈活的圖形用戶(hù)界面支持系統,主要優(yōu)點(diǎn)可總結為支持多種嵌入式操作系統,具備優(yōu)秀的可移植性;可伸縮的系統架構,易于擴展;功能豐富,可靈活剪裁;得到小體積高性能間的最佳平衡且具有廣泛的應用領(lǐng)域。

基于A(yíng)RM和Linux通用工控平臺設計與實(shí)現

1 移植MiniGUI前準備

MiniGUI 1.3.3是MiniGUI的開(kāi)源版本,并且資源豐富,性能穩定,因此選用MiniGUI 1.3.3作為GUI的開(kāi)發(fā)環(huán)境。進(jìn)行MiniGUI移植需要準備表3所列的文件,它們可在互聯(lián)網(wǎng)上獲得。

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)


關(guān)鍵詞: ARM Linux 工控平臺

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>