本發(fā)明屬于軟件開發(fā)技術(shù)領(lǐng)域,特別是涉及一種基于嵌入式軟件開發(fā)方法。
背景技術(shù):
嵌入式系統(tǒng)開發(fā)是當(dāng)今計(jì)算機(jī)軟件發(fā)展的一個(gè)熱點(diǎn)。嵌入式系統(tǒng)的關(guān)鍵之處在于,結(jié)合微處理器或微控制器的系統(tǒng)電路與其專屬的軟件,來達(dá)到系統(tǒng)操作效率成本的最高比。隨著計(jì)算機(jī)技術(shù)的發(fā)展和應(yīng)用的普及,嵌入式系統(tǒng)己滲透到日常生活的各個(gè)方面,廣泛地應(yīng)用于消費(fèi)電子、通信、汽車、國防、航空航天、工業(yè)控制、儀表和辦公自動(dòng)化等領(lǐng)域,它在應(yīng)用數(shù)量上遠(yuǎn)遠(yuǎn)超過了各種通用計(jì)算機(jī)。嵌入式系統(tǒng)是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可剪哉,適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、成本、體積和功耗嚴(yán)格要求的專用計(jì)算機(jī)。嵌入式軟件開發(fā)有別于通用計(jì)算機(jī)軟件系統(tǒng)開發(fā)的一個(gè)顯著特點(diǎn)是:它一般需要一個(gè)交叉編譯和調(diào)試環(huán)境,即編輯和編譯軟件在宿主機(jī)上進(jìn)行(一般是在有較充裕CPU和內(nèi)存資源的運(yùn)行Windows操作系統(tǒng)的PC機(jī)上進(jìn)行),編譯好的目標(biāo)軟件則需要下載到目標(biāo)機(jī)上運(yùn)行(如在一個(gè)運(yùn)行嵌入式Linux系統(tǒng)的ARM目標(biāo)板上運(yùn)行)。宿主機(jī)和目標(biāo)機(jī)通過特定的通信協(xié)議建立通信連接。宿主機(jī)通過這個(gè)通信連接向目標(biāo)機(jī)發(fā)送調(diào)試指令,而目標(biāo)機(jī)則運(yùn)行該調(diào)試指令并將相應(yīng)的運(yùn)行結(jié)果返回給宿主機(jī)。由于宿主機(jī)和目標(biāo)機(jī)上往往運(yùn)行著不同的操作系統(tǒng),并且處理器的體系結(jié)構(gòu)往往也不相同,這樣就顯著提高了嵌入式軟件開發(fā)的復(fù)雜性。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種基于嵌入式軟件開發(fā)方法,通過對嵌入式軟件的開發(fā)進(jìn)行設(shè)計(jì)、編譯、調(diào)試、測試以及固化運(yùn)行的過程,提高系統(tǒng)的可擴(kuò)展性,并且,提高各組件的集成,降低嵌入式軟件開發(fā)的周期。
本發(fā)明是通過以下技術(shù)方案實(shí)現(xiàn)的:
本發(fā)明為一種基于嵌入式軟件開發(fā)方法,包括如下步驟:
步驟一,需求分析:獲取對系統(tǒng)開發(fā)的具體要求,包括功能性需求和性能需求;
步驟二,概要設(shè)計(jì):根據(jù)需求分析階段產(chǎn)生的結(jié)果尋求實(shí)現(xiàn)目標(biāo)系統(tǒng)的方案,然后確定方案,并對系統(tǒng)進(jìn)行結(jié)構(gòu)的設(shè)計(jì)、確定數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫;
步驟三,詳細(xì)設(shè)計(jì):在步驟二的基礎(chǔ)上為軟件中的模塊確定響應(yīng)的算法及內(nèi)部數(shù)據(jù)結(jié)構(gòu),獲取目標(biāo)系統(tǒng)具體實(shí)現(xiàn)的精確描述;
步驟四,編碼:將步驟三設(shè)計(jì)的方案用計(jì)算機(jī)程序語言描述得到在計(jì)算機(jī)上執(zhí)行的程序;
步驟五,生成執(zhí)行代碼:通過宿主機(jī)的交叉開發(fā)工具將編寫好的程序源代碼進(jìn)行編譯和鏈接,生成可供調(diào)試和/或固化的二進(jìn)制目標(biāo)程序;
步驟六,編譯:把宿主機(jī)上的源程序編譯成目標(biāo)代碼;
步驟七,鏈接:通過交叉鏈接器將所有目標(biāo)模塊及相關(guān)的庫文件一起鏈接生成二進(jìn)制程序;
步驟八,調(diào)試:通過交叉調(diào)試器調(diào)試程序和被調(diào)試程序運(yùn)行在不同機(jī)器上的調(diào)試器;
步驟九,測試:在軟件投入運(yùn)行前對軟件需求分析、軟件設(shè)計(jì)規(guī)格說明和軟件編碼進(jìn)行查錯(cuò)和糾錯(cuò);
步驟十,固化運(yùn)行:當(dāng)調(diào)試完成后,程序代碼被燒入到目標(biāo)板的存儲(chǔ)器中,并在真實(shí)的硬件環(huán)境上運(yùn)行。
本發(fā)明具有以下有益效果:
本發(fā)明通過對嵌入式軟件的開發(fā)進(jìn)行設(shè)計(jì)、編譯、調(diào)試、測試以及固化運(yùn)行的過程,提高系統(tǒng)的可擴(kuò)展性,并且,提高各組件的集成,降低嵌入式軟件開發(fā)的周期。
當(dāng)然,實(shí)施本發(fā)明的任一產(chǎn)品并不一定需要同時(shí)達(dá)到以上所述的所有優(yōu)點(diǎn)。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對實(shí)施例描述所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明的一種基于嵌入式軟件開發(fā)方法流程圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
請參閱圖1所示,本發(fā)明為一種基于嵌入式軟件開發(fā)方法,包括如下步驟:
步驟一,需求分析:獲取對系統(tǒng)開發(fā)的具體要求,包括功能性需求和性能需求;
步驟二,概要設(shè)計(jì):根據(jù)需求分析階段產(chǎn)生的結(jié)果尋求實(shí)現(xiàn)目標(biāo)系統(tǒng)的方案,然后確定方案,并對系統(tǒng)進(jìn)行結(jié)構(gòu)的設(shè)計(jì)、確定數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫;
步驟三,詳細(xì)設(shè)計(jì):在步驟二的基礎(chǔ)上為軟件中的模塊確定響應(yīng)的算法及內(nèi)部數(shù)據(jù)結(jié)構(gòu),獲取目標(biāo)系統(tǒng)具體實(shí)現(xiàn)的精確描述;
步驟四,編碼:將步驟三設(shè)計(jì)的方案用計(jì)算機(jī)程序語言描述得到在計(jì)算機(jī)上執(zhí)行的程序;
步驟五,生成執(zhí)行代碼:通過宿主機(jī)的交叉開發(fā)工具將編寫好的程序源代碼進(jìn)行編譯和鏈接,生成可供調(diào)試和/或固化的二進(jìn)制目標(biāo)程序;
步驟六,編譯:把宿主機(jī)上的源程序編譯成目標(biāo)代碼;
步驟七,鏈接:通過交叉鏈接器將所有目標(biāo)模塊及相關(guān)的庫文件一起鏈接生成二進(jìn)制程序;
步驟八,調(diào)試:通過交叉調(diào)試器調(diào)試程序和被調(diào)試程序運(yùn)行在不同機(jī)器上的調(diào)試器;
步驟九,測試:在軟件投入運(yùn)行前對軟件需求分析、軟件設(shè)計(jì)規(guī)格說明和軟件編碼進(jìn)行查錯(cuò)和糾錯(cuò);
步驟十,固化運(yùn)行:當(dāng)調(diào)試完成后,程序代碼被燒入到目標(biāo)板的存儲(chǔ)器中,并在真實(shí)的硬件環(huán)境上運(yùn)行。
值得注意的是,上述系統(tǒng)實(shí)施例中,所包括的各個(gè)單元只是按照功能邏輯進(jìn)行劃分的,但并不局限于上述的劃分,只要能夠?qū)崿F(xiàn)相應(yīng)的功能即可;另外,各功能單元的具體名稱也只是為了便于相互區(qū)分,并不用于限制本發(fā)明的保護(hù)范圍。
另外,本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述各實(shí)施例方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,相應(yīng)的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,所述的存儲(chǔ)介質(zhì),如ROM/RAM、磁盤或光盤等。
以上公開的本發(fā)明優(yōu)選實(shí)施例只是用于幫助闡述本發(fā)明。優(yōu)選實(shí)施例并沒有詳盡敘述所有的細(xì)節(jié),也不限制該發(fā)明僅為所述的具體實(shí)施方式。顯然,根據(jù)本說明書的內(nèi)容,可作很多的修改和變化。本說明書選取并具體描述這些實(shí)施例,是為了更好地解釋本發(fā)明的原理和實(shí)際應(yīng)用,從而使所屬技術(shù)領(lǐng)域技術(shù)人員能很好地理解和利用本發(fā)明。本發(fā)明僅受權(quán)利要求書及其全部范圍和等效物的限制。