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