吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

使用微控制器上的引導加載程序使您的嵌入式設計面向未來

星星科技指導員 ? 來源:microchip ? 作者:microchip ? 2023-05-06 10:55 ? 次閱讀

引導加載程序概述

產品開發的初始階段,引導加載程序可能經常被忽視,因為它不是主要的最終產品。但是,它允許公司使用僅滿足其最終功能集的一部分的軟件來啟動其產品,然后在產品投放市場后向其產品添加功能或解決錯誤。

引導加載程序的用途

隨著嵌入式設計在功能和連接性方面的發展,支持遠程應用程序更新的需求也在增加。嵌入式連接不限于單一通信協議,具有多種形式,在汽車、工業消費、醫療物聯網IoT 等不斷增長的市場中至關重要。

引導加載程序是一個程序,允許您通過許多方便的接口加載應用程序固件,如UART,CAN/CAN FD,LIN,I 2C等。當您打開或重置微控制器MCU) 時,引導加載程序是第一個運行的程序,用于檢查是否存在上傳請求。如果有,它將上傳新固件并將其編程到閃存中。這是一個復雜且耗時的過程,但不用擔心,我們通過MPLAB? 代碼配置器 (MCC) 中提供引導加載程序庫來簡化將引導加載程序添加到您的設計中,MCC 是一種免費的圖形代碼生成工具,可幫助使用 PIC24 微控制器 (MCU) 和 dsPIC33 數字信號控制器 (DSC) 進行應用開發。

生成的引導加載程序代碼的主要要求是:

確定是否加載了有效的最終應用程序

通信/執行支持的命令

驗證收到的最新固件的真實性和完整性

擦除/重寫最終應用程序內存空間

將控制權移交給最終應用程序

健壯性需要一些附加功能:

確保擦除/寫入地址超出引導加載程序內存范圍

允許主機讀取程序存儲器

檢測損壞的最終應用程序代碼并正?;謴?/p>

這些是如果您自己開發引導加載程序可能會遇到的一些復雜性。但是,MCC 引導加載程序庫抽象了這些復雜性,并簡化了在 MCC 中只需單擊幾下即可添加引導加載程序的過程。我們的 MCC 引導加載程序經過嚴格測試,包括檢查和平衡,可在您的設計中構建彈性和健壯性,以避免意外損壞。

安全固件升級

對于執行固件更新的開發人員來說,安全性是一項關鍵挑戰,我們最不希望看到的就是被黑客入侵。執行固件更新的開發人員應進行身份驗證,甚至可以選擇性地加密其應用程序映像,以防止任何人深入了解專有固件或逆向工程和入侵系統。我們的高性能 dsPIC33C DSC 和低功耗 PIC24F MCU 與我們的 ATECC608 加密身份驗證?和 TrustAnchor100 (TA100) 加密汽車?安全 IC 或 dsPIC33C MPT 安全 DSC 相結合,提供了一組特別有趣的安全功能,可實現不可變的安全啟動和安全固件升級功能。

安全啟動可確保僅在設備上執行授權固件;但是,黑客可能會嘗試利用舊固件并嘗試撤消任何固件更新。例如,黑客可能會嘗試使用較舊的映像重新刷新設備,這可能會導致嚴重的安全隱患。防回滾通過確保這些黑客無法加載舊版本的固件來防止這些攻擊。但是,回滾可以用于恢復目的,但前提是已獲得授權。

我們還能如何使這些引導加載程序健壯?除了在電源事件后延遲軟件執行外,強大的引導加載程序入口方法對于保護應用程序也很重要。不建議使用過于簡單的輸入方法,例如僅檢測單個UART字節。包含“32”和“1”位混合的 0 位或更長的檢測序列不太可能意外解碼隨機通信噪聲。還建議在引導加載協議中實現閃存解鎖命令,而不是在應用軟件中實現硬編碼。主機應用程序不僅應負責發送進入引導加載程序模式的命令,還應負責發送單獨的命令以解鎖擦除/寫入操作,然后才能允許發送修改閃存內容的其他命令。

信任不僅依賴于設備,還依賴于制造過程。利用生產線中的弱點是黑客的首要目標之一。將密鑰和機密與制造隔離同樣重要??蛻艨梢詫⑦@一負擔留給Microchip的安全工廠,并利用我們值得信賴的配置服務。

Microchip的解決方案/MCC旋律簡介

開發自定義引導加載程序代碼可能是一個復雜且耗時的過程。面對所有這些關鍵挑戰,Microchip的解決方案如何解決它們?

適用于 dsPIC33 DSC 和 PIC24 MCU 的 MCC 引導加載程序允許客戶配置和使用引導加載程序以及與引導加載程序關聯的應用程序。引導加載程序在設計中的集成包括三個部分:

主機應用程序

設備引導加載程序

設備端應用

