2018-12-31 14:59:46分類:嵌入式軟件開發(fā)設(shè)計8898
根據(jù)使用的開發(fā)工具套件不同,嵌入式的應用軟件開發(fā)與硬件開發(fā)的流程會有差異,但主要步驟大致相同。對于使用宿主機(PC)的集成化開發(fā)環(huán)境,下面,讓小編來講解一下,嵌入式應用軟件開發(fā)與硬件開發(fā)的具體流程吧。 相關(guān)文章:《七個階段讓你看懂智能硬件app開發(fā)流程》
軟件開發(fā)流程一般包括創(chuàng)建項目、添加文件、編譯連接、下載調(diào)試等步驟。
(1)創(chuàng)建工程項目:在配置硬件設(shè)備和安裝軟件開發(fā)工具后,就可以開始創(chuàng)建工程項目,通常需要選擇項目文件的存儲位置及目標處理器。
(2)添加項目文件:開發(fā)人員需要創(chuàng)建源程序文件,編寫應用程序代碼,并添加到工程項目中;還將使用設(shè)備驅(qū)動程序的庫文件,包括啟動代碼、頭文件和一些外設(shè)控制函數(shù),甚至中間件(Middleware)等。這些文件也需要添加到項目中。
(3)配置工程選項:源于硬件設(shè)備的多樣性和軟件工具的復雜性,工程項目提供了不少選項,需要開發(fā)人員配置,如輸出文件類型和位置、編譯選項和優(yōu)化類型等,還要根據(jù)選用的開發(fā)板和在線仿真器,配置代碼調(diào)試和下載選項等。
(4)交叉編譯連接:利用開發(fā)軟件工具對項目的多個文件分別編譯,生成相應的目標文件,然后連接生成最終的可執(zhí)行文件映像,以下載到目標設(shè)備的文件格式保存。如果編譯連接有錯誤,返回修改;如果沒有錯誤,先進行軟件模擬運行和調(diào)試,再下載到開發(fā)板運行和調(diào)試。
(5)程序下載:目前,絕大多數(shù)微控制器都使用閃存(Flash Memory)保存程序。創(chuàng)建可執(zhí)行文件映像后,需要使用在線仿真器(或串口、網(wǎng)口)將其下載到微控制器的閃存中,實現(xiàn)閃存的編程;還可以將可執(zhí)行文件下載到SRAM中運行。
(6)運行和調(diào)試:程序下載后,可以啟動運行,看是否正常工作。如果有問題,連接在線仿真器,借助軟件開發(fā)工具的調(diào)試環(huán)境進行斷點和單步調(diào)試,觀察程序操作的詳細過程。如果應用程序運行有錯誤,返回修改。
1、首先制定項目計劃:初計劃是里程碑性質(zhì)的??梢韵劝雌俨寄P驮O(shè)置,里程碑點主要為需求評審、設(shè)計評審、經(jīng)過代碼開發(fā)和單元測試后進行集成測試、部署上線是一個很重要的里程碑,一般用戶會期望系統(tǒng)何時能使用進入試運行期(也可以稱為用戶測試階段)
2、需求開發(fā)階段:怎么樣寫好需求很關(guān)鍵,如何學會進行需求開發(fā)可以去看下經(jīng)典的《需求工程》這個翻譯的書,不是很厚,但需要能理解為什么那樣做更好,這個需要實踐經(jīng)驗鍛煉自己。如果有項目成員,可以一起做需求,這個階段對于業(yè)務理解、分析、如何開展調(diào)研以及文字表述、業(yè)務流程圖描述還有文檔編輯能力都有不少要求。
一般分為《用戶需求說明書》和《需求規(guī)格說明書》,小項目可以寫一個《需求分析報告》,《用戶需求說明書》是用用戶的語言進行描述,讓用戶和開發(fā)團隊對于需求的達成一致的理解,《需求規(guī)格說明書》,則是對用戶需求的分析,形成系統(tǒng)要具有的功能,這個是真正提供用戶可交互操作的文檔,也就是后期設(shè)計和代碼開發(fā)的重要基線。
另外,作為了解需求,拿出用戶UI和用戶交流也是一項比較重要的需求獲取手段,雖然這個屬于設(shè)計的范疇
3、系統(tǒng)設(shè)計階段:系統(tǒng)總體架構(gòu),結(jié)合用戶對系統(tǒng)環(huán)境、開發(fā)語言以及運行的網(wǎng)絡(luò)硬件等要求,確定開發(fā)工具等,對應用系統(tǒng)關(guān)系進行架構(gòu)性設(shè)計,通過需求階段對用戶的分析歸類,用圖的方式描述出用戶和各子系統(tǒng)或模塊的全局視圖,以及和其他系統(tǒng)的關(guān)系。也就是搞清楚系統(tǒng)的邊界問題。
概要設(shè)計中除了高層架構(gòu)設(shè)計,還需要設(shè)計網(wǎng)絡(luò)拓撲圖,以及系統(tǒng)部署圖。概要設(shè)計比較重要的還有就是子系統(tǒng)、模塊進行合理的劃分。模塊的名稱很大程度上會成為用戶的主要菜單,如何用用戶的角度去取比較清楚的子系統(tǒng)和模塊是很重要的。
4、代碼開發(fā)和單元測試階段:這個階段一般來說需要改進瀑布模型,類似跌代開發(fā),把模塊進行合理劃分,把項目總體計劃的代碼開發(fā)測試階段劃分為多個時間段,每個時間段都包括代碼開發(fā)、單元測試和集成測試,這個階段還需要對需求變更進行跟蹤控制,如果需求有變更,那么要把需求文檔、設(shè)計文檔都重新跟上。跌代開發(fā)的好處就是不讓代碼開發(fā)階段拉的過程,沒有進行及時的自我檢查,不小心到了提交時間,卻不是用戶想要的,還有可能都不是自己想要的。
物聯(lián)網(wǎng)軟件開發(fā)是一個雷區(qū)。市場需要高質(zhì)量,可擴展,強大,安全且用戶友好的解決方案,物聯(lián)網(wǎng)開發(fā)團隊必須重新評估其程序和工作流程,以便將所有內(nèi)容考慮在內(nèi)。以下列出了物聯(lián)網(wǎng)項目的七個軟件開發(fā)挑戰(zhàn)。
2020-04-29
智能手機從各個角度重塑著大家的生活,手機App自然已經(jīng)成為主要的創(chuàng)業(yè)方式之一。但是App開發(fā)的技術(shù)門檻高,很多人詢問:開發(fā)一款App流程是什么?我想開發(fā)一款App,要從何入手呢?今天跟大家詳細介紹完整的手機app軟件開發(fā)流程。
2019-11-22
在互聯(lián)網(wǎng)時代,不論是企業(yè)還是個人,應用軟件的存在對于人們的生活而言仿佛如虎添翼般,帶來了諸多便利.那么何為應用軟件開發(fā)呢?應用軟件開發(fā)服務公司又有哪些?
2019-01-22
物聯(lián)網(wǎng)應用軟件開發(fā),這種顛覆性技術(shù)已經(jīng)開始改變了幾個行業(yè),并首次出現(xiàn)在早期嘗試者的家中.這就是為物聯(lián)網(wǎng)創(chuàng)建新產(chǎn)品和應用程序可能成為全世界組織的金礦的原因.
2019-01-16
應用軟件開發(fā)是指使用程序語言C#、java、 c++等高級語言編寫,主要是用于商業(yè)、生活應用的軟件的開發(fā),而開發(fā)應用軟件是為滿足用戶不同領(lǐng)域、不同問題的應用需求而提供的軟件.
2019-01-15
App軟件開發(fā)其實并不復雜,完整APP應用軟件開發(fā)流程,9個步驟告訴你開發(fā)應用軟件的完整流程到底是怎么回事.開發(fā)一個APP應用軟件真的沒有那么難,下面小編就具體說說APP軟件開發(fā)的流程.
2019-01-08