chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

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

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

掃碼添加小助手

加入工程師交流群

來(lái)源:納芯微電子

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

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

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

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

圖1 IAP方案流程

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

核心概念介紹

術(shù)語(yǔ)簡(jiǎn)述

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

中斷向量表

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

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

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

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

圖2 向量表結(jié)構(gòu)

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

向量表重定向

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

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

程序啟動(dòng)的標(biāo)準(zhǔn)流

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

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

讀取 Reset 向量并跳轉(zhuǎn)

向量表重定向

進(jìn)行方案設(shè)計(jì):實(shí)踐前的關(guān)鍵決策

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

設(shè)計(jì) Flash 燒錄算法,為 Bootloader 開(kāi)發(fā)燒錄功能

確定如何從 Bootloader 區(qū)啟動(dòng),運(yùn)行 Bootloader 代碼

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

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

開(kāi)發(fā)上位機(jī)

表1 常見(jiàn)IAP方案

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

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

避坑要點(diǎn):疑難雜癥如何處理

App 跳轉(zhuǎn)失敗,程序跑飛

檢查跳轉(zhuǎn)流程是否正確

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

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

檢查在C語(yǔ)言代碼中是否在設(shè)置棧頂?shù)刂泛笠约疤D(zhuǎn)前的同一個(gè)函數(shù)中使用了局部變量。因?yàn)樵O(shè)置棧頂?shù)刂窌?huì)導(dǎo)致棧狀態(tài)改變,局部變量會(huì)成為未定義的非法數(shù)據(jù)

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

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

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

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

BootLoader 應(yīng)用層通信協(xié)議校驗(yàn)出錯(cuò)

調(diào)試芯片通訊外設(shè),是否有錯(cuò)誤標(biāo)志,如FIFO溢出、校驗(yàn)失敗等

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

檢查校驗(yàn)算法,是否與上位機(jī)一致,排查算法邏輯

Flash 燒寫(xiě)失敗或無(wú)效

Flash 操作前是否正確關(guān)閉了 I/DCache

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

Flash 讀寫(xiě)位寬和對(duì)齊是否符合要求

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

編譯 Flash 驅(qū)動(dòng)時(shí)盡量不開(kāi)啟代碼優(yōu)化

其他注意事項(xiàng)

謹(jǐn)慎規(guī)劃固件地址,避免 Bootloader 和 App 相互干涉,如 Bootloader 固件過(guò)大,超出規(guī)劃區(qū)域?qū)е卤?App 固件誤改等

Flash 在擦寫(xiě)時(shí),不能同時(shí)對(duì)其進(jìn)行讀操作,若 CPU 對(duì)正在進(jìn)行擦寫(xiě)的 Flash 有讀請(qǐng)求,會(huì)導(dǎo)致 CPU 處于 halt 狀態(tài)直到 Flash 響應(yīng)請(qǐng)求

結(jié)論與建議

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

如需獲取《NS800RT系列IAP實(shí)現(xiàn)原理及參考樣例》應(yīng)用筆記 ,請(qǐng)聯(lián)系sales@novosns.com。更多產(chǎn)品信息、技術(shù)資料敬請(qǐng)?jiān)L問(wèn)www.novosns.com。

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

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

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

    關(guān)注

    147

    文章

    18851

    瀏覽量

    394735
  • IAP
    IAP
    +關(guān)注

    關(guān)注

    2

    文章

    168

    瀏覽量

    25958
  • 實(shí)時(shí)控制
    +關(guān)注

    關(guān)注

    0

    文章

    56

    瀏覽量

    9838
  • 納芯微
    +關(guān)注

    關(guān)注

    2

    文章

    399

    瀏覽量

    16025

原文標(biāo)題:無(wú)需返廠!基于實(shí)時(shí)控制MCU NS800RT5039 的 IAP 固件升級(jí)指南(理論篇)

文章出處:【微信號(hào):米芯微電子,微信公眾號(hào):米芯微電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

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

    在上期《無(wú)需返廠!基于實(shí)時(shí)控制MCU NS800RT5039IAP 固件
    的頭像 發(fā)表于 02-06 09:18 ?314次閱讀
    基于<b class='flag-5'>納</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>實(shí)時(shí)</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'>升級(jí)</b><b class='flag-5'>指南</b>(2)

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

    11月20日,宣布聯(lián)合弦半導(dǎo)體(ChipSine),推出NS800RT系列實(shí)時(shí)
    發(fā)表于 11-21 18:11 ?1145次閱讀
    <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'>實(shí)時(shí)</b><b class='flag-5'>控制</b><b class='flag-5'>MCU</b>

    NSSine?超高性價(jià)比新品:NS800RT113x實(shí)時(shí)控制MCU,開(kāi)啟“M7平權(quán)”新時(shí)代

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

    海通用 MCU 應(yīng)用筆記 :CS32F103 系列 MCU IAP 升級(jí)指南

    本應(yīng)用筆記旨在幫助指導(dǎo)用戶針對(duì)海 CORTEX-M3 MCU CS32F103 系列單片機(jī) IAP 應(yīng)用的快速開(kāi)發(fā)。本應(yīng)用筆記實(shí)現(xiàn)了 CAN 和 USART 兩種接口方式來(lái)開(kāi)發(fā) IAP
    發(fā)表于 05-16 11:40

    AT32 MCU如何使用IAP通過(guò)USART實(shí)現(xiàn)對(duì)固件的在線升級(jí)更新

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

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

    今日宣布聯(lián)合弦半導(dǎo)體(ChipSine),推出NS800RT系列實(shí)時(shí)
    的頭像 發(fā)表于 11-21 11:50 ?1263次閱讀
    <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'>實(shí)時(shí)</b><b class='flag-5'>控制</b><b class='flag-5'>MCU</b>

    MCU新玩家:推出NS800RT系列實(shí)時(shí)控制MCU

    宣布聯(lián)合弦半導(dǎo)體(ChipSine),推出NS800RT系列實(shí)時(shí)
    的頭像 發(fā)表于 11-21 15:05 ?2382次閱讀
    <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'>實(shí)時(shí)</b><b class='flag-5'>控制</b><b class='flag-5'>MCU</b>

    NS800RT系列MCU實(shí)時(shí)控制領(lǐng)域的全新標(biāo)桿

    聯(lián)合弦半導(dǎo)體推出了全新NS800RT系列實(shí)時(shí)控制
    的頭像 發(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'>實(shí)時(shí)</b><b class='flag-5'>控制</b>領(lǐng)域的全新標(biāo)桿

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

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

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

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

    推出NS800RT737x系列高性能實(shí)時(shí)控制MCU

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

    推出全新NS800RT7P65S/D系列實(shí)時(shí)控制MCU

    再度擴(kuò)充NSSine 實(shí)時(shí)控制MCU/DSP產(chǎn)品矩陣,推出全新
    的頭像 發(fā)表于 09-03 14:28 ?3841次閱讀
    <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'>實(shí)時(shí)</b><b class='flag-5'>控制</b><b class='flag-5'>MCU</b>

    推出NS800RT115x系列高性價(jià)比MCU

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

    NSSine系列實(shí)時(shí)控制MCU/DSP再添新成員

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

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

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