久久婷婷香蕉热狠狠综合,精品无码国产自产拍在线观看蜜,寡妇房东在做爰3,中文字幕日本人妻久久久免费,国产成人精品三上悠亚久久

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 入門指導 > 7大(da)嵌入式開發技巧你(ni)知道(dao)嗎?

7大嵌入式開發技巧你知道嗎? 時間:2020-06-03      來源(yuan):未知

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

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

從規范(fan)完善的開發周期到嚴格執行(xing)和(he)系(xi)(xi)統(tong)(tong)檢查,開發高可(ke)靠性嵌入式(shi)系(xi)(xi)統(tong)(tong)的技(ji)(ji)術(shu)有(you)(you)許(xu)多種。今(jin)天(tian)給大家介(jie)紹7個易操作且可(ke)以長(chang)久使用(yong)的技(ji)(ji)巧,它們對于確保系(xi)(xi)統(tong)(tong)更加(jia)可(ke)靠地(di)運行(xing)并捕獲異常(chang)行(xing)為大有(you)(you)幫助。

No.1用已知值填充(chong)ROM

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

No.2檢(jian)查(cha)應用程(cheng)序的CRC

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

No.3在(zai)啟動(dong)時(shi)執行RAM檢查

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

No.4使用堆棧(zhan)監視器

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

堆棧大小(xiao)是在(zai)編譯(yi)(yi)時就(jiu)靜(jing)態(tai)分配好(hao)的(de),但(dan)堆棧是以動態(tai)的(de)方式使(shi)用(yong)(yong)的(de)。隨(sui)著代(dai)碼的(de)執行(xing),應用(yong)(yong)程序需要的(de)變(bian)量、返回的(de)地址和其它信息(xi)被(bei)不斷(duan)(duan)存儲在(zai)堆棧中。這種機(ji)制導致堆棧在(zai)其分配的(de)內(nei)存中不斷(duan)(duan)增長(chang)。然而,這種增長(chang)有時會超出編譯(yi)(yi)時確定的(de)容量極限(xian),導致堆棧破壞相鄰內(nei)存區域的(de)數據。

No.5使用MPU

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

No.6建立一(yi)個強(qiang)大的看門狗系(xi)統(tong)

你經常會發現(xian)(xian)的(de)(de)一種(zhong)總是最受喜愛(ai)的(de)(de)看(kan)(kan)門(men)(men)狗(gou)(gou)(watchdog)實現(xian)(xian)是,在看(kan)(kan)門(men)(men)狗(gou)(gou)被(bei)(bei)啟用(yong)之處(這是一個很好的(de)(de)開始),但也是可以(yi)用(yong)周期性定(ding)時器(qi)(qi)將該看(kan)(kan)門(men)(men)狗(gou)(gou)清零(ling)(ling)之處;定(ding)時器(qi)(qi)的(de)(de)啟用(yong)是完全與程序(xu)中出(chu)現(xian)(xian)的(de)(de)任何(he)情(qing)況隔離的(de)(de)。使用(yong)看(kan)(kan)門(men)(men)狗(gou)(gou)的(de)(de)目(mu)的(de)(de)是協助確保(bao)如果出(chu)現(xian)(xian)錯誤,看(kan)(kan)門(men)(men)狗(gou)(gou)不會被(bei)(bei)清零(ling)(ling),即(ji)當(dang)工作暫停,系統(tong)會被(bei)(bei)迫去(qu)執行(xing)硬件(jian)重(zhong)設定(ding)(hardware reset),以(yi)便恢復。使用(yong)與系統(tong)活動獨(du)立的(de)(de)定(ding)時器(qi)(qi)可以(yi)讓看(kan)(kan)門(men)(men)狗(gou)(gou)保(bao)持清零(ling)(ling),即(ji)使系統(tong)已失效(xiao)。

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

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

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

上一篇:C語言在嵌入式系統編程時的注意事項

下一篇:4種常見的嵌入式開發系統

熱點文章(zhang)推薦
華(hua)清(qing)學員就業榜(bang)單
高薪學員經驗分享
熱點新聞推薦
前(qian)臺專線:010-82525158 企業(ye)培訓洽(qia)談專線:010-82525379 院校合(he)作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,,京公海網安備11010802025203號

回到頂部