在线亚洲成人/中文字幕我不卡/涩五月婷婷/日日添日日鲁日日夜 - 99re国产精品视频

淺談嵌入式軟件開發是什么?
發布時間:2020-05-27

嵌入式開發就是指在嵌入式操作系統下進行開發,包括在系統化設計指導下的硬件、軟件以及綜合研發。硬件研發通常指在EDA軟件平臺上,用硬件描述語言VerilogHDL完成設計文件,然后由計算機自動地完成邏輯編譯、化簡、分割、綜合、優化、布局、布線和仿真,直至對于特定目標芯片的適配編譯、邏輯映射和編程下載等工作。嵌入式軟件研發就是在一定硬件條件下的系統化設計和軟件研發。主要使用的語言是C/C++、Ada。

嵌入式系統是一個控制程序存儲在ROM中的嵌入式處理器控制板。事實上,所有帶有數字接口的設備,如手表、微波爐、錄像機、汽車等,都使用嵌入式系統,有些嵌入式系統還包含操作系統,有些嵌入式系統都是由單個程序實現整個控制邏輯。

嵌入式系統的演進方向

1. 以單片機為核心、可編程控制器存在形式

沒有操作系統支持軟件以匯編為主功能單一、處理效率低、存儲容器小,沒有外部接口使用簡單、價格低

2. 以嵌入式CPU為基礎、簡單操作系統為核心

CPU種類多,通用性弱系統開銷小,效率高達到一定的兼容性,拓展性用戶體驗度不高,交互界面不夠友好

3. 以嵌入式操作系統為標志

兼容性好,適用于不同平臺系統開銷小,效率高,具有高度模塊化及拓展性圖形化界面、用戶界面友好豐富的外部接口

4. 以物聯網為標志

將傳感器技術、互聯網技術及傳統嵌入式技術綜合聯系小型化、智能化、網絡化、可視化低功耗、綠色環保多核技術、云計算、虛擬化技術

嵌入式的兩種開發模式

非嵌入式的開發

A類機編寫源代碼,編譯得到可執行程序,發布給A類機運行。

嵌入式開發

A類機編寫源代碼,編譯得到可執行程序,發布給B類機運行,這種編譯模式也叫作交叉編譯。

為什么使用交叉?嵌入式開的CPU比較簡單,本身無法搭建開發環境,有些甚至操作系統都沒有;交叉編譯器可以用高性能機器為低性能機器開發軟件。交叉編譯必須使用專用的交叉編譯工具。由于可執行程序不能在本地運行調試,因此必須使用特殊的方法將可執行程序加載到目標嵌入式設備上運行及調試。

嵌入式開發流程

創建工程項目

在配置硬件設備和安裝軟件開發工具后,就可以開始創建工程項目,通常需要選擇項目文件的存儲位置及目標處理器。

添加項目文件

開發人員需要創建源程序文件,編寫應用程序代碼,并添加到工程項目中;還將使用設備驅動程序的庫文件,包括啟動代碼、頭文件和一些外設控制函數,甚至中間件(Middleware)等。這些文件也需要添加到項目中。

配置工程選項

源于硬件設備的多樣性和軟件工具的復雜性,工程項目提供了不少選項,需要開發人員配置,如輸出文件類型和位置、編譯選項和優化類型等,還要根據選用的開發板和在線仿真器,配置代碼調試和下載選項等。

交叉編譯連接

利用開發軟件工具對項目的多個文件分別編譯,生成相應的目標文件,然后連接生成最終的可執行文件映像,以下載到目標設備的文件格式保存。如果編譯連接有錯誤,返回修改;如果沒有錯誤,先進行軟件模擬運行和調試,再下載到開發板運行和調試。

程序下載

目前,絕大多數微控制器都使用閃存(Flash Memory)保存程序。創建可執行文件映像后,需要使用在線仿真器(或串口、網口)將其下載到微控制器的閃存中,實現閃存的編程;還可以將可執行文件下載到SRAM中運行。

運行和調試

程序下載后,可以啟動運行,看是否正常工作。如果有問題,連接在線仿真器,借助軟件開發工具的調試環境進行斷點和單步調試,觀察程序操作的詳細過程。如果應用程序運行有錯誤,返回修改。

編輯  潤揚網絡策劃服務有限公司