www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀]基于ARM的嵌入式Linux應用程序開發(fā)研究

0 引 言

當今社會,嵌入式系統(tǒng)已經滲透到人們工作、生活中的各個領域,嵌入式處理器已占分散處理器市場份額的94%。而嵌入式Linux系統(tǒng)也蓬勃發(fā)展,不僅繼承了Linux源碼開放、內核穩(wěn)定高效、軟件豐富等優(yōu)勢,還具備支持廣泛處理器結構和硬件平臺、占有空間小、成本低廉、結構緊湊等特點。

1 ARM處理器及開發(fā)板

在嵌入式領域,ARM已取得了極大的成功,造就了IP核商業(yè)化、市場化的神話。據統(tǒng)計,全球有103家巨型IT公司在采用ARM技術,20家最大的半導體,一商中有19家是ARM的用戶。ARM系列芯片已經被廣泛的應用于移動電活、手持式計算機以及各種各樣的嵌入式應用領域,成為世界上銷量最大的32位微處理器。ARM已成為業(yè)界實際的RISC芯片標準。

ARM系列處理器根據各自特點應用于不同領域。從應用的角度上ARM芯片選擇的一般原則:MMU;處理器速度;內置存儲器容量;USB接口;GPIO數量;中斷控制器;IIS(integrate interface ofsound)音頻接口;nWAIT信號;RTC(real timeclock);LCD控制器;PWM輸出等各項指標。

本文使用的是ARM9,其性能遠遠高過ARM7。開發(fā)板使用的是廣州斯道信息技術有限公司的開發(fā)板,中央處理器是三星公司的S3C2410。ARM9具有以下特點:5級流水線;采用哈佛結構;高速緩存和寫緩存的引入;支持MMU。

2嵌入式Linux系統(tǒng)

嵌入式操作系統(tǒng)是嵌入式應用軟件的基礎和開發(fā)平臺,它的出現(xiàn)解決了嵌入式軟件開發(fā)標準化的難題。嵌入式系統(tǒng)具有操作系統(tǒng)的最基本的功能。目前主流的嵌入式系統(tǒng)有以下兒種:Linux、VxWorks、QNX、Windows CE、Palm OS。

嵌入式Linux操作系統(tǒng)具有一些獨特的優(yōu)勢:層次結構及內核完全開放;強大的網絡支持功能;具備一整套工具鏈;廣泛的硬件支持特性。

嵌入式Linux系統(tǒng)有很多種。本文使用的是Red Hat9操作系統(tǒng)。

在安裝有Windows和Linux雙系統(tǒng)的PC上,系統(tǒng)會以Linux的GRUB作為引導裝入器來選擇啟動二者。此時若直接刪除Linux分區(qū),會導致系統(tǒng)無法啟動Windows或者是需要用行命令才能啟動Windows。可以先使用虛擬機安裝Linux系統(tǒng),練習使用,熟悉后再在PC上安裝。

3應用程序開發(fā)

一般嵌入式開發(fā)流程如圖1所示。

這里省略前面三步,從開發(fā)應用程序開始。

3.1交叉開發(fā)環(huán)境建立

對嵌入式系統(tǒng)而言,只裝備必要的資源是前提條件,這也決定了嵌入式應用程序的開發(fā)環(huán)境不可能是資源有限的嵌入式系統(tǒng),只能利用資源豐富的PC開發(fā),然后建立交叉開發(fā)平臺。

交叉編譯器(cross-compiler)是進行交叉平臺開發(fā)的主要軟件工具。它是運行在一種處理器體系結構上,但是可以生成在另一種不同的處理器體系結構上運行的目標代碼的編譯器。 要建立交叉開發(fā)環(huán)境,主要需要幾個工具包:gcc,glib,binutils,gdb等。一般開發(fā)板都提供這些工具,如果不是使用的開發(fā)板,在網上也是可以下載到全部軟件包的。依次將它們安裝在PC上即可。

Linux的軟件安裝方法與Windows不同。Linux中根據不同的壓縮打包方式使用不同的命令安裝。在安裝過程中,由于軟件包之間的依賴關系,系統(tǒng)可能會警告還有哪些沒有安裝,可以忽略這些警告。

3.2 U-Boot

在U-Boot(UniversalBootloader)之前,先介紹一下Bootloader。簡單的說,Bootloader就是在操作系統(tǒng)內核運行之前的一段引導程序,類似于PC中的BIOS。通過它,可以完成對應硬件設備的初始化,并建立內存空間的映射圖的功能,為最終調用系統(tǒng)內核做好準備。

U-Boot是遵循GPL條款的開放源碼項目,它不僅僅支持嵌人式Linux系統(tǒng)的引導,U-Boot中Universal的一層含義就是在于U-Boot支持多種嵌入式操作系統(tǒng),就目前來看,U-Boot對Linux的支持最完善。另外一層含義則是U-Boot支持多種常用系列的處理器。

