0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

加速嵌入式固件開發(fā)的小技巧

工程師進階筆記 ? 來源:工程師進階筆記 ? 2023-08-03 17:26 ? 次閱讀

產(chǎn)品投入市場的速度對產(chǎn)品的成功與否至關(guān)重要。對于創(chuàng)業(yè)團隊和小規(guī)模企業(yè)來說,面對在盡可能短的時間發(fā)布嵌入式軟件項目的壓力也就更大。下面所闡述的5個加速固件開發(fā)的小貼士,盡管它們顯而易見,但是在實踐中很少得到很好的應(yīng)用。

1指定一個可行的計劃

在過去的幾年內(nèi),我曾遇到很多的這樣的項目,從項目的開始階段,開發(fā)人員的進度往往落后于計劃數(shù)個星期。項目管理者在對功能的復(fù)雜性和可能遇到的技術(shù)難點預(yù)計不足情況下,就為產(chǎn)品設(shè)定了一個交付日期,如果產(chǎn)品在設(shè)定的時間內(nèi)沒有交付,他們就認為項目是失敗的。

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

2優(yōu)先設(shè)計架構(gòu)

當(dāng)交付的時間很短時,開發(fā)人員的第一反應(yīng)是跳過架構(gòu)設(shè)計階段,直接開始軟件開發(fā)。之所以這樣想,是因為時間很緊迫,進行軟件架構(gòu)固然好,但是太費時了。

為了更快交付軟件,開發(fā)人員需要仔細思考軟件的設(shè)計,并計劃好所要做的事項。架構(gòu)是軟件產(chǎn)品的藍圖。沒有架構(gòu),開發(fā)人員是無法交付正確的固件,就如同沒有藍圖,建筑工人是無法建造樓房一樣。

3不要重復(fù)制作自己的調(diào)度器

對于嵌入式軟件開發(fā)者來說,編寫一個實時調(diào)度器或者實時操作系統(tǒng)(RTOS)是讓人興奮的有益的嘗試。問題是從零開始設(shè)計一個調(diào)度器,要讓這個調(diào)度器在所有操作條件下都正常工作,需要很大的努力可以做到的。開發(fā)人員需要浪費大量的時間用在設(shè)計固件組件,而這些組件已經(jīng)存在于許多市面上的實時操作系統(tǒng)上了。一些實時操作系統(tǒng),例如 FreeRTOS,是免費的。其他的也就需要很少的費用。利用商業(yè)化現(xiàn)成的調(diào)度器,而不是自己開發(fā),這樣可以縮短開發(fā)周期,甚至有可能大大提高系統(tǒng)的質(zhì)量和穩(wěn)定性。

4利用現(xiàn)有的中間件和驅(qū)動框架

微控制器已經(jīng)變得極其復(fù)雜,其功能已經(jīng)和90年代中期的通用計算機的處理單元相當(dāng)。高端的微控制器有板載緩存、DMA和大量的外圍設(shè)備,并以超出200MHz的時鐘頻率運行。從新開始設(shè)計開發(fā)這樣復(fù)雜的設(shè)備將會耗費大把的時間。

應(yīng)該把時間花在尋找設(shè)備供應(yīng)商或者第三方組件提供者,這樣可以把注意力從硬件設(shè)計轉(zhuǎn)移到軟件實施階段。利用現(xiàn)有的中間件和驅(qū)動程序的框架,可以讓開發(fā)人員把精力放在產(chǎn)品差異性和特性的開發(fā)上,而不是放在研究硬件如何工作上。

5找對人

軟件工程師是高智商的人群,他們無所不能。問題是如果工程師是對某個應(yīng)用領(lǐng)域不熟悉,他們往往會花很多的時間,盡管他們無所不能。

當(dāng)交付時間很短,不要把沒有經(jīng)驗的菜鳥放入項目組中,取而代之的是某個領(lǐng)域的專家。也許大家都知道要用專家,但是由于時間緊迫,許多團隊隨便調(diào)配一些人加入項目組。這樣做的結(jié)果會使項目失去推動力,造成延遲交付。從短期來看,使用領(lǐng)域?qū)<倚枰嗟腻X,但是從長遠看,項目可以按時交付,開發(fā)的功能正確,這些遠遠超出了付出的金錢。

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

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5059

    文章

    18973

    瀏覽量

    302031
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    6684

    瀏覽量

    123140
  • 固件
    +關(guān)注

    關(guān)注

    10

    文章

    550

    瀏覽量

    22928
  • RTOS
    +關(guān)注

    關(guān)注

    21

    文章

    809

    瀏覽量

    119361

原文標題:分享 5 條實用建議,助你加速嵌入式固件開發(fā)。

