7大嵌入式開發技巧你知道嗎?

2022年10月14日13:49:38 科技 1588

一些學習嵌入式的學員都會覺得嵌入式太難了,要不要放棄了?學習嵌入式有什麼技巧嗎?等等,對於這些問題大家肯定都很熟悉吧,下面可以一起來了解下嵌入式開發7大技巧哦。

點擊獲取1V1嵌入式學習規劃,現在還送100G精選學習資料。(長按複製搜索鏈接)

https://s.pdb2.com/l/CMIsoKcnATFIF4M

7大嵌入式開發技巧你知道嗎? - 天天要聞

成為一個正式的嵌入式開發工程師——它是一個艱辛的過程,需要開發人員維護和管理系統的每個比特和位元組。

從規範完善的開發周期到嚴格執行和系統檢查,開發高可靠性嵌入式系統的技術有許多種。今天給大家介紹7個易操作且可以長久使用的技巧,它們對於確保系統更加可靠地運行並捕獲異常行為大有幫助。

No.1用已知值填充ROM

軟件開發人員往往都是非常樂觀的一群人,只要讓他們的代碼忠實地長時間地運行就可以了,僅此而已。微控制器跳出應用程序空間並在非預想的代碼空間中執行這種情況似乎是相當少有的。然而,這種情況發生的機會並不比緩存溢出或錯誤指針失去引用少。它確實會發生,發生這種情況後的系統行為將是不確定的,因為默認情況下內存空間都是0xFF,或者由於內存區通常沒有寫過,其中的值可能只有上帝才知道。

No.2檢查應用程序的CRC

嵌入式工程師來說一個很大的好處是,我們的IDE和工具鏈可以自動產生應用程序或內存空間校驗和(Checksum),從而根據這個校驗和驗證應用程序是否完好。有趣的是,在許多這些案例中,只有在將程序代碼加載到設備時,才會用到校驗和。

No.3在啟動時執行RAM檢查

為了建立一個更加可靠和紮實的系統,確保系統硬件正常工作非常重要。畢竟硬件會發生故障。(幸運的是軟件永遠不會發生故障,軟件只會做代碼要它做的事,不管是正確的還是錯誤的)。在啟動時驗證RAM的內部或外部沒有問題,是確保硬件可以如預期般運作的一個好方法。

No.4使用堆棧監視器

對許多的嵌入式開發者而言,堆棧似乎是一股相當神秘的力量。當奇怪的事情開始發生,工程師終於被難倒了,他們開始思考,也許堆棧中發生了什麼事。結果是盲目地調整堆棧的大小和位置等等。但該錯誤往往是與堆棧無關的,但怎能如此確定?畢竟,有多少工程師真的實際執行過最壞情況下的堆棧大小分析?

堆棧大小是在編譯時就靜態分配好的,但堆棧是以動態的方式使用的。隨着代碼的執行,應用程序需要的變量、返回的地址和其它信息被不斷存儲在堆棧中。這種機制導致堆棧在其分配的內存中不斷增長。然而,這種增長有時會超出編譯時確定的容量極限,導致堆棧破壞相鄰內存區域的數據。

No.5使用MPU

在過去,是很難在一個小而廉價的微控制器中找到內存保護單元(MPU)的,但這種情況已經開始改變。現在從高端到低端的微控制器都已經有MPU,而這些 MPU為嵌入式軟件開發人員提供了一個可以大幅提高其固件(firmware)魯棒性(robustness)的機會。

No.6建立一個強大的看門狗系統

你經常會發現的一種總是最受喜愛的看門狗(watchdog)實現是,在看門狗被啟用之處(這是一個很好的開始),但也是可以用周期性定時器將該看門狗清零之處;定時器的啟用是完全與程序中出現的任何情況隔離的。使用看門狗的目的是協助確保如果出現錯誤,看門狗不會被清零,即當工作暫停,系統會被迫去執行硬件重設定(hardware reset),以便恢復。使用與系統活動獨立的定時器可以讓看門狗保持清零,即使系統已失效。

No.7避免易失存儲器分配

不習慣在資源有限環境下工作的工程師,可能會試圖使用其編程語言的特性,這種語言讓他們可以使用易失存儲器分配。畢竟,這是一種常在計算器系統中使用的技術,在計算器系統中,只有在有必要時,內存才會被分配。例如,以C開發時,工程師可能傾向於使用malloc來分配在堆(heap)上的空間。有一個操作會執行,一旦完成,可以使用free將被分配的內存返回,以便堆的使用。

以上介紹的就是嵌入式開發的7大技巧了,這些技巧也只是幫助大家更近一點的學習嵌入式而已,不過,教程是可以讓開發技術人員獲取更好嵌入式系統的辦法。

for (i = 0; i < 8; i++)

{

SetData((data >> i) & 0x1);

SetClockHigh();

for (j = 0; j < 5; j++);

SetClockLow();

for (j = 0; j < 5; j++);

}

科技分類資訊推薦

地平線總裁陳黎明:高階智能輔助駕駛的拐點已經到來,將會快速增長 - 天天要聞

地平線總裁陳黎明:高階智能輔助駕駛的拐點已經到來,將會快速增長

紅星資本局7月11日消息,今日,地平線(09660.HK)總裁陳黎明在2025中國汽車論壇上表示,高階智能輔助駕駛的拐點已經到來,後面會有比較快速的增長。對此,他表示依據有三:第一,智能駕駛是我國智能網聯新能源汽車發展戰略的一個重要組成部分,政府工作報告對智能汽車的發展做出了規劃和行動方向。在電動化上,地平線可以...
洛斐發佈Flow2矮軸三模無線機械鍵盤 - 天天要聞

洛斐發佈Flow2矮軸三模無線機械鍵盤

沒想到,洛斐Flow系列這麼快就進入迭代了,發佈全新Flow2。引入了全新的設計語言,依然是全鋁金屬外殼機身,邊框像蘋果手機那樣的直板機身。其中,右側部分加長,側面則是增加了Touch Bar觸控滑動條,支持調節燈光亮度或系統音量。另一方面,鍵盤背面增加了同樣極具辨識度的撐腳模塊,支持兩種角度調節。 同時還全新升級了...
大爺寫《我的母親》火爆全網!視頻發佈者最新發聲 - 天天要聞

大爺寫《我的母親》火爆全網!視頻發佈者最新發聲

連日來,一段關於大爺挑戰寫作1957年高考同題作文《我的母親》的視頻火爆全網。不少網民表示,文字質樸,催人淚下,深深被打動。7月11日,大皖新聞記者聯繫上了視頻發佈者連文傑。對方表示,視頻中展示的作文內容由大爺獨立寫作,產生的版權收入也全給大爺。大爺寫作文視頻走紅網絡。大爺寫的作文在網上爆火大皖新聞記者注...
10.38萬元起,吉利銀河A7發佈預售價 - 天天要聞

10.38萬元起,吉利銀河A7發佈預售價

7月11日,吉利銀河發佈了預售價,預售價格範圍為10.38-13.38萬元,在發佈預售價格的同時,官方也帶來了多項權益,包括500元訂金抵扣1500元,贈送價值8800元的Flyme Sound音響等。
「中欣卡」突然停擺,超150萬用戶退款難 - 天天要聞

「中欣卡」突然停擺,超150萬用戶退款難

覆蓋北京2000多家門店、擁有超150萬持卡用戶的預付卡「中欣卡」近日停擺,線上線下消費渠道均被暫停,恢復時間未知。大量持卡用戶面臨資金凍結困境。消費渠道全面「癱瘓」近日,中欣卡發佈公告稱「因業務調整,全面暫停所有門店合作,無法消費」。中國新聞網《民生調查局》記者發現,其官網合作商戶名錄已清空,線上提貨渠...
突發,聊聊Manus「刪博跑路」 - 天天要聞

突發,聊聊Manus「刪博跑路」

摘要:「如果最後有不錯的結果,證明作為中國出生的創始人,也能在新的環境下做好全球化的產品,那就太好了」鳳凰網科技 出品作者|董雨晴7月11日,AI Agent產品Manus官方賬號清空了發佈在微博、小紅書的內容。兩天前,Manus剛剛陷入裁