U-Boot支持的主要功能:系統(tǒng)引導;基本輔助功能(操作系統(tǒng)接口功能;可靈活設置、傳遞多個關鍵參數給操作系統(tǒng);支持目標板多種存儲方式;CRC32校驗);設備驅動;上電自檢功能;特殊功能(XIP內核引導)。

U-Boot移植主要分為兩步:配置主板和設置Flash和SDRAM時序。

3.3嵌入式Linux系統(tǒng)內核編譯和移植

嵌入式Linux內核的編譯都是通過make的不同命令實現(xiàn)的,一般分為3步:(1)內核配置。主要是用戶用于為目標板選擇處理器架構的選項。內核支持4種方法的配置,雖然界面不同,但功能是一樣的,其中make menuconfig使用最廣泛;(2)建立依賴關系。在第一次編譯時發(fā)生,產生".de-pend"文件,運行"make dep"即可;(3)建立內核。這里建立的是壓縮的內核映像,使用"make zIm-age"或"make bzImage"。這樣就完成了編譯,下載在開發(fā)板即可。

一般來說與開發(fā)板通信有3種方式:網絡下載(tftp,ftp等),串口下載和USB下載。用tftp下載,需要配置Linux下的tftp服務,然后將PC和開發(fā)板直連線(非網線)即可;用串口下載,需要配置Linux下的串日通信工具Minicom。配置的主要是一些重要參數,如波特率。

但是只有系統(tǒng)內核是不夠的,要使系統(tǒng)正常啟動,還需要加載文件系統(tǒng),所以需要制作文件系統(tǒng)??梢允止ぶ谱鳎枪ぷ髁刻?,一般是把現(xiàn)有文件系統(tǒng)加載到目標板,包括制作文件系統(tǒng)鏡像和用NFS加載文件系統(tǒng)方法。

開發(fā)板上一般已經燒寫好了嵌入式系統(tǒng)內核鏡像,文件系統(tǒng)和前面講的U-Boot,在掌握了燒寫方法后,可以自己下載。

3.4源程序的獲得、編譯和調試

由于Linux是開源軟件,所以運行在其下的應用軟件也是開源軟件,不管是哪一類的都免費獲得源代碼??梢灾苯釉谝延械脑创a上進行修改得到符合要求的代碼。論文中使用的就是已有的源代碼,如圖2所示。

Linux操作系統(tǒng)支持匯編,C,C++,Basic,F(xiàn)ortran,Pascal,JAVA,PHP等多種編程語言。其下的文本編輯器是Vi和Emacs,二者均有強大的編輯功能。圖形界面的編程用的是Qt或是MiniGUI。利用以上軟件,跟在Windows和其他操作系統(tǒng)下的軟件編寫方法完全相同。

編寫軟件的過程與在其他系統(tǒng)下沒有什么不同,不同的地方在與編譯和調試。嵌入式中稱之為交叉編譯和交叉調試。

交叉編譯就是將在PC上編寫好的源代碼經過編譯、鏈接生成可以在嵌入式系統(tǒng)上運行的代碼,如圖2所示。

在交叉調試中,調試器和被調試程序分別在PC系統(tǒng)和嵌入式系統(tǒng)中,這是與一般調試不同的地方。交叉調試一般分為軟件調試和硬件調試。

軟件調試插入調試樁的方式進行。典型的是GDB調試器,它分為GdbServer和GdbClient,前者作為調試樁安裝在arm的嵌入式系統(tǒng)中,后者駐于本地PC中,二者可通過串口、網口、并口通信。

硬件調試一般都使用的是仿真器,常用的如ROMMonitor、ROMEmulator、In-CircuitEmulator和In-CircuitDebugger。硬件調試功能更強大,性能更優(yōu)秀,但是有的價格昂貴,額外的設備增加了成本。而ARM的JTAG端口實現(xiàn)在CPU內部調試,通過端口發(fā)送命令和接收信息。

JTAG采用的主要技術為邊界掃描技術,它的基本思想就是在靠近芯片的輸入輸出管腳上增加一個移位寄存器單元。當芯片處于調試狀態(tài)時候,這些邊界掃描寄存器可以將芯片和外圍的輸入輸出隔離開來。通過這些邊界掃描寄存器單元,可以實現(xiàn)對芯片輸入輸出信號的觀察和控制,它提供了一個便捷的方式用于觀測和控制所需要調試的芯片。通過JTAG接口可以方便地對目標系統(tǒng)進行測試,同時,還可以實現(xiàn)Flash的編程,是非常受人歡迎的調試方式。

4結 論

主機從網絡下載mp3格式歌曲,通過串口(或tftp)傳送到開發(fā)板上,用經過調試的播放器,結合教研室開發(fā)的功率放大器,很好的實現(xiàn)了播放音頻的功能。

在此基礎上,還可以進一步開發(fā)視頻播放功能。除了播放器應用軟件,還可以根據存儲器的大小增加其他應用程序。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數據產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數據產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