91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

3天內(nèi)不再提示

基于納芯微實時控制MCU NS800RT5039的IAP固件升級指南(1)

米芯微電子 ? 來源:納芯微電子 ? 2026-02-06 09:13 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

來源:納芯微電子

設備固件升級需拆回原廠、依賴 J-LINK 等仿真器燒錄?這一痛點可通過 IAP(In-Application Programming)升級方案徹底解決。本系列文章將以納芯微NSSine系列實時控制MCU/DSP芯片NS800RT5039為載體,通過《理論篇》與《實戰(zhàn)篇》的結構化講解,深度拆解UART-Raw”協(xié)議下的IAP升級實現(xiàn)邏輯。內(nèi)容覆蓋全流程關鍵環(huán)節(jié):從固件分區(qū)設計(Bootload區(qū)+APP區(qū))的基礎規(guī)劃,到UART模塊驅動開發(fā)、sct分散加載文件配置;從Jump跳轉核心操作的原理剖析,到內(nèi)部Flash擦寫功能的代碼落地,全程配套清晰流程圖與可復用的代碼清單,既為工程師提供扎實的理論指導,也助力快速完成設備現(xiàn)場固件升級,真正告別“拆機返廠”的低效模式。

IAP技術原理:告別返廠燒錄的核心邏輯

經(jīng)典的 IAP 方案采用 Bootloader(引導程序)+ App(應用程序)的雙分區(qū)架構,Bootloader 負責燒錄固件、通訊等功能;App 是實際的應用業(yè)務程序,也就是被升級的對象。雙分區(qū)運行流程如下圖所示:

d092fb52-fcbe-11f0-92de-92fbcf53809c.jpg

圖1 IAP方案流程

通常,帶主控芯片的設備出廠時,應用代碼會通過 J-LINK 等仿真器燒錄至主控芯片。傳統(tǒng)設備固件升級需將設備返廠,通過 J-LINK、CMSIS-DAP 等仿真器重新燒錄代碼,效率低、成本高。使用 IAP 技術可以在設備實際應用場景中通過通信接口即可實現(xiàn)固件更新,脫離燒錄工具。

核心概念介紹

術語簡述

d0f1e360-fcbe-11f0-92de-92fbcf53809c.jpg

中斷向量表

NS800RT5039 內(nèi)核基于 ARM 的 Cortex-M7,在 ARM 架構中,中斷向量表(Interrupt Vector Table)是非常重要的一個組成部分,它定義了處理器發(fā)生中斷時應該執(zhí)行的中斷服務函數(shù)的具體地址。

下方是中斷向量表的示意圖以及 NS800RT5039 中斷向量表的部分定義:

d1524598-fcbe-11f0-92de-92fbcf53809c.jpg

d1b31e72-fcbe-11f0-92de-92fbcf53809c.png

圖2 向量表結構

如上圖所示,向量表第一個元素是“__initial_sp”,這個元素定義了程序系統(tǒng)初始的棧(STACK) 指針,也就是棧頂指針(為什么叫棧頂, 根據(jù) CPU 指令架構,其所定義的棧的生長方向為向下生長,即從高地址到低地址生長,默認初始化時,指針的位置處于棧的頂部,因此叫棧頂指針)。而第二個元素“Reset”對應中斷服務函數(shù) Reset_Handler,這個元素定義的就是 Reset_Handler 函數(shù)的地址,該函數(shù)用作程序系統(tǒng)的入口函數(shù)。

向量表重定向

NS800RT5039 基于 Cortex-M7,支持向量表地址的重定向,也就是 SCB->VTOR 寄存器的功能,它可以指示向量表的地址,這個功能極大的方便了 IAP 的實現(xiàn),從 BOOT 跳轉到 APP 時,通過修改這個寄存器,就能實現(xiàn)向量表的切換。對于 APP 而言, BOOT 跳轉之前 SCB->VTOR 指示的是 BOOT 的向量表,而非 APP 的向量表,所以必須在跳轉到 APP 時手動重新加載 VTOR,以確保在 APP 運行時 CPU 能夠正確響應到 APP 的中斷向量表。

需要注意的是: 對于 Cortex-M7 系列芯片,向量表地址有對齊要求,簡單而言,對齊數(shù)必須為 2 的整數(shù)冪,且不小于向量表總字節(jié)大小。舉個例子, NS800RT7P65x 有 16 個內(nèi)部中斷, 227 個外部中斷,總大小為 243 x 4 =972 Bytes,那么向量表對齊數(shù)必須不小于 972,同時需要滿足為 2 的整數(shù)冪,所以210可作為它的對齊數(shù),也就是 1024。

程序啟動的標準流

硬件初始化 (系統(tǒng)時鐘、外設、中斷)

