嵌入式系統的開發

2021-09-27 02:40:24 字數 3735 閱讀 7463

一.嵌入式系統的開發過程和工具

1.開發步驟

(1)需求分析與規格說明:通常包括功能部分和非功能部分,非功能部分需求主要是指效能、成本、尺寸、重量和功耗等

(2)系統設計:也叫做概要設計或總體設計,根據規格說明書中系統要實現的功能,確定如何實現這些功能的硬體和軟體,即哪些功能由硬體完成,哪些功能由軟體完成,還必須描述非功能上的需求如何實現,即不僅要描述系統需求如何實現,且必須要符合系統需求中關於處理速度、功耗、成本等關於其他效能的約束。

(3)構件設計:需要設計或選擇符合系統結構和規格說明中所需要的具體構件,既包括硬體也包括軟體模組。

(4)系統整合與測試:在系統整合時,應該分步的,按階段的構建系統,並且每次只對一部分構建或模組所形成的體系測試,每塊測試完成後再進行總體測試。

1)測試(test):驗證模組/系統的功能和效能,同時發現錯誤

2)除錯(debug):分析測試,發現錯誤,檢查原因,並定位錯誤,採取適當的措施修改軟硬體,然後返回重新進行測試

2.開發特點

(1)使用宿主機-目標機架構

1)宿主機是開發用機,目前大多數執行windows作業系統,應用軟體的開發和除錯都是通過宿主機完成

(2)與底層硬體控制程式關係密切

(3)軟硬體資源受限制,故需綜合考慮系統軟硬體邏輯功能如何實現

(4)需固化程式,即把軟體**燒寫(用程式設計器)到非易失性儲存器中

4.系統的除錯工具

除錯工具的任務是控制程式**的執行並使系統中看不見的資訊稱為可見(2)jtag介面卡

1)片上除錯技術jtag,人們常用jtag來表示邊界掃瞄測試方法和tap介面(稱為jtag介面),是對晶元或印製電路板進行片上除錯最常用的一種技術,是用於片上除錯技術的統稱

2)jtag是ieee下的乙個組織,是研究測試訪問埠和邊界掃瞄結構的標準,研究結果就是俗稱的jtag標準,jtag標準中規定tap介面使用以下5根訊號線:tck、tms、tdi、tdo、trst

3)使用jtag進行除錯,無需目標儲存器,也不占用目標機任何i/o埠(3)駐留監控軟體:一段固化在目標機rom中的程式,成本較低,不需要專門的硬體除錯和**裝置

(4)指令模擬器(iss):在宿主機上模擬應用程式在目標機上執行行為的乙個軟體工具,其操作介面與通用機的整合開發環境類似

5.**平台

(1)虛擬機器管理軟體

(2)**軟體

(3)指令集模擬器

二.系統開發工具軟體

1.ads

(1)利用ads1.2工具套件基於arm平台的的軟體開發,在編譯鏈結時,位址對映鏈結型別有兩種方式:******和scattered連線型別,採用scattered連線型別是需要提供乙個scatter格式的配置檔案,當位址對映關係比較複雜時,使用scatter格式的檔案來確定輸入檔案的鏈結順序

(2)連線型別的配置實際上就是確定工程專案的位址對映關係,通俗講,就是要對工程專案中的各段**或資料進行儲存空間的位址分配,以確定他們在目標機上實際儲存空間中的位址值,以便輸出檔案能在目標機上正確執行

(2)以工程專案的方式來管理源**檔案、庫檔案以及其他檔案,為了方便管理,這些檔案還可以按照某種邏輯關係進行分組,不是必須分組

(3)乙個工程專案中至少應包含乙個生成目標,所謂的生成目標指用於生成特定輸出檔案的生成選項以及所用的所有檔案集合,arm提供的可執行輸出檔案的模板包括了下面3個目標:debug、release、debugrel;若生成的輸出檔案需要包含所有除錯資訊,則生成目標應為debug

(4)ads1.2工具把編譯後的資訊,按照ro段或rw段或zi段來儲存

2.rvds

(1)是arm公司推出的基於arm系列cpu進行開發的工具套件,支援所有arm晶元,還支援其他核心的處理器,如51系列3.gun工具套件

(1)包括編譯器、聯結器、偵錯程式、文字編輯器、語法排錯等工具