文章出處:【微信號:工程師進階筆記,微信公眾號:工程師進階筆記】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    嵌入式MCU固件開發(fā)與應(yīng)用圖解

    NXP圖說:嵌入式MCU固件開發(fā)與應(yīng)用
    發(fā)表于 04-13 11:48

    關(guān)于嵌入式固件開發(fā)方法的探討

    嵌入式平臺的高級 UEFI 開發(fā)環(huán)境? Byosoft* 關(guān)于嵌入式固件開發(fā)方法的探討? SBS* 關(guān)于
    發(fā)表于 11-05 06:17

    嵌入式系統(tǒng)固件開發(fā)與調(diào)試相關(guān)資料分享

    嵌入式系統(tǒng)固件開發(fā)與調(diào)試主要學(xué)習(xí)? ? 嵌入式系統(tǒng)的質(zhì)量屬性(quality attributes)? ? 嵌入式系統(tǒng)的設(shè)計與
    發(fā)表于 12-14 07:26

    基于ARM的嵌入式開發(fā)

    基于ARM的嵌入式開發(fā):華清遠見/孫天澤基于ARM的嵌入式開發(fā)內(nèi)容有:ARM簡介,基于ARM的嵌入式產(chǎn)品,ARM架構(gòu),基于ARM的嵌入式開發(fā)
    發(fā)表于 10-04 08:49 ?83次下載

    嵌入式LINUX開發(fā)基礎(chǔ)知識

    嵌入式LINUX簡介,嵌入式LINUX開發(fā)平臺簡介,嵌入式LINUX開發(fā)流程,建立嵌入式LINU
    發(fā)表于 07-31 21:34 ?261次下載

    嵌入式開發(fā)

    嵌入式開發(fā)就是指在嵌入式操作系統(tǒng)下進行開發(fā),嵌入式Linux是以Linux為基礎(chǔ)的嵌入式作業(yè)系統(tǒng)。這里提供了
    發(fā)表于 12-20 13:21
    <b class='flag-5'>嵌入式開發(fā)</b>

    嵌入式開發(fā)固件的詳細燒錄方式

    嵌入式開發(fā)固件的詳細燒錄方式
    發(fā)表于 10-30 08:34 ?14次下載
    <b class='flag-5'>嵌入式開發(fā)</b>中<b class='flag-5'>固件</b>的詳細燒錄方式

    AI開發(fā)平臺如何幫助嵌入式開發(fā)加速應(yīng)用產(chǎn)品化落地

    本文檔的主要內(nèi)容詳細介紹的是AI開發(fā)平臺如何幫助嵌入式開發(fā)加速應(yīng)用產(chǎn)品化落地包括了:嵌入式AI的發(fā)展現(xiàn)狀與挑戰(zhàn),Toybrick AI開發(fā)
    發(fā)表于 07-30 08:00 ?0次下載
    AI<b class='flag-5'>開發(fā)</b>平臺如何幫助<b class='flag-5'>嵌入式開發(fā)</b>者<b class='flag-5'>加速</b>應(yīng)用產(chǎn)品化落地

    嵌入式固件燒錄方式

    1、固件固件,firmware所謂固件,就是文件,固化在存儲介質(zhì)上的文件,而文件,其實就是數(shù)據(jù)。嵌入式開發(fā)中,尤其是Linux開發(fā),常見的方
    發(fā)表于 10-20 15:51 ?5次下載
    <b class='flag-5'>嵌入式</b>的<b class='flag-5'>固件</b>燒錄方式

    嵌入式開發(fā)資料免費分享

    嵌入式開發(fā)資料免費分享嵌入式工程師經(jīng)驗分享:如何學(xué)習(xí)嵌入式開發(fā)截取文檔部分學(xué)習(xí)嵌入式工程師經(jīng)驗分享的資料分享給大家,文檔上從、嵌入式系統(tǒng)的概
    發(fā)表于 10-21 11:07 ?46次下載
    <b class='flag-5'>嵌入式開發(fā)</b>資料免費分享

    uefi 嵌入式Linux,面向嵌入式平臺的高級UEFI開發(fā)環(huán)境.PDF

    嵌入式平臺的高級 UEFI 開發(fā)環(huán)境? Byosoft* 關(guān)于嵌入式固件開發(fā)方法的探討? SBS* 關(guān)于
    發(fā)表于 11-02 13:06 ?14次下載
    uefi <b class='flag-5'>嵌入式</b>Linux,面向<b class='flag-5'>嵌入式</b>平臺的高級UEFI<b class='flag-5'>開發(fā)</b>環(huán)境.PDF

    視頻教程-嵌入式Linux開發(fā)基礎(chǔ)-嵌入式

    嵌入式Linux開發(fā)基礎(chǔ) 嵌入式工程師、嵌入式講師、10多年
    發(fā)表于 11-02 13:21 ?30次下載
    視頻教程-<b class='flag-5'>嵌入式</b>Linux<b class='flag-5'>開發(fā)</b>基礎(chǔ)-<b class='flag-5'>嵌入式</b>

    python做嵌入式開發(fā)_Python和嵌入式的區(qū)別是什么?可以做嵌入式開發(fā)嗎?

    從概念上來說,嵌入式和Python的區(qū)別還是比較明顯的,嵌入式是一個開發(fā)領(lǐng)域,而Python則是一門編程語言。下面就來和大家說一說嵌入式和Python這兩個之間的區(qū)別。
    發(fā)表于 11-02 20:21 ?14次下載
    python做<b class='flag-5'>嵌入式開發(fā)</b>_Python和<b class='flag-5'>嵌入式</b>的區(qū)別是什么?可以做<b class='flag-5'>嵌入式開發(fā)</b>嗎?

    小型和受限嵌入式系統(tǒng)的固件驗證

    今天我們來介紹一下小型和受限嵌入式系統(tǒng)的固件驗證。每個嵌入式系統(tǒng)都基于其執(zhí)行的代碼(固件、軟件和 RTL 等)運行。
    的頭像 發(fā)表于 04-18 14:46 ?1380次閱讀

    加速嵌入式固件開發(fā)的5條建議

    將產(chǎn)品投入市場的速度對產(chǎn)品的成功與否至關(guān)重要。對于創(chuàng)業(yè)團隊和小規(guī)模企業(yè)來說,面對在盡可能短的時間發(fā)布嵌入式軟件項目的壓力也就更大。下面所闡述的5個加速固件開發(fā)的小貼士,盡管它們顯而易見
    發(fā)表于 07-17 11:11 ?195次閱讀