嵌入式是軟件和硬件的綜合體,以應用為中心,以計算機技術為基礎,軟硬件可裁剪,適應應用系統對功能、可靠性、成本、體積、功耗等嚴格要求的專用計算機系統。前面也說了,嵌入式分為軟件和硬件,嵌入式軟件就是嵌入在硬件中的操作系統和開發工具軟件,它在產業中的關聯關系體現為:芯片設計制造→嵌入式系統軟件→嵌入式電子設備開發、制造。據調查,嵌入式軟件行業有50%以上的公司企業都是重點招聘的人才,那么今天就以嵌入式軟件開發為例,來詳細的了解一下嵌入式軟件開發的流程有哪些?為一些還不是很了解嵌入式軟件開發或者在這方面學習上又問題的人來答疑。
對于嵌入式軟件開發來說,他會根據使用的開發工具不同,而他的軟件開發流程也不一樣,但主要步驟大致相同。嵌入式軟件開發流程一般可以總結這幾點步驟:創建項目、添加文件、編譯連接、下載調試。我們首先用一組圖片來說明,這樣會讓你對這個流程更加的清晰。
圖1:嵌入式軟件開發流程
通過上圖我想你們對嵌入式軟件開發大致的流程已經了解一些了,那么接下來就是具體的了,每一步都需要注意什么,都需要做什么,下面來讓你詳細了解:
(1)創建工程項目:在配置硬件設備和安裝軟件開發工具后,就可以開始創建工程項目,通常需要選擇項目文件的存儲位置及目標處理器。
(2)添加項目文件:開發人員需要創建源程序文件,編寫應用程序代碼,并添加到工程項目中;還將使用設備驅動程序的庫文件,包括啟動代碼、頭文件和一些外設控制函數,甚至中間件(Middleware)等。這些文件也需要添加到項目中。
(3)配置工程選項:源于硬件設備的多樣性和軟件工具的復雜性,工程項目提供了不少選項,需要開發人員配置,如輸出文件類型和位置、編譯選項和優化類型等,還要根據選用的開發板和在線仿真器,配置代碼調試和下載選項等。
(4)交叉編譯連接:利用開發軟件工具對項目的多個文件分別編譯,生成相應的目標文件,然后連接生成最終的可執行文件映像,以下載到目標設備的文件格式保存。如果編譯連接有錯誤,返回修改;如果沒有錯誤,先進行軟件模擬運行和調試,再下載到開發板運行和調試。
(5)程序下載:目前,絕大多數微控制器都使用閃存(Flash Memory)保存程序。創建可執行文件映像后,需要使用在線仿真器(或串口、網口)將其下載到微控制器的閃存中,實現閃存的編程;還可以將可執行文件下載到SRAM中運行。
(6)運行和調試:程序下載后,可以啟動運行,看是否正常工作。如果有問題,連接在線仿真器,借助軟件開發工具的調試環境進行斷點和單步調試,觀察程序操作的詳細過程。如果應用程序運行有錯誤,返回修改。
這些流程你是否已經熟記于心了呢?這還是不夠的,要記住,多多練習,這樣才能吃透。
嵌入式軟件開發在做到這些流程前,要做好嵌入式軟件開發,你首先得學過單片機原理,對于底層的一些運作有個大致了解,最不濟也得明白數字電路是怎么回事吧!而且要對嵌入式軟件開發的一些基礎都應該掌握透徹,這是學嵌入式軟件開發最基本的。