(2)編譯聯結器gcc:

1)能編譯組合語言、c語言**,設計者需要對源程式進行除錯時,在gcc中加入-g引數,僅編譯而不連線加入-c引數

2)gcc所編譯的目標機的處理器包括x86、arm、powerpc等體系結構的處理器

3)針對於arm體系結構的目標機而言,該c語言編譯器的命令書寫格式中,其帶字首的命令是arm-linux-gcc

4)由於linux作業系統可執行檔案沒有統一的檔案字尾,作業系統是從檔案的屬性來區分可執行檔案和不可執行檔案的,因此gcc生成可執行檔案時若使用者未指定檔名,則gcc生成乙個名為a.out的可執行檔案

5)gcc將原始檔生成可執行檔案的過程是四個階段:預處理、編譯、彙編、鏈結

6)是在宿主機上安裝並使用的工具軟體

(3)偵錯程式gdb:file用來裝入需要除錯的可執行檔案,run命令執行當前被除錯的程式,用來終止當前被除錯程式執行的命令是kill,watch命令觀察被除錯程式中的變數值

三.以s3c2410/s3c2440為背景的應用系統開發

1.硬體介面及部件的綜合使用

(1)ax88796是一款乙太網控制器晶元,資料匯流排寬度為16位,其片選訊號cs引腳連到s3c2410晶元的外部儲存空間上,因此讀/寫ax88796晶元內部暫存器的位址範圍是0x10000000-0x100003ff,即首位址時0x10000000

(2)設計嵌入式系統實現實時日曆功能,可通過arm晶元內部的rtc部件來實現

3.有作業系統環境下的系統開發

(1)軟體平台的構建步驟

1)首先移植啟動引導

2)然後移植linux作業系統核心:移植工作的重點是改寫os-cpu.h、os-cpu-a.s、os-cpu-c.c

3)再構建根檔案系統

(2)構建支援web功能的軟體平台

1)嵌入式wen伺服器的應用需求與通用web伺服器的應用需求不同,他不是以提供資訊為主,而是提供乙個基於遠端客戶端的操控方式,使用者在遠端客戶機上通過瀏覽器與嵌入式web伺服器互動,從而操控被嵌入的裝置

2)嵌入式web伺服器通常是與目標系統的控制器融為一體

3)嵌入式服web伺服器環境構建

4)應用網頁設計:通常採用htmi語言來進行程式設計

5)cgi介面程式設計

6)客戶機一般用瀏覽器訪問網際網路,即訪問web伺服器

(3)基於μc/os-ii作業系統平台來開發

1)乙個應用程式的工程專案中,必須包含啟動引導程式、μc/os-ii的庫檔案、應用程式檔案等

2)應用程式的main()函式中,除了使用者函式和硬體初始化函式外,需要用函式ostaskcreate()來建立任務,建立任務前用函式osinit()來初始化μc/os-ii,用osstart()函式啟動多任務排程

4.夏農定理:取樣週期不得低於訊號的1/2

嵌入式系統的開發流程

嵌入式系統的概念 以應用為中心,以計算機技術為基礎,且軟硬體可裁減,適應應用系統對功能 可靠性 成本 體積 功耗有嚴格要求的專用計算機系統。嵌入式系統與普通 pc機的對比 軟體上的對比 名稱 嵌入式系統 pc 引導 bootloader 引導,針對不同電路進行移植 主機板的 bios 引導,無須改動...

嵌入式系統的開發流程

嵌入式系統的開發流程 摘要 本文以 hharm9 edu為例,簡要說明一下嵌入式系統的開發流程。整個流程很簡單,流程圖如下 一 配置linux及minigui 配置linux 由於 掛載磁碟 修改 etc fstab,在末尾新增如下語句 dev hda7 mnt win c vfat default...

嵌入式系統的開發概述

1 以硬體為中心,以計算機技術為基礎,軟硬體可裁剪,應用系統對功能 可靠性 成本 體積 功耗和應用環境有特殊要求的專用計算機系統。是將應用程式 作業系統和計算機硬體整合在一起的系統 技術角度 2 嵌入式系統是設計完成複雜功能的硬體和軟體,並使其緊密耦合在一起的計算機系統 系統角度 嵌入式系統是以嵌入...