加載棧頂?shù)刂返絊P寄存器,其位于中斷向量表的第一個元素

讀取 Reset 向量并跳轉

向量表重定向

進行方案設計:實踐前的關鍵決策

設計 Bootloader 與上位機的通訊協(xié)議, 為 Bootloader 開發(fā)數(shù)據(jù)傳輸功能

設計 Flash 燒錄算法,為 Bootloader 開發(fā)燒錄功能

確定如何從 Bootloader 區(qū)啟動,運行 Bootloader 代碼

確定如何從 App 區(qū)啟動

確定 Bootloader 區(qū)與 App 區(qū)的固件地址,以及運行時地址,確保不相干涉

開發(fā)上位機

表1 常見IAP方案

d20d7764-fcbe-11f0-92de-92fbcf53809c.jpg

在實際項目中,選擇哪種 IAP 方案取決于成本、性能、可靠性要求、物理環(huán)境和安全性需求的綜合權衡。對于大多數(shù)應用,UART 或 CAN IAP 是入門和通用的首選。

避坑要點:疑難雜癥如何處理

App 跳轉失敗,程序跑飛

檢查跳轉流程是否正確

檢查 Reset 函數(shù)(通常在啟動文件中)是否正確調(diào)用 SystemInit 函數(shù),以及堆棧初始化函數(shù)(在MDK中是 __main() )

檢查 Reset 向量最后一位是否是 1 (1 代表 Thumb 模式,0 代表 ARM 模式)

檢查在C語言代碼中是否在設置棧頂?shù)刂泛笠约疤D前的同一個函數(shù)中使用了局部變量。因為設置棧頂?shù)刂窌е聴顟B(tài)改變,局部變量會成為未定義的非法數(shù)據(jù)

跳轉成功,但是后續(xù)調(diào)試出現(xiàn) Hardfault

觸發(fā) Hardfault 后,查出出錯地址,結合工程代碼分析非法操作:

觀察 Fault Reports 寄存器 (HFSR,CFSR、MMFAR、BFAR),尋找出錯信息

查看 SP 寄存器,讀取棧幀,獲取出錯前棧狀態(tài)

BootLoader 應用層通信協(xié)議校驗出錯

調(diào)試芯片通訊外設,是否有錯誤標志,如FIFO溢出、校驗失敗等

使用邏分或示波器獲取波形,排查上位機邏輯錯誤、排查硬件干擾、短路或接觸不良

檢查校驗算法,是否與上位機一致,排查算法邏輯

Flash 燒寫失敗或無效

Flash 操作前是否正確關閉了 I/DCache

Flash 寄存器解鎖操作是否正確

Flash 讀寫位寬和對齊是否符合要求

VDDIO 電源電壓是否穩(wěn)定 (Flash 擦寫需要高壓注入),PCB 電源濾波電容是否滿足要求

編譯 Flash 驅動時盡量不開啟代碼優(yōu)化

其他注意事項

謹慎規(guī)劃固件地址,避免 Bootloader 和 App 相互干涉,如 Bootloader 固件過大,超出規(guī)劃區(qū)域導致被 App 固件誤改等

Flash 在擦寫時,不能同時對其進行讀操作,若 CPU 對正在進行擦寫的 Flash 有讀請求,會導致 CPU 處于 halt 狀態(tài)直到 Flash 響應請求

結論與建議

基于 NS800RT5039 的 IAP 實現(xiàn),通過清晰的分區(qū)規(guī)劃與穩(wěn)定的通信、跳轉與存儲機制,使設備固件升級從“返廠燒錄”轉變?yōu)椤艾F(xiàn)場完成”。該方案工程化程度高、代碼可復用性強,覆蓋了多數(shù)實際項目中容易踩坑的關鍵細節(jié),適用于工業(yè)控制、消費電子等多類應用場景,可顯著降低維護成本并提升系統(tǒng)可用性。

如需獲取《NS800RT系列IAP實現(xiàn)原理及參考樣例》應用筆記 ,請聯(lián)系sales@novosns.com。更多產(chǎn)品信息、技術資料敬請訪問www.novosns.com。

納芯微電子(簡稱納芯微,科創(chuàng)板股票代碼:688052;香港聯(lián)交所股票代碼:02676.HK)是高性能高可靠性模擬及混合信號芯片公司。自2013年成立以來,公司聚焦傳感器、信號鏈、電源管理三大方向,為汽車、工業(yè)、信息通訊及消費電子等領域提供豐富的半導體產(chǎn)品及解決方案。

