干貨 | 分享幾個工作之后才知道的工程技巧
時間:2021-11-11 14:04:11
手機看文章
掃描二維碼
隨時隨地手機看文章
[導讀]關注「嵌入式大雜燴」,一起進步!成為一個正式的嵌入式開發(fā)工程師,是一個艱辛的過程,需要開發(fā)人員維護和管理系統(tǒng)的每個比特和字節(jié)。從規(guī)范完善的開發(fā)周期到嚴格執(zhí)行和系統(tǒng)檢查,開發(fā)高可靠性嵌入式系統(tǒng)的技術有許多種。今天給大家介紹7個易操作且可以長久使用的技巧,它們對于確保系統(tǒng)更加可靠地運...
成為一個正式的嵌入式開發(fā)工程師,是一個艱辛的過程,需要開發(fā)人員維護和管理系統(tǒng)的每個比特和字節(jié)。從規(guī)范完善的開發(fā)周期到嚴格執(zhí)行和系統(tǒng)檢查,開發(fā)高可靠性嵌入式系統(tǒng)的技術有許多種。
技巧1——用已知值填充ROM
嵌入式軟件開發(fā)人員往往都是非常樂觀的一群人,只要讓他們的代碼忠實地長時間地運行就可以了,僅此而已。微控制器跳出應用程序空間并在非預想的代碼空間中執(zhí)行這種情況似乎是相當少有的。
技巧2——檢查應用程序的CRC
對嵌入式工程師來說一個很大的好處是,我們的IDE和工具鏈可以自動產(chǎn)生應用程序或內(nèi)存空間校驗和(Checksum),從而根據(jù)這個校驗和驗證應用程序是否完好。有趣的是,在許多這些案例中,只有在將程序代碼加載到設備時,才會用到校驗和。
技巧3——在啟動時執(zhí)行RAM檢查
為了建立一個更加可靠和扎實的系統(tǒng),確保系統(tǒng)硬件正常工作非常重要。畢竟硬件會發(fā)生故障。(幸運的是軟件永遠不會發(fā)生故障,軟件只會做代碼要它做的事,不管是正確的還是錯誤的)。
技巧4——使用堆棧監(jiān)視器
對許多的嵌入式開發(fā)者而言,堆棧似乎是一股相當神秘的力量。當奇怪的事情開始發(fā)生,工程師終于被難倒了,他們開始思考,也許堆棧中發(fā)生了什么事。結(jié)果是盲目地調(diào)整堆棧的大小和位置等等。
技巧5 - 使用MPU
在過去,是很難在一個小而廉價的微控制器中找到內(nèi)存保護單元(MPU)的,但這種情況已經(jīng)開始改變?,F(xiàn)在從高端到低端的微控制器都已經(jīng)有MPU,而這些 MPU為嵌入式軟件開發(fā)人員提供了一個可以大幅提高其固件(firmware)魯棒性(robustness)的機會。
技巧6 - 建立一個強大的看門狗系統(tǒng)
你經(jīng)常會發(fā)現(xiàn)的一種總是最受喜愛的看門狗(watchdog)實現(xiàn)是,在看門狗被啟用之處(這是一個很好的開始),但也是可以用周期性定時器將該看門狗清零之處;定時器的啟用是完全與程序中出現(xiàn)的任何情況隔離的。
技巧7 - 避免易失存儲器分配
不習慣在資源有限環(huán)境下工作的工程師,可能會試圖使用其編程語言的特性,這種語言讓他們可以使用易失存儲器分配。畢竟,這是一種常在計算器系統(tǒng)中使用的技術,在計算器系統(tǒng)中,只有在有必要時,內(nèi)存才會被分配。