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

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

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

3天內不再提示

HC32L110系列的IAP控制模塊基本功能

沈陽芯碩科技 ? 來源:jetson024 ? 作者:jetson024 ? 2022-05-10 14:28 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

通常實現(xiàn)IAP功能時,需要在設計固件程序時編寫兩個項目代碼,第一個項目程序即BOOT程序不執(zhí)行正常的功能操作,而只是通過某種通信方式(如USB、USART)接收程序或數(shù)據(jù),執(zhí)行對第二部分代碼的更新;第二個項目程序即APP程序用戶真正的功能代碼。這兩部分項目代碼同時燒錄在Flash中,當芯片上電后,首先是第一個項目程序BOOT開始運行,它主要實現(xiàn)如下功能。
1)檢查是否需要對第二部APP程序代碼進行更新
2)如果不需要更新則轉到4)
3)執(zhí)行更新操作
4)跳轉到第二部分代碼執(zhí)行
第一部分BOOT代碼可以通過SWD或者離線編程器下載到芯片F(xiàn)lash內部,第二部分APP和第一部分BOOT一起燒入芯片內部,以后需要程序更新再通過第一把BOOT代碼更新。根據(jù)芯片系列的Flash存放不同地址范圍,從最低地址區(qū)域開始存放BOOT,緊跟其后的就是APP程序,本篇筆記受限于芯片內部Flash容量,只是存放一個APP程序。即在芯片內部有兩個程序即BOOT和APP程序。
IAP功能具體實現(xiàn)
芯片程序一般從Flash地址0x0000_0000開始執(zhí)行,基于Cortex-M0+內核特性,內部通過中斷向量表來響應中斷,程序從中斷向量表取出復位中斷向量執(zhí)行中斷程序,當中斷產生,芯片內部PC指針定位到中斷向量表來取出對應的中斷服務程序執(zhí)行。如果沒有中斷產生,在芯片執(zhí)行完復位中斷服務程序后,跳轉到main函數(shù)順序執(zhí)行死循環(huán)。如果有中斷產生,通過中斷向量表執(zhí)行對應的中斷服務程序。
當加入IAP后,芯片還是從中斷向量表取出復位中斷向量執(zhí)行中斷程序,如果沒有中斷產生,在芯片執(zhí)行完復位中斷服務程序后,跳轉到main函數(shù)。在執(zhí)行完IAP后,新程序的復位中斷向量地址為0x0000_0004 + BOOT程序大小,跳轉到APP程序的復位向量表,執(zhí)行APP的復位中斷服務程序,隨后跳轉到APP程序的main函數(shù)執(zhí)行。
其中:BOOT程序大小3.5KB
Para區(qū)域存放IAP升級期間參數(shù)和標志占用0.5KB
APP程序大小為24KB
Demo程序,操作流程如下:
先將APP工程HEX下載到芯片內部
打開BOOT工程HEX下載到芯片,或者可以使用工具將兩個HEX文件合并在一起下載到芯片內部。
使用上位機演示程序,打開串口波特率固定為9600。按照協(xié)議將APP工程的bin文件下載到0x1000開始的芯片內部,其中要求APP的bin文件小于28KB。
參考樣例及驅動
通過上述介紹,使用演示Demo程序IAP需要特定協(xié)議。
通信協(xié)議格式如下:
///*frame:68A0A1CPage L0L1D0... DN-1 CRC0CRC1 16*///
///*offset :0 1 2 3 4 5 6 7 8+N 9+N 10+N 11 +N*///
頭字符: 固定字符為0x68一個字節(jié)
地址: A0 A1兩個字節(jié)
控制碼C:讀地址為0x15 寫地址為0x25
頁地址page:一個字節(jié)代表現(xiàn)在要操作的那個頁
長度L0 L1: 兩個字節(jié) L0代表高字節(jié),L1代表低字節(jié),此處長度僅代表數(shù)據(jù)區(qū)域長度
數(shù)據(jù)域D0…DN-1:代表讀出或者寫入的數(shù)據(jù)
數(shù)據(jù)校驗CRC:采用CRC-16方式,代表數(shù)據(jù)域數(shù)據(jù)的校驗。
結束符號:固定字符為0x16一個字節(jié)
讀指令如下:
68 A0 A1 15 Page 0x00 0x00 CRC0 CRC1 16
正確回復:68 A0 A1 95 Page 0x04 0x00 D0 ………… D1023 CRC0 CRC1 16
錯誤回復 68 A0A1D5 Page 0x00 0x00CRC0CRC1 16
Page選擇(0 -- 27)
每次讀取1K字節(jié)數(shù)據(jù)
寫指令如下:
68 A0 A1 25 Page 04 00 D0 ………… D1023 CRC0 CRC1 16
正確回復:68 A0 A1 A5 Page 04 00 CRC0 CRC1 16
錯誤回復 68 A0 A1 E5 Page 00 00 CRC0CRC1 16
Page選擇(0 -- 27)
每次寫1K字節(jié)數(shù)據(jù)
開始IAP升級指令
68 A0 A1 36 00 00 00 00 00 16
正確回復68A0 A1 B6 00 000000 00 16
錯誤回復68A0 A1 F6 00 000000 00 16
結束IAP升級指令
68 A0 A1 49 00 00 00 00 00 16
正確回復68A0 A1 C9 00 000000 00 16
錯誤回復68A0 A1 09 00 000000 00 16
發(fā)送數(shù)據(jù)幀如果發(fā)送結束到接收小于2s,如果超過說明IAP升級通信錯誤。
以下部分簡要介紹IAP實現(xiàn)關鍵代碼:
1)BOOT實現(xiàn)跳轉到APP代碼:
if(((*(__IO uint32_t*)appxaddr)&0x2FFE0000)==0x20000000) //檢查棧頂?shù)刂肥欠窈戏?/span>
{
jump2app=(iapfun)*(__IO uint32_t*)(appxaddr+4);//APP程序復位地址
MSR_MSP(*(__IO uint32_t*)appxaddr); //初始化APP堆棧指針
jump2app(); //跳轉到APP程序
}
2)APP程序中斷向量偏移:
new_vect_tableEQU 0x00001000 ;中斷向量偏移長度
; reset Vector table address.
LDR R0, =0xE000ED08
LDR R2, =new_vect_table
STR R2, [R0] ;向量表重定義點擊并拖拽以移動
總結
以上章節(jié)簡要介紹了HC32L110系列的IAP控制模塊基本功能,詳細說明了該模塊的各個功能及操作步驟,用戶在實際的應用開發(fā)過程中,如果需要更深一步了解該模塊的使用方法及操作事項,應以HC32L110的用戶手冊為準。本章中提到的樣例既可以作為用戶進一步的實驗與學習,也可以在實際開發(fā)中直接應用。

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

    關注

    463

    文章

    54014

    瀏覽量

    466289
  • 控制模塊
    +關注

    關注

    2

    文章

    146

    瀏覽量

    19810
  • IAP
    IAP
    +關注

    關注

    2

    文章

    169

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    【飛凌嵌入式RV1126B開發(fā)板】+基本功能測試篇(2)

    2.基本功能測試 1)LED測試 OK1126B核心板上有一個藍色LED燈,當板卡上電時核心板得藍色LED燈會開始閃爍。 對該LED燈的測試方法如下: (1)點亮LED燈測試
    發(fā)表于 03-07 00:07

    【飛凌嵌入式RV1126B開發(fā)板】+基本功能測試篇(1)

    基本功能的測試。 1.內核性能測試 1)查看內核和cpu信息 實現(xiàn)該測試功能的指令為:uname -a 圖1 操作及內容 2)查看CPU頻率 圖2 操作及結果 3)查看環(huán)境變量信息 圖3 操作及結果 4
    發(fā)表于 03-05 12:25

    小華HC32L低功耗額溫槍開源方案

    1,本方案采用小華超低功耗MCU設計;適用HC32L136,HC32L176,HC32L166,HC32L196,HC32L186等
    發(fā)表于 02-12 17:40 ?0次下載

    深入剖析 LMK1C110x 系列 LVCMOS 時鐘緩沖器

    : lmk1c1103.pdf 一、LMK1C110x 系列產品概述 LMK1C110x 系列屬于模塊化、高性能、低偏斜的通用時鐘緩沖器家族
    的頭像 發(fā)表于 02-08 09:50 ?260次閱讀

    單片機基本功能

    必須考慮其外部的連接情況,應保證在Standby或靜態(tài)狀態(tài)下不存在拉電流或灌電流。 3、外部中斷:外部中斷也是絕大多數(shù)MCU所具有的基本功能,一般用于信號的實時觸發(fā),數(shù)據(jù)采樣和狀態(tài)的檢測,中斷的方式由
    發(fā)表于 01-13 07:20

    請問IAP功能升級流程中有哪些注意事項?

    IAP 功能升級流程中有哪些注意事項?
    發(fā)表于 12-23 07:55

    使用 HTTP 協(xié)議能否實現(xiàn) IAP 功能

    使用 HTTP 協(xié)議,能否實現(xiàn) IAP 功能?
    發(fā)表于 12-23 06:35

    請問如何配置和使用CW32L083系列控制器的ADC和DAC模塊

    如何配置和使用CW32L083系列控制器的ADC和DAC模塊?
    發(fā)表于 12-16 08:27

    TPS1HC30-Q1評估模塊技術解析與應用指南

    源系統(tǒng)之前,測試和評估TPS1HC30-Q1所需的一切。TI TPS1HC30EVM評估模塊利用標準工作臺設備實現(xiàn)獨立運行,或通過BoosterPack? 插件模塊接頭與外部微
    的頭像 發(fā)表于 09-07 11:48 ?1139次閱讀
    TPS1<b class='flag-5'>HC</b>30-Q1評估<b class='flag-5'>模塊</b>技術解析與應用指南

    Texas Instruments TMP110EVM傳感器評估模塊 (EVM)數(shù)據(jù)手冊

    Texas Instruments TMP110EVM傳感器評估模塊 (EVM) 允許用戶評估TMP110數(shù)字溫度傳感器的性能。此電路板展示了采用小型DPW封裝的TMP110,采用US
    的頭像 發(fā)表于 07-31 11:49 ?670次閱讀
    Texas Instruments TMP<b class='flag-5'>110</b>EVM傳感器評估<b class='flag-5'>模塊</b> (EVM)數(shù)據(jù)手冊

    AT32 IAP using the USART

    是提供在AT32微控制器上創(chuàng)建IAP應用程序的一般準則。 AT32微控制器可以運行用戶特定的固件來對微控制器中嵌入的閃存執(zhí)行IAP。 此
    發(fā)表于 07-11 10:51

    Texas Instruments TPS4HC120EVM開關評估模塊 (EVM)數(shù)據(jù)手冊

    Texas Instruments TPS4HC120EVM開關評估模塊 (EVM) 是一款硬件評估模塊,用于評估TPS4HC120高側開關的功能
    的頭像 發(fā)表于 07-06 11:13 ?896次閱讀
    Texas Instruments TPS4<b class='flag-5'>HC</b>120EVM開關評估<b class='flag-5'>模塊</b> (EVM)數(shù)據(jù)手冊

    Texas Instruments TPS2HC120EVM開關評估模塊 (EVM)數(shù)據(jù)手冊

    Texas Instruments TPS2HC120EVM開關評估模塊(EVM)用于評估TPS2HC120-Q1高側開關的功能和性能。該評估模塊
    的頭像 發(fā)表于 07-04 10:48 ?888次閱讀
    Texas Instruments TPS2<b class='flag-5'>HC</b>120EVM開關評估<b class='flag-5'>模塊</b> (EVM)數(shù)據(jù)手冊

    歐姆龍CJ/CP系列PLC串口轉網口模塊

    ??歐姆龍CJ/CP系列PLC串口轉網口模塊 型號:SG-CJCP-110 產品功能 本產品用于歐姆龍CJ/CP系列的PLC(包括CP1E、
    的頭像 發(fā)表于 04-11 10:39 ?902次閱讀
    歐姆龍CJ/CP<b class='flag-5'>系列</b>PLC串口轉網口<b class='flag-5'>模塊</b>

    超低功耗的32位微控制器RX110系列數(shù)據(jù)手冊

    RX110 系列控制器是 RX100 系列中產品陣容最簡單的。它們屬于小容量、低引腳數(shù)的產品系列,ROM/RAM 容量范圍從 8KB/8K
    的頭像 發(fā)表于 03-19 16:22 ?945次閱讀
    超低功耗的32位微<b class='flag-5'>控制</b>器RX<b class='flag-5'>110</b><b class='flag-5'>系列</b>數(shù)據(jù)手冊