納芯微以『“感知”“驅動”未來,共建綠色、智能、互聯(lián)互通的“芯”世界』為使命,致力于為數(shù)字世界和現(xiàn)實世界的連接提供芯片級解決方案。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • mcu
    mcu
    +關注

    關注

    147

    文章

    18917

    瀏覽量

    397860
  • IAP
    IAP
    +關注

    關注

    2

    文章

    168

    瀏覽量

    26050
  • 實時控制
    +關注

    關注

    0

    文章

    56

    瀏覽量

    9853
  • 納芯微
    +關注

    關注

    3

    文章

    403

    瀏覽量

    16085

原文標題:無需返廠!基于實時控制MCU NS800RT5039 的 IAP 固件升級指南(理論篇)

文章出處:【微信號:米芯微電子,微信公眾號:米芯微電子】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    基于實時控制MCU NS800RT5039IAP固件升級指南(2)

    在上期《無需返廠!基于實時控制MCU NS800RT5039IAP 固件
    的頭像 發(fā)表于 02-06 09:18 ?8904次閱讀
    基于<b class='flag-5'>納</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>實時</b><b class='flag-5'>控制</b><b class='flag-5'>MCU</b> <b class='flag-5'>NS800RT5039</b>的<b class='flag-5'>IAP</b><b class='flag-5'>固件</b><b class='flag-5'>升級</b><b class='flag-5'>指南</b>(2)

    聯(lián)合弦推出NS800RT系列實時控制MCU

    11月20日,宣布聯(lián)合弦半導體(ChipSine),推出NS800RT系列實時
    發(fā)表于 11-21 18:11 ?1170次閱讀
    <b class='flag-5'>納</b><b class='flag-5'>芯</b><b class='flag-5'>微</b>聯(lián)合<b class='flag-5'>芯</b>弦推出<b class='flag-5'>NS800RT</b>系列<b class='flag-5'>實時</b><b class='flag-5'>控制</b><b class='flag-5'>MCU</b>

    NSSine?超高性價比新品:NS800RT113x實時控制MCU,開啟“M7平權”新時代

    隨著行業(yè)對算力與實時性的要求不斷提升,傳統(tǒng) MCU 平臺在運算能力、存儲速度與外設性能方面逐漸顯現(xiàn)瓶頸。為解決這一挑戰(zhàn),推出 ?
    的頭像 發(fā)表于 09-12 16:50 ?5w次閱讀
    NSSine?超高性價比新品:<b class='flag-5'>NS800RT</b>113x<b class='flag-5'>實時</b><b class='flag-5'>控制</b><b class='flag-5'>MCU</b>,開啟“M7平權”新時代

    海通用 MCU 應用筆記 :CS32F103 系列 MCU IAP 升級指南

    本應用筆記旨在幫助指導用戶針對海 CORTEX-M3 MCU CS32F103 系列單片機 IAP 應用的快速開發(fā)。本應用筆記實現(xiàn)了 CAN 和 USART 兩種接口方式來開發(fā) IAP
    發(fā)表于 05-16 11:40

    AT32 MCU如何使用IAP通過USART實現(xiàn)對固件的在線升級更新

    AT32 MCU如何使用IAP通過USART實現(xiàn)對固件的在線升級更新
    的頭像 發(fā)表于 09-19 16:51 ?4036次閱讀
    AT32 <b class='flag-5'>MCU</b>如何使用<b class='flag-5'>IAP</b>通過USART實現(xiàn)對<b class='flag-5'>固件</b>的在線<b class='flag-5'>升級</b>更新

    攜手弦發(fā)布NS800RT系列實時控制MCU

    今日宣布聯(lián)合弦半導體(ChipSine),推出NS800RT系列實時
    的頭像 發(fā)表于 11-21 11:50 ?1321次閱讀
    <b class='flag-5'>納</b><b class='flag-5'>芯</b><b class='flag-5'>微</b>攜手<b class='flag-5'>芯</b>弦發(fā)布<b class='flag-5'>NS800RT</b>系列<b class='flag-5'>實時</b><b class='flag-5'>控制</b><b class='flag-5'>MCU</b>

    MCU新玩家:推出NS800RT系列實時控制MCU

    宣布聯(lián)合弦半導體(ChipSine),推出NS800RT系列實時
    的頭像 發(fā)表于 11-21 15:05 ?2478次閱讀
    <b class='flag-5'>MCU</b>新玩家:<b class='flag-5'>納</b><b class='flag-5'>芯</b><b class='flag-5'>微</b>推出<b class='flag-5'>NS800RT</b>系列<b class='flag-5'>實時</b><b class='flag-5'>控制</b><b class='flag-5'>MCU</b>

    NS800RT系列MCU實時控制領域的全新標桿

    聯(lián)合弦半導體推出了全新NS800RT系列實時控制
    的頭像 發(fā)表于 03-04 16:34 ?1458次閱讀
    <b class='flag-5'>納</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>NS800RT</b>系列<b class='flag-5'>MCU</b>:<b class='flag-5'>實時</b><b class='flag-5'>控制</b>領域的全新標桿

    NS800RT5039、NS800RT5049和NS800RT3025實時控制MCU工規(guī)版正式量產(chǎn) 供應鏈全國產(chǎn)

    早前在2024年11月發(fā)布的 NSSine系列實時控制MCU ,經(jīng)過廣泛驗證和嚴格測試,目前已有三款工規(guī)版本產(chǎn)品 順利進入 量產(chǎn)階段 ,分別為:NS800RT5039、
    的頭像 發(fā)表于 05-08 09:27 ?1870次閱讀
    <b class='flag-5'>納</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>NS800RT5039</b>、<b class='flag-5'>NS800RT</b>5049和<b class='flag-5'>NS800RT</b>3025<b class='flag-5'>實時</b><b class='flag-5'>控制</b><b class='flag-5'>MCU</b>工規(guī)版正式量產(chǎn)  供應鏈全國產(chǎn)

    供應鏈全國產(chǎn)!NSSine?系列實時控制MCU(DSP)工規(guī)版正式量產(chǎn)

    2024年11月正式發(fā)布的 NSSine?系列實時控制MCU(DSP) ,經(jīng)過廣泛驗證和嚴格測試,目前已有三款工規(guī)版本產(chǎn)品 順利進入量產(chǎn)階段 ,分別為:NS800RT5039、
    的頭像 發(fā)表于 06-23 09:13 ?1018次閱讀
    供應鏈全國產(chǎn)!<b class='flag-5'>納</b><b class='flag-5'>芯</b><b class='flag-5'>微</b>NSSine?系列<b class='flag-5'>實時</b><b class='flag-5'>控制</b><b class='flag-5'>MCU</b>(DSP)工規(guī)版正式量產(chǎn)

    推出NS800RT737x系列高性能實時控制MCU

    實時性要求極高的電力電子與電力拖動領域,如新能源逆變器、工業(yè)伺服控制及車載電機驅動中,系統(tǒng)必須在毫秒甚至微秒級完成數(shù)據(jù)處理與響應。
    的頭像 發(fā)表于 08-22 11:28 ?1831次閱讀
    <b class='flag-5'>納</b><b class='flag-5'>芯</b><b class='flag-5'>微</b>推出<b class='flag-5'>NS800RT</b>737x系列高性能<b class='flag-5'>實時</b><b class='flag-5'>控制</b><b class='flag-5'>MCU</b>

    推出全新NS800RT7P65S/D系列實時控制MCU

    再度擴充NSSine 實時控制MCU/DSP產(chǎn)品矩陣,推出全新
    的頭像 發(fā)表于 09-03 14:28 ?3936次閱讀
    <b class='flag-5'>納</b><b class='flag-5'>芯</b><b class='flag-5'>微</b>推出全新<b class='flag-5'>NS800RT</b>7P65S/D系列<b class='flag-5'>實時</b><b class='flag-5'>控制</b><b class='flag-5'>MCU</b>

    推出NS800RT115x系列高性價比MCU

    正式推出 NS800RT115x 系列高性價比 MCU,基于 Arm Cortex-M7 內(nèi)核,主頻高達 200 MHz,搭載自研 m
    的頭像 發(fā)表于 10-23 17:30 ?1127次閱讀
    <b class='flag-5'>納</b><b class='flag-5'>芯</b><b class='flag-5'>微</b>推出<b class='flag-5'>NS800RT</b>115x系列高性價比<b class='flag-5'>MCU</b>

    NSSine系列實時控制MCU/DSP再添新成員

    在工業(yè)和能源領域,效率和控制精密度是核心訴求。NSSine系列實時控制
    的頭像 發(fā)表于 11-05 09:14 ?2110次閱讀
    <b class='flag-5'>納</b><b class='flag-5'>芯</b><b class='flag-5'>微</b>NSSine系列<b class='flag-5'>實時</b><b class='flag-5'>控制</b><b class='flag-5'>MCU</b>/DSP再添新成員

    NSSine系列實時控制MCU/DSP助力數(shù)字電源與電機開發(fā)

    近日,在2026 RT-Thread 20周年慶典暨開發(fā)者大會上,市場總監(jiān)宋昆鵬帶來了一場聚焦于高實時
    的頭像 發(fā)表于 02-02 09:51 ?1347次閱讀
    <b class='flag-5'>納</b><b class='flag-5'>芯</b><b class='flag-5'>微</b>NSSine系列<b class='flag-5'>實時</b><b class='flag-5'>控制</b><b class='flag-5'>MCU</b>/DSP助力數(shù)字電源與電機開發(fā)