




免費預覽已結(jié)束,剩余1頁可下載查看
下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
此文檔收集于網(wǎng)絡,如有侵權,請聯(lián)系網(wǎng)站刪除1 嵌入式系統(tǒng)的結(jié)構(gòu)1.1 嵌入式系統(tǒng)的硬件架構(gòu)如圖5-1所示,為嵌入式系統(tǒng)硬件模型結(jié)構(gòu),此系統(tǒng)主要由微處理器MPU、外圍電路,以及外設組成,微處理器為ARM嵌入式處理芯片,如ARM7TMDI系列及ARM9系列微處理器,MPU為整個嵌入式系統(tǒng)硬件的核心,決定了整個系統(tǒng)功能和應用領域。外圍電路根據(jù)微處理器不同而略有不同,主要由電源管理模型、時鐘模塊、閃存FIASH、隨機存儲器RAM,以及只讀存儲器ROM組成。這些設備是一個微處理器正常工作所必須的設備。外部設備將根據(jù)需要而各不相同,如通用通信接口USB、RS-232、RJ-45等,輸入輸出設備,如鍵盤、LCD等。外部設備將根據(jù)需要定制。嵌入式處理系統(tǒng)主要包括嵌入式微處理器、存儲設備、模擬電路及電源電路、通信接口,以及外設電路。1.2嵌入式系統(tǒng)的軟件結(jié)構(gòu)嵌入式系統(tǒng)與傳統(tǒng)的單片機在軟件方面最大的不同就是可以移植操作系統(tǒng),從而使軟件設計層次化,傳統(tǒng)的單片機在軟件設計時將應用程序與系統(tǒng)、驅(qū)動等全部混在一起編譯,系統(tǒng)的可擴展性,可維護性不高,上升到操作系統(tǒng)后,這一切變得很簡單可行。嵌入式操作系統(tǒng)在軟件上呈現(xiàn)明顯的層次化,從與硬件相關的BSP到實時操作系統(tǒng)內(nèi)核RTOS,到上層文件系統(tǒng)、GUI界面,以及用戶層的應用軟件。各部分可以清晰地劃分開來,如圖5-2所示。當然,在某些時候這種劃分也不完全符合應用要求。需要程序設計人員根據(jù)特定的需要來設計自己的軟件。板級支持包(Board Support Packet)主要用來完成底層硬件相關的信息,如驅(qū)動程序,加載實時操作系統(tǒng)等功能; 實時操作系統(tǒng)層主要就是常見的嵌入式操作系統(tǒng),設計者根據(jù)自己特定的需要來設計移植自己的操作系統(tǒng),即添加刪除部分組件,添加相應的硬件驅(qū)動程序,為上層應用提供系統(tǒng)調(diào)用;文件系統(tǒng)、GUI,以及系統(tǒng)管理主要應對需要,即如果需要文件系統(tǒng)及圖形界面支持才需要設計,主要是為了應用程序員開發(fā)應用程序提供更多更便捷更豐富的API接口;應用軟件層即用戶設計的針對特定應用的應用軟件,在開發(fā)該應用軟件時,可以用到底層提供的大量函數(shù)。采用分層結(jié)構(gòu)的軟件設計使系統(tǒng)清晰明了,各個部分設計工作分工明確,從而避免整個系統(tǒng)過分龐大。2 嵌入式開發(fā)的模式及流程2.1 嵌入式系統(tǒng)開發(fā)模式嵌入式系統(tǒng)開發(fā)分為軟件開發(fā)部分和硬件開發(fā)部分。嵌入式系統(tǒng)在開發(fā)過程一般都采用如圖5-3所示的“宿主機/目標板”開發(fā)模式,即利用宿主機(PC機)上豐富的軟硬件資源及良好的開發(fā)環(huán)境和調(diào)試工具來開發(fā)目標板上的軟件,然后通過交叉編譯環(huán)境生成目標代碼和可執(zhí)行文件,通過串口/USB/以太網(wǎng)等方式下載到目標板上,利用交叉調(diào)試器在監(jiān)控程序運行,實時分析,最后,將程序下載固化到目標機上,完成整個開發(fā)過程。在軟件設計上,如圖5-4所示為結(jié)合ARM硬件環(huán)境及ADS軟件開發(fā)環(huán)境所設計的嵌入式系統(tǒng)開發(fā)流程圖。整個開發(fā)過程基本包括以下幾個步驟。(1)源代碼編寫:編寫源C/C+及匯編程序;(2)程序編譯:通過專用編譯器編譯程序;(3)軟件仿真調(diào)試:在SDK中仿真軟件運行情況;(4)程序下載:通過JTAG、USB、UART方式下載到目標板上;(5)軟硬件測試、調(diào)試:通過JTAG等方式聯(lián)合調(diào)試程序;(6)下載固化:程序無誤,下載到產(chǎn)品上生產(chǎn)。2.2嵌入式系統(tǒng)開發(fā)流程當前,嵌入式開發(fā)已經(jīng)逐步規(guī)范化,在遵循一般工程開發(fā)流程的基礎上,嵌入式開發(fā)有其自身的一些特點,如圖5-5所示為嵌入式系統(tǒng)開發(fā)的一般流程。主要包括系統(tǒng)需求分析(要求有嚴格規(guī)范的技術要求)、體系結(jié)構(gòu)設計、軟硬件及機械系統(tǒng)設計、系統(tǒng)集成、系統(tǒng)測試,最終得到最終產(chǎn)品。(1)系統(tǒng)需求分析。確定設計任務和設計目標,并提煉出設計規(guī)格說明書,作為正式設計指導和驗收的標準。系統(tǒng)的需求一般分功能性需求和非功能性需求兩方面。功能性需求是系統(tǒng)的基本功能,如輸入輸出信號、操作方式等;非功能需求包括系統(tǒng)性能、成本、功耗、體積、重量等因素。(2)體系結(jié)構(gòu)設計。描述系統(tǒng)如何實現(xiàn)所述的功能和非功能需求,包括對硬件、軟件和執(zhí)行裝置的功能劃分,以及系統(tǒng)的軟件、硬件選型等。一個好的體系結(jié)構(gòu)是設計成功與否的關鍵。(3)硬件/軟件協(xié)同設計。基于體系結(jié)構(gòu),對系統(tǒng)的軟件、硬件進行詳細設計。為了縮短產(chǎn)品開發(fā)周期,設計往往是并行的。嵌入式系統(tǒng)設計的工作大部分都集中在軟件設計上,采用面向?qū)ο蠹夹g、軟件組件技術、模塊化設計是現(xiàn)代軟件工程經(jīng)常采用的方法。(4)系統(tǒng)集成。把系統(tǒng)的軟件、硬件和執(zhí)行裝置集成在一起,進行調(diào)試,發(fā)現(xiàn)并改進單元設計過程中的錯誤。(5)系統(tǒng)測試。對設計好的系統(tǒng)進行測試,看其是否滿足規(guī)格說明書中給定的功能要求。嵌入式系統(tǒng)開發(fā)模式最大特點是軟件、硬件綜合開發(fā)。這是因為嵌入式產(chǎn)品是軟硬件的結(jié)合體,軟件針對硬件開發(fā)、固化、不可修改。如果在一個嵌入式系統(tǒng)中使用Linux技術開發(fā),根據(jù)應用需求的不同有不同的配置開發(fā)方法,但是,一般情況下都需要經(jīng)過如下的過程。(1)建立開發(fā)環(huán)境,操作系統(tǒng)一般使用Redhat Linux,選擇定制安裝或全部安裝,通過網(wǎng)絡下載相應的GCC交叉編譯器進行安裝(比如,arm-1inux-gcc、arnl-uclibc-gcc),或者安裝產(chǎn)品廠家提供的相關交叉編譯器;(2)配置開發(fā)主機,配置MINICOM,一般的參數(shù)為波特率115200 Baud/s,數(shù)據(jù)位8位,停止位為1,9,無奇偶校驗,軟件硬件流控設為無。在Windows下的超級終端的配置也是這樣。MINICOM軟件的作用是作為調(diào)試嵌入式開發(fā)板的信息輸出的監(jiān)視器和鍵盤輸入的工具。配置網(wǎng)絡主要是配置NFS網(wǎng)絡文件系統(tǒng),需要關閉防火墻,簡化嵌入式網(wǎng)絡調(diào)試環(huán)境設置過程。(3)建立引導裝載程序BOOTLOADER,從網(wǎng)絡上下載一些公開源代碼的BOOTLOADER,如UBOOT、BLOB、VIVI、LILO、ARM-BOOT、RED-BOOT等,根據(jù)具體芯片進行移植修改。有些芯片沒有內(nèi)置引導裝載程序,比如,三星的ARV17、ARM9系列芯片,這樣就需要編寫開發(fā)板上FLASH的燒寫程序,讀者可以在網(wǎng)上下載相應的燒寫程序,也有Linux下的公開源代碼的J-FLASH程序。如果不能燒寫自己的開發(fā)板,就需要根據(jù)自己的具體電路進行源代碼修改。這是讓系統(tǒng)可以正常運行的第一步。如果用戶購買了廠家的仿真器比較容易燒寫FLASH,雖然無法了解其中的核心技術,但對于需要迅速開發(fā)自己的應用的人來說可以極大提高開發(fā)速度。(4)下載已經(jīng)移植好的Linux操作系統(tǒng),如MCLiunx、ARM-Linux、PPC-Linux等,如果有專門針對所使用的CPU移植好的Linux操作系統(tǒng)那是再好不過,下載后再添加特定硬件的驅(qū)動程序,然后進行調(diào)試修改,對于帶MMU的CPU可以使用模塊方式調(diào)試驅(qū)動,而對于MCLiunx這樣的系統(tǒng)只能編譯內(nèi)核進行調(diào)試。(5)建立根文件系統(tǒng),可以從http:/下載使用BUSYBOX軟件進行功能裁減,產(chǎn)生一個最基本的根文件系統(tǒng),再根據(jù)自己的應用需要添加其他的程序。由于默認的啟動腳本一般都不會符合應用的需要,所以就要修改根文件系統(tǒng)中的啟動腳本,它的存放位置位于/etc目錄下,包括:/etc/init.d/rc.S、/etc/profile、/etc/.profile等,自動掛裝文件系統(tǒng)的配置文件/etc/fstab,具體情況會隨系統(tǒng)不同而不同。根文件系統(tǒng)在嵌入式系統(tǒng)中一般設為只讀,需要使用mkcramfs genromfs等工具產(chǎn)生燒寫映像文件。(6)建立應用程序的FLASH磁盤分區(qū),一般使用JFFS2或YAFFS文件系統(tǒng),這需要在內(nèi)核中提供這些文件系統(tǒng)的驅(qū)動,有的系統(tǒng)使用一個線性FLASH(NOR型)512KB32MB,有的系統(tǒng)使用非線
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 臨床醫(yī)院實習報告總結(jié)范文
- 2025年地震觀測設備項目合作計劃書
- 2025年鎳鎘電池項目建議書
- 2025屆上海市桃浦中學 高一物理第二學期期末復習檢測模擬試題含解析
- 打造智慧辦公生態(tài)圈如何運用區(qū)塊鏈技術實現(xiàn)高效身份驗證
- 廣東省廣州市廣東第二師范學院番禺中2025屆高一物理第二學期期末達標檢測模擬試題含解析
- 心理驅(qū)動的學習教育心理學的新視角
- 學習動機與學習潛能的深度解析
- 專題04 薦信 感謝信 倡議書(測試)(原卷版)-2025年高考英語二輪復習
- 教育技術的前沿個性化學習與評估的挑戰(zhàn)與機遇
- 2023年中國石化河北石家莊石油分公司社會招聘20人筆試模擬試題及答案解析
- 太陽能熱水系統(tǒng)設計
- 醫(yī)務科崗前培訓
- 共青團團課主題班會課件PPT模板PPT
- GB/T 8685-2008紡織品維護標簽規(guī)范符號法
- 合成氨行業(yè)發(fā)展現(xiàn)狀及趨勢分析
- 2022年徐聞縣(中小學、幼兒園)教師招聘筆試試題及答案解析
- 網(wǎng)電部管理重點(中)
- 新生兒復蘇解析課件
- ABI7500熒光定量PCR儀標準操作規(guī)程
- 語言領域核心經(jīng)驗《學前兒童語言學習與發(fā)展核心經(jīng)驗》
評論
0/150
提交評論