主機應用程序負責加載新的十六進制文件,并通過支持的命令語法將其發送到引導加載程序。設備終端應用程序需要了解引導加載程序,并且必須了解如何在請求或配置的事件時將控制權返回給引導加載程序。默認情況下,設備引導加載程序生成為在啟動時運行,并確認是否加載了有效的應用程序。如果存在有效的應用程序,則放棄控制權;否則,該操作將保留在引導加載程序中。

用于管理引導加載程序過程的主機應用程序可以是Microchip的統一引導加載程序應用程序,它可以是獨立的應用程序,也可以是單獨的外部微控制器設備。無論哪種方式,最終目的都保持不變:通過使用引導加載程序和支持的命令更新最終應用程序固件版本。

MCC Melody和引導加載程序庫應該提供您所需的所有支持,以加快設計/最終應用程序的開發時間。MCC Melody提供的升級和靈活的架構,由MCC Classic開發而成,使配置設備,外圍設備,庫和代碼變得簡單。它清楚地可視化組件的依賴項以簡化開發,并通過在驅動程序級別啟用內容版本控制來提供易于維護。您可以使用 MCC Melody 輕松跨微控制器遷移,以滿足您的應用需求。

MCC Melody提供庫、驅動程序、外設庫(PLIB)和硬件初始值設定項(HWI),用于開發Microchip PIC和AVR?微控制器以及dsPIC DSC??的嵌入式軟件。這些組件通過圖形配置工具進行定制,該工具可生成高效的 C 代碼。

低級PLIB很簡單,用于初始化和控制外設和基本器件功能。系統驅動程序支持配置常規功能,通常由其他外設使用,如引腳、中斷和系統時鐘。驅動程序依賴于 PLIB,并將硬件詳細信息從庫和應用程序中抽象出來。庫使用驅動程序和系統服務來實現設備獨立性,并為當今嵌入式應用程序通常需要的網絡、USB、加密和其他功能提供支持。您可以從MPLAB X IDE / MPLAB Xpress中安裝MCC Melody,也可以下載并將其作為插件安裝。

關鍵要點

那么,是什么讓引導加載程序成為一個好的引導加載程序呢?易用性是主要要求之一,我們使用 PIC24 微控制器和 dsPIC33 DSC 的 MCC 引導加載程序提供了這些要求。簡單的 GUI 界面使您能夠創建專為滿足您的應用需求而設計的引導加載程序固件。我們還提供應用程序固件配置,使您能夠輕松地使用應用程序自定義引導加載程序。

審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 微控制器
    +關注

    關注

    48

    文章

    7649

    瀏覽量

    152097
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17317

    瀏覽量

    352618
  • MPLAB
    +關注

    關注

    9

    文章

    217

    瀏覽量

    67019
