狂野欧美性猛xxxx乱大交,国产精品办公室沙发,天堂а√在线地址中文在线,一本一道人人妻人人妻αv,中文精品无码中文字幕无码专区,女人18片毛片60分钟,精品久久久久久中文字幕,被强到爽的邻居人妻完整版,精品日本一区二区三区在线观看,精品久久久久久综合日本

      
      

      全國統(tǒng)一服務熱線:18926763109 阿里商城 淘寶商城 中文 EN

      工控機

      18926763109

      在線留言

      X
      公司名稱
      電話
      郵箱
      經(jīng)營范圍
      地址
      選擇 原廠商 一級代理商
      產(chǎn)品介紹

      意見反饋

      X
      公司名稱
      電話
      郵箱
      地址
      問題摘要
      問題描述

      行業(yè)動態(tài)

      嵌入式主板開發(fā)有哪些小技巧?

      深圳市諄勤智能科技有限公司 人氣:2037 發(fā)表時間:2020-09-24

        成為正式的嵌入式主板開發(fā)工程師。這是一個困難的過程,需要開發(fā)人員維護和管理系統(tǒng)的每一個位和字節(jié)。開發(fā)高可靠性嵌入式系統(tǒng)的技術有很多,從規(guī)范完善的開發(fā)周期到嚴格的實施和系統(tǒng)檢查。今天諄勤智能給大家介紹7個易操作且可以長久使用的技巧,它們對于確保系統(tǒng)更加可靠地運行并捕獲異常行為大有幫助。

       

      嵌入式主板

        技巧一、用已知值填充ROM

        軟件開發(fā)人員總是很樂觀的人,只要他們的代碼長期忠實運行,僅此而已。微控制器跳出應用程序空間并在意外的代碼空間中執(zhí)行似乎非常罕見。然而,發(fā)生這種情況的可能性不亞于緩存溢出或錯誤指針丟失引用。它確實發(fā)生了!這種情況發(fā)生后,系統(tǒng)行為會不確定,因為默認的內(nèi)存空間是0xFF,或者因為內(nèi)存區(qū)域通常是未寫的,所以里面的值可能只有上帝知道。

        然而,相當完整的鏈接器或集成開發(fā)環(huán)境技能可以用來幫助識別這樣的事件并從中恢復系統(tǒng)。訣竅是使用填充命令用已知的位模式填充未使用的只讀存儲器。有許多不同的可能組合來填充未使用的內(nèi)存,但是如果您想構(gòu)建一個更可靠的系統(tǒng),最明顯的選擇是在這些位置放置ISR故障處理器。如果系統(tǒng)出現(xiàn)問題,處理器開始在程序空間之外執(zhí)行代碼,它將觸發(fā)ISR,并在決定糾正措施之前提供存儲處理器、寄存器和系統(tǒng)狀態(tài)的機會。

       

        技巧二、檢查應用程序的CRC

        對于嵌入式工程師來說,一個很大的好處就是我們的IDE和工具鏈可以自動生成應用或者內(nèi)存空間校驗和,從而根據(jù)這個校驗和來驗證應用是否完好。有趣的是,在許多情況下,校驗和僅在程序代碼加載到設備中時使用。

        但是,如果內(nèi)存中保留了CRC或校驗和,那么在啟動時驗證應用程序是否仍然完好無損(甚至定期驗證長時間運行的系統(tǒng))是確保不會發(fā)生意外情況的絕佳方式?,F(xiàn)在,一個編程的應用程序改變的概率很小,但是考慮到每年交付的數(shù)十億個微控制器和可能的惡劣工作環(huán)境,應用程序崩潰的概率不是零。更可能的是,系統(tǒng)中的缺陷可能導致扇區(qū)中的閃存寫入或閃存擦除,從而破壞應用程序的完整性。

       

        技巧三、在啟動時執(zhí)行RAM檢查

        為了構(gòu)建一個更加可靠和堅固的系統(tǒng),保證系統(tǒng)硬件正常工作是非常重要的。畢竟硬件會出問題。幸運的是,軟件永遠不會失敗,軟件只會做代碼想讓它做的事,不管是對還是錯。通過在啟動時驗證內(nèi)存內(nèi)部或外部沒有問題,這是確保硬件按預期工作的好方法。

        有許多不同的方法來執(zhí)行內(nèi)存檢查,但常見的方法是編寫一個已知的模式,然后等待一段時間再讀取它。結(jié)果應該是你讀的就是你寫的。事實是,在大多數(shù)情況下,內(nèi)存檢查通過了,這是我們想要的。然而,檢查失敗的可能性非常小,這為系統(tǒng)指出硬件問題提供了一個極好的機會。

       

        技巧四、使用堆棧監(jiān)視器

        對于很多嵌入式開發(fā)人員來說,棧似乎是一種神秘的力量。當奇怪的事情開始發(fā)生時,工程師們終于被難倒了,他們開始想,也許堆棧里發(fā)生了什么。結(jié)果就是盲目調(diào)整棧的大小和位置等等。但是錯誤往往是與棧無關的,但是你怎么能這么肯定呢?畢竟,有多少工程師實際執(zhí)行過最壞情況下的堆棧大小分析?

        堆棧大小是在編譯時靜態(tài)分配的,但堆棧是動態(tài)使用的。隨著代碼的執(zhí)行,應用程序所需的變量、返回的地址和其他信息會持續(xù)存儲在堆棧中。這種機制導致堆棧在其分配的內(nèi)存中增長。但是,這種增長有時會超過編譯時確定的容量限制,導致堆棧破壞相鄰內(nèi)存區(qū)域中的數(shù)據(jù)。

        絕對確保堆棧正常工作的一種方法是將堆棧監(jiān)視器作為系統(tǒng)“健康護理”代碼的一部分來實現(xiàn)(有多少工程師會這樣做?).堆棧監(jiān)視器在堆棧和“其他”存儲區(qū)之間創(chuàng)建一個緩沖區(qū),并用已知的位模式填充它。然后顯示器會不斷地監(jiān)控圖案是否有變化。如果位模式變了,說明棧長太大,會把系統(tǒng)推向黑暗地獄!此時,監(jiān)視器可以記錄事件的發(fā)生、系統(tǒng)狀態(tài)和任何其他有用的數(shù)據(jù),以便將來診斷問題。

        大多數(shù)實時操作系統(tǒng)(RTOS)或?qū)崿F(xiàn)內(nèi)存保護單元(微處理器)的微控制器系統(tǒng)都提供堆棧監(jiān)視器??膳碌氖?,這些功能都是默認關閉的,或者經(jīng)常是開發(fā)人員故意關閉的。網(wǎng)上快速搜索發(fā)現(xiàn),很多人建議關閉實時操作系統(tǒng)中的堆棧監(jiān)控,以節(jié)省56字節(jié)的閃存空間,這是得不償失的!

       

        技巧五、避免易失存儲器分配

        不習慣在資源有限的環(huán)境中工作的工程師可能會嘗試使用他們的編程語言的功能,這允許他們使用易失性內(nèi)存分配。畢竟,這是計算器系統(tǒng)中經(jīng)常使用的一種技術,只有在必要時才會分配內(nèi)存。例如,在用C語言開發(fā)時,工程師可能傾向于使用malloc來分配堆上的空間。有一個操作將被執(zhí)行。一旦完成,free可以用來返回分配給堆使用的內(nèi)存。

        在資源受限的系統(tǒng)中,這可能是一場災難!使用易失性內(nèi)存分配的一個問題是,錯誤或不適當?shù)募夹g可能會導致內(nèi)存泄漏或內(nèi)存碎片。如果出現(xiàn)這些問題,大多數(shù)嵌入式系統(tǒng)沒有資源或知識來監(jiān)控堆或正確處理它。當它們發(fā)生時,如果應用程序請求空間,但請求的空間不可用,會發(fā)生什么?

        使用易失性內(nèi)存分配帶來的問題非常復雜,妥善處理這些問題可以說是一場噩夢!另一種方法是直接以靜態(tài)方式簡化內(nèi)存分配。例如,只需在程序中創(chuàng)建一個256字節(jié)大小的緩沖區(qū),而不是通過malloc請求一個這樣大小的內(nèi)存緩沖區(qū)。這種分配的內(nèi)存可以在應用程序的整個生命周期中得到維護,而不用擔心堆或內(nèi)存碎片。

       

        技巧六、建立一個強大的看門狗系統(tǒng)

        您經(jīng)常會發(fā)現(xiàn),最受歡迎的看門狗實現(xiàn)之一是啟用看門狗,但它也可以通過定期計時器清除;定時器的激活與程序中發(fā)生的任何情況完全隔離。使用看門狗的目的是幫助確保如果出現(xiàn)錯誤,看門狗不會被清除,即當工作暫停時,系統(tǒng)將被迫執(zhí)行硬件復位以進行恢復。使用獨立于系統(tǒng)活動的定時器可以保持看門狗清零,即使系統(tǒng)出現(xiàn)故障。

        嵌入式開發(fā)人員需要仔細考慮和設計如何將應用任務集成到看門狗系統(tǒng)中。例如,可能有一種技術允許在某個時間段內(nèi)運行的每個任務表明它們可以成功完成任務。在這種情況下,看門狗不會被清零,而是被強制復位。有一些先進的技術,例如使用外部看門狗處理器,可以用來監(jiān)控主處理器的行為,反之亦然。對于一個可靠的系統(tǒng)來說,構(gòu)建一個強大的看門狗系統(tǒng)非常重要。

       

        技巧七、使用MPU

        以前在小而便宜的微控制器中很難找到內(nèi)存保護單元(MPU),但這種情況已經(jīng)開始改變?,F(xiàn)在從高端到低端的微控制器都有了MPU,而這些MPU為嵌入式軟件開發(fā)人員提供了極大提高固件健壯性的機會。

        MPU已經(jīng)逐漸與操作系統(tǒng)耦合,從而建立一個處理分離的內(nèi)存空間,或者任務可以執(zhí)行其代碼而不用擔心被踩。如果真的發(fā)生了什么,不受控制的治療將被取消,并實施其他保護措施。請注意有這個組件的微控制器,如果有,請多利用這個功能。

       

        以上嵌入式工控機主板開發(fā)教程可以幫助開發(fā)者獲得更好的嵌入式系統(tǒng)方式。這些技術都是設計人員開發(fā)可靠性更高的嵌入式系統(tǒng)的秘訣。

      +
      亚欧色无码中文字幕在线| 孕妇怀孕高潮潮喷视频孕妇| 中文字幕无码av不卡一区| 欧美性猛交xxxx乱大交极品| 亚洲日韩精品无码AV成人手机版| 美女av一区二区三区| 久久免费激情视频| 色综合久久中文字幕无码| 后入到高潮免费观看| 国产日韩欧美第一页| 伊人久久东京热中文字幕| 国产欧美日韩一区二区三区| 中文字幕人妻三级中文无码视频| 中国老太婆bb无套内射| 成人h视频在线观看| 99国产欧美久久久精品蜜芽| 精品久久久无码人妻字幂| 亚洲日韩av无码| 久久这里只有精品6| 亚洲欧美成人中文日韩电影网站| 18禁免费无码无遮挡不卡网站| 久久亚洲中文字幕无码| 99国精品午夜福利视频不卡| 国产裸体美女永久免费无遮挡| 性欧美大战久久久久久久久| 欧美黑人粗暴多交高潮水最多| 无码a级毛片免费视频内谢| 波多野结衣初尝黑人巨大| 国产美女牲交视频| 狠狠躁夜夜躁人人爽天天天天97| 久久婷婷五月综合97色| 日产幕无线码三区在线| 97久久人人超碰超碰窝窝| 西西人体444WWW大胆无码视频| 曝光无码有码视频专区| 少妇厨房愉情理伦BD在线观看| 精品97国产免费人成视频| 色婷婷综合久久久久中文一区二区| 人人超碰人人爱超碰国产| 亚洲av日韩av永久无码电影| 国产无遮挡又爽又刺激的视频老师|