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