收藏 人收藏

    評論

    相關推薦

    如何為嵌入式應用選擇合適的微控制器

    嵌入式應用選擇合適的微控制器可能是一項至關重要的任務。不僅有各種各樣的技術選擇需要考慮,還有商業案例問題,如價格和交付時間可能會削弱項目。在項目或嵌入式系統應用程序開始時,很有可能在
    發表于 12-21 17:58

    如何在I2C從外部微控制器運行引導加載程序

    編程部分。我還沒有找到任何關于如何使用外部微控制器作為引導加載程序的文檔。我只能在HSSP編程接口上找到文檔,如果它壞了,可能會擦除引導
    發表于 07-12 09:09

    慧榮科技FerriSSD是如何滿足嵌入式引導加載應用需求的?

    Silicon Motion(慧榮科技)的 FerriSSD?產品家族開發滿足了嵌入式應用中引導加載程序獨特而苛刻的要求。在各種工作溫度環境下,嵌入
    發表于 10-16 08:05

    使用ARM Cortex和STM32的嵌入式系統微控制器

    背景知識視頻教程使用ARM Cortex和STM32的嵌入式系統的基礎掌握微控制器:定時,PWM,CAN,RTC,低功耗STM32Fx微控制器自定義
    發表于 08-03 06:47

    時間觸發嵌入式系統設計模式(使用8051微控制器開發可靠應用

    時間觸發嵌入式系統設計模式:使用8051微控制器開發可靠應用主要關注使用軟件模式迅速地開發時間觸發嵌入式系統的軟件,涉及的系統全部基于8051系列微控制器。時間觸發技術
    發表于 10-28 23:20 ?689次下載
    時間觸發<b class='flag-5'>嵌入式</b>系統設計模式(使用8051<b class='flag-5'>微控制器</b>開發可靠應用

    基于CORBA技術的嵌入式控制器設計

    本文以制造業嵌入式控制器為背景,在所選擇的嵌入式硬件和實時操作系統的基礎,開發基于CORBA技術的面向重礦行業的
    發表于 09-06 17:30 ?1727次閱讀
    基于CORBA技術的<b class='flag-5'>嵌入式</b><b class='flag-5'>控制器</b>設計

    嵌入式引導加載技術

    嵌入式引導加載技術
    發表于 02-08 01:37 ?10次下載

    如何在STM32微控制器引導加載中使用USART協議的詳細資料說明

    本應用程序說明描述了STM32微控制器引導加載中使用的USART協議。它詳細描述了每個支持的命令。有關USART硬件資源和設備
    發表于 12-13 15:20 ?4次下載
    如何在STM32<b class='flag-5'>微控制器</b><b class='flag-5'>引導</b><b class='flag-5'>加載</b><b class='flag-5'>器</b>中使用USART協議的詳細資料說明

    嵌入式Linux操作系統引導加載程序BootLoarder

    嵌入式Linux操作系統引導加載程序BootLoarderBootLoarder是什么Linux操作系統分層BootLoarderBootLoader操作模式BootLoader啟動
    發表于 11-01 17:05 ?8次下載
    <b class='flag-5'>嵌入式</b>Linux操作系統<b class='flag-5'>引導</b><b class='flag-5'>加載</b><b class='flag-5'>程序</b>BootLoarder

    MAXQ微控制器的多路復用JTAG接口引腳

    通常在嵌入式應用中,微控制器的每一個端口引腳都需要,沒有多余的端口引腳。大多數具有可重寫內部程序存儲(如閃存或EEPROM)的MAXQ?
    的頭像 發表于 01-10 11:34 ?1239次閱讀

    為MAXQ2000微控制器實現JTAG自舉加載程序主控

    通過使用一組標準化命令,MAXQ微控制器提供的JTAG引導加載程序允許外部JTAG主機輕松識別和編程任何MAXQ微控制器
    的頭像 發表于 02-21 11:22 ?1202次閱讀
    為MAXQ2000<b class='flag-5'>微控制器</b>實現JTAG自舉<b class='flag-5'>加載</b><b class='flag-5'>程序</b>主控

    使用高速微控制器作為自舉加載程序

    高速微控制器系列的一些成員集成了內部EPROM或ROM用于程序存儲。但是,某些應用需要程序存儲的系統內重新編程。使用帶有內部程序存儲
    的頭像 發表于 03-01 13:57 ?812次閱讀
    使用高速<b class='flag-5'>微控制器</b>作為自舉<b class='flag-5'>加載</b><b class='flag-5'>程序</b>

    用于Hercules微控制器的CAN總線引導加載程序

    電子發燒友網站提供《用于Hercules微控制器的CAN總線引導加載程序.pdf》資料免費下載
    發表于 09-19 10:52 ?0次下載
    用于Hercules<b class='flag-5'>微控制器</b>的CAN總線<b class='flag-5'>引導</b><b class='flag-5'>加載</b><b class='flag-5'>程序</b>

    用于Hercules微控制器的CAN總線引導加載程序

    電子發燒友網站提供《用于Hercules微控制器的CAN總線引導加載程序.pdf》資料免費下載
    發表于 09-19 10:55 ?0次下載
    用于Hercules<b class='flag-5'>微控制器</b>的CAN總線<b class='flag-5'>引導</b><b class='flag-5'>加載</b><b class='flag-5'>程序</b>

    嵌入式系統中微控制器與微處理的區別

    它們在現代電子設備中的核心作用,并探討它們如何持續推動技術創新的未來。什么是嵌入式微控制器?嵌入式微控制器是設計用于在電子系統中執行特定任務的緊湊型集成電路。與更廣
    的頭像 發表于 10-14 11:02 ?554次閱讀
    <b class='flag-5'>嵌入式</b>系統中<b class='flag-5'>微控制器</b>與微處理<b class='flag-5'>器</b>的區別
    百家乐官网靠什么赢| 大发888体育和娱乐| 坐乾向巽24山向择吉| 百家乐官网b28博你| 百家乐官网猪仔路| 黄金城百家乐游戏| 澳门百家乐下注最低| 金殿百家乐的玩法技巧和规则| 金盾百家乐网址| 大发888送钱58元| 百家乐官网玩法教材| 百家乐官网五湖四海娱乐城| 百家乐有秘技吗| 百家乐外套| 凯旋门娱乐城开户网址| 元江| 网上百家乐官网软件大全酷| 百家乐类游戏平台| 威尼斯人娱乐城代理| 宁安市| 聚宝盆百家乐官网的玩法技巧和规则| 单耳房做生意的风水| 誉博百家乐开户导航| tt娱乐城官网| 赌博百家乐官网游戏| 百家乐投注翻倍方法| 大发888官方888| 百家乐官网博彩通| 有百家乐的游戏平台| 路劲太阳城金旭园| 百家乐官网使用技法| 做生意门口怎么摆放| 大发888娱乐场解码器| 百家乐官网赌假的工具| 百家乐发牌铲| 大发888娱乐场 ylc8| 百家乐官网15人桌子| 属火的在属土的方向做生意好不好| sz全讯网新2xb112| 百家乐官网技巧大全| 太阳城百家乐娱乐开户|