嵌入式攻城獅 加速韌體開發的5個實用小貼士

2022-06-23 20:49:00 字數 1681 閱讀 7158

將產品投入市場的速度對產品的成功與否至關重要。對於創業團隊和小規模企業來說,面對在儘可能短的時間釋出嵌入式軟體專案的壓力也就更大。下面所闡述的5個加速韌體開發的小貼士,儘管它們顯而易見,但是在實踐中很少得到很好的應用。

在過去的幾年內,我曾遇到很多的這樣的專案,從專案的開始階段,開發人員的進度往往落後於計劃數個星期。專案管理者在對功能的複雜性和可能遇到的技術難點預計不足情況下,就為產品設定了一個交付日期,如果產品在設定的時間內沒有交付,他們就認為專案是失敗的。

造成總是落後於進度的原因在於開發人員常常在壓力下工作。在高壓力的環境下,人體會分泌腎上腺皮質醇供給給大腦。腎上腺皮質醇將會降低人的推理和判斷的能力。為了趕進度,而讓團隊在高壓力下工作,這樣往往達不到你所想要的結果。制定一個合理的計劃,將有效的緩解壓力,讓工程師更高效的工作。從而保證專案按照計劃完成。

當交付的時間很短時,開發人員的第一反應是跳過架構設計階段,直接開始軟體開發。之所以這樣想,是因為時間很緊迫,進行軟體架構固然好,但是太費時了。

為了更快交付軟體,開發人員需要仔細思考軟體的設計,並計劃好所要做的事項。架構是軟體產品的藍圖。沒有架構,開發人員是無法交付正確的韌體,就如同沒有藍圖,建築工人是無法建造樓房一樣。

對於嵌入式軟體開發者來說,編寫一個實時排程器或者實時作業系統(rtos)是讓人興奮的有益的嘗試。問題是從零開始設計一個排程器,要讓這個排程器在所有操作條件下都正常工作,需要很大的努力可以做到的。開發人員需要浪費大量的時間用在設計韌體元件,而這些元件已經存在於許多市面上的實時作業系統上了。一些實時作業系統,例如 freertos,是免費的。其他的也就需要很少的費用。利用商業化現成的排程器,而不是自己開發,這樣可以縮短開發週期,甚至有可能大大提高系統的質量和穩定性。

微控制器已經變得極其複雜,其功能已經和90年代中期的通用計算機的處理單元相當。高階的微控制器有板載快取、dma和大量的外圍裝置,並以超出200mhz的時脈頻率執行。從新開始設計開發這樣複雜的裝置將會耗費大把的時間。

應該把時間花在尋找裝置**商或者第三方元件提供者,這樣可以把注意力從硬體設計轉移到軟體實施階段。利用現有的中介軟體和驅動程式的框架,可以讓開發人員把精力放在產品差異性和特性的開發上,而不是放在研究硬體如何工作上。

軟體工程師是高智商的人群,他們無所不能。問題是如果工程師是對某個應用領域不熟悉,他們往往會花很多的時間,儘管他們無所不能。

當交付時間很短,不要把沒有經驗的菜鳥放入專案組中,取而代之的是某個領域的專家。也許大家都知道要用專家,但是由於時間緊迫,許多團隊隨便調配一些人加入專案組。這樣做的結果會使專案失去推動力,造成延遲交付。從短期來看,使用領域專家需要更多的錢,但是從長遠看,專案可以按時交付,開發的功能正確,這些遠遠超出了付出的金錢。

最後一些想法:也許有人會認為這些如何緩解專案時間壓力、按時交付專案的貼士說起來很顯而易見,做起來難。以上五個貼士看起來都是常識。但是當壓力來臨,這些常識經常會被丟擲九霄雲外。只有認真和紀律性強的工程師和團隊才能時刻保持警醒,按照這些常識來行事。

當交付時間很短,以上貼士,哪些你會去遵循,哪些會擱置一邊?

作者簡介

:jacob benign

作者簡介

5 tips for speeding firmware development(編譯/jason 審校/周建丁)

本文為csdn編譯,

閱讀原文

檢視完整文章並參與討論

如果您喜歡這篇文章,右上角

…將本文分享給你的朋友