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++);

}

科技分類資訊推薦

董明珠稱孟羽童離開格力是因為「犯了很大錯誤」 | 大魚財經 - 天天要聞

董明珠稱孟羽童離開格力是因為「犯了很大錯誤」 | 大魚財經

5月20日,孟羽童貼出與董明珠對話稱,「時隔兩年,收到了來自前老闆的微信,像是心中的一塊大石頭終於落了地,心中是莫名的酸楚和感謝。」格力電器發文稱:「520這天,愛是有回應的。這個周五,歡迎回家吃飯。猜猜董總要跟誰吃飯。」5月23日當天,格
小米發布搭載3納米自研晶元旗艦產品 - 天天要聞

小米發布搭載3納米自研晶元旗艦產品

5月22日晚,中國科技界傳來喜訊:我國科技企業小米在京正式發布自研3納米手機SoC晶元,被命名為「玄戒O1」,這是中國大陸地區首次研發設計出3納米晶元。晶元是「現代工業糧食」,其製程工藝的先進性,是近年來全球科技競逐的焦點。製程工藝數值越低,意味著晶體管集成度越高、性能越強。「手機SoC晶元是系統級晶元,集成CP...
中國醫藥3億關聯收購金穗科技:轉型電商的豪賭 - 天天要聞

中國醫藥3億關聯收購金穗科技:轉型電商的豪賭

中經記者 蘇浩 盧志坤 北京報道(中國醫藥3.02億元收購關聯公司 公司公告/圖)近期,中國醫藥(600056.SH)擬以現金3.02億元收購控股股東通用技術集團旗下全資子公司新興集團持有的北京金穗科技開發有限責任公司100%股權。中國醫藥方面表示,如完成本次收購,金穗科技將成為中國醫藥全資子公司,將圍繞中國醫藥總體發展戰略...
QQ瀏覽器發布「AI高考通」,可一鍵生成個性化志願方案 - 天天要聞

QQ瀏覽器發布「AI高考通」,可一鍵生成個性化志願方案

隨著2025年高考臨近,騰訊旗下QQ瀏覽器於5月23日發布行業首個高考領域智能體(Agent)產品——「AI高考通」。該產品依託騰訊混元大模型技術,深度整合高考全流程服務,打造從備考到志願填報的一站式智能解決方案,開創「AI+教育」服務新模式。 作為連續7年服務高考的平台,QQ瀏覽器已累計為4億人次提供高考服務,構建了包含...
全球首創!這款京產髖關節手術機器人獲批上市 - 天天要聞

全球首創!這款京產髖關節手術機器人獲批上市

一款誕生在北京的手術機器人正在破解髖關節置換手術的諸多難題。記者23日從北京企業長木谷獲悉,由其自主研發的「ROPAHIP」人工智慧髖關節手術機器人已獲國家藥品監督管理局的上市批准。這款手術機器人是全球首創搭載人工智慧輔助骨科治療的創新醫療器械,為全球骨科治療貢獻了「中國方案」。骨關節炎是全球致殘率最高的慢...
擰緊機器人研發商「頂配機器人」完成數千萬元種子輪融資 - 天天要聞

擰緊機器人研發商「頂配機器人」完成數千萬元種子輪融資

機器人大講堂獲悉,擰緊機器人研發商「SLABOR頂配機器人」近日成功完成種子輪融資。該輪融資由梅花創投獨家投資,融資金額總計達數千萬元,將主要用於SLABOR頂配機器人技術迭代、產品系列完善及渠道市場拓展。 據機器人大講堂了解,SLABOR頂配機器人(全稱:深圳市頂配自動化技術有限公司)成立於2016年,是一家紮根於螺絲...
個人信息防泄露,認證方式權威!「國家網路身份認證」來了 - 天天要聞

個人信息防泄露,認證方式權威!「國家網路身份認證」來了

個人身份信息被非法採集,數字經濟缺乏可信數字身份作為支撐,互聯網平台難以找到權威、可靠、便捷的公民身份認證方式……基於個人真實身份信息的認證服務需求爆髮式增長,雖然部分滿足網路空間辦理業務的信任基礎,但也引發新的問題。公安部、國家互聯網信息辦公室等六部門近日聯合公布《國家網路身份認證公共服務管理辦法...