久久精品99久久_亚洲一区二区综合_狠狠色伊人亚洲综合成人_亚洲综合爱爱久久网

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當前位置:首頁 >> HDSC/華大 >> 國產超低功耗華大MCU遠程升級IAP

國產超低功耗華大MCU遠程升級IAP

作者: 來源: 發布時間:2020-06-08  瀏覽:48

工程師在做產品的時候有時候會有遠程對產品進行升級的需求。?對于沒有開發過此功能的工程師會不知道從何下手,本文就以HC32L110為例介紹國產超低功耗華大單片機如何用IAP功能實現為單片機遠程升級。文章的結尾有相關例程下載鏈接。

  • 功能介紹

IAP是In Application Programming的首字母縮寫,IAP是用戶自己的程序在運行過程中對User Flash的部分區域進行燒寫,目的是為了在產品發布后可以方便地通過預留的通信口對產品中的固件程序進行更新升級。

  • AP原理介紹

通常實現IAP功能時,需要在設計固件程序時編寫兩個項目代碼,第一個項目程序即BOOT程序不執行正常的功能操作,而只是通過某種通信方式(如USB、USART)接收程序或數據,執行對第二部分代碼的更新;第二個項目程序即APP程序用戶真正的功能代碼。這兩部分項目代碼同時燒錄在Flash中,當芯片上電后,首先是第一個項目程序BOOT開始運行,它主要實現如下功能:

  1. 檢查是否需要對第二部APP程序代碼進行更新
  2. 如果不需要更新則轉到4)
  3. 執行更新操作
  4. 跳轉到第二部分代碼執行

第一部分BOOT代碼可以通過SWD或者離線編程器下載到芯片Flash內部,第二部分APP和第一部分BOOT一起燒入芯片內部,以后需要程序更新再通過第一把BOOT代碼更新。

根據芯片系列的Flash存放不同地址范圍,從最低地址區域開始存放BOOT,緊跟其后的就是APP程序,本篇筆記受限于芯片內部Flash容量,只是存放一個APP程序。即在芯片內部有兩個程序即BOOT和APP程序。

  • IAP功能具體實現

芯片程序一般從Flash地址0x0000_0000開始執行,基于Cortex-M0+內核特性,內部通過中斷向量表來響應中斷,程序從中斷向量表取出復位中斷向量執行中斷程序,當中斷產生,芯片內部PC指針定位到中斷向量表來取出對應的中斷服務程序執行。如果沒有中斷產生,在芯片執行完復位中斷服務程序后,跳轉到main函數順序執行死循環。如果有中斷產生,通過中斷向量表執行對應的中斷服務程序。

當加入IAP后,芯片還是從中斷向量表取出復位中斷向量執行中斷程序,如果沒有中斷產生,在芯片執行完復位中斷服務程序后,跳轉到main函數。在執行完IAP后,新程序的復位中斷向量地址為0x0000_0004 + BOOT程序大小,跳轉到APP程序的復位向量表,執行APP的復位中斷服務程序,隨后跳轉到APP程序的main函數執行。

演示Demo程序內部分配如下:

其中:BOOT程序大小3.5KB

??????Para 區域存放IAP升級期間參數和標志占用0.5KB

??????APP程序大小為24KB?

??Demo程序,操作流程如下:????

  1. 先將APP工程HEX下載到芯片內部
  2. 打開BOOT工程HEX下載到芯片,或者可以使用工具將兩個HEX文件合并在一起下載到芯片內部。
  3. 使用上位機演示程序,打開串口波特率固定為9600。按照協議將APP工程的bin文件下載到0x1000開始的芯片內部,其中要求APP的bin文件小于28KB。
  • 參考樣例及驅動

通過上述介紹,使用演示Demo程序IAP需要特定協議。

通信協議格式如下:

///*frame:68 ?A0 ?A1 ?C ?Page ??L0 ?L1 ?D0... DN-1 ??CRC0 ?CRC1 ??16*///

///*offset :0? ? 1 ???2 ???3? ? ? 4? ? ? ?5? ? 6? ? 7? ? ? 8+N ????9+N ??10+N ??11 +N*///

頭字符: ???固定字符為0x68 一個字節

地址:? ? ? ?A0 A1 兩個字節 ?

控制碼C: 讀地址為0x15 ???寫地址為0x25

頁地址page:?一個字節 代表現在要操作的那個頁

長度L0 L1: ?兩個字節 L0代表高字節,L1代表低字節,此處長度僅代表數據區域長度

數據域D0…DN-1 : 代表讀出或者寫入的數據

數據校驗CRC: 采用CRC-16方式,代表數據域數據的校驗。

結束符號:固定字符為0x16 一個字節

讀指令如下:

68 ??A0 ??A1 ??15 ??Page ??0x00???0x00 ??CRC0 ??CRC1 16 ?

正確回復:68 A0 A1 ??95 ??Page ??0x04 ??0x00 ??D0 ………… D1023 ??CRC0 CRC1 16

錯誤回復? ?68 A0 ?A1 ?D5? ?Page? ?0x00? ?0x00 ?CRC0 ?CRC1 16

Page 選擇(0?-- 27)

每次讀取1K字節數據

寫指令如下:

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 ???CRC0 ?CRC1 16

Page 選擇(0?-- 27)

每次寫1K字節數據

開始IAP升級指令

68 ??A0 ??A1 ??36 ??00 ??00 ???00 ???00 ??00 ??16 ?

正確回復 ?68 ?A0 ??A1 ???B6 ??00 ???00 ?00 ?00 ???00 ??16

錯誤回復 ?68 ?A0 ??A1 ???F6 ???00 ??00 ?00 ?00 ???00 ??16

結束IAP升級指令

68 ??A0 ??A1 ??49 ??00 ??00 ??00 ??00 ???00 ??16 ?

正確回復 ?68 ?A0 ??A1 ??C9 ??00 ????00 ?00 ?00 ???00 ??16

錯誤回復 ?68 ?A0 ??A1 ??09 ??00 ????00 ?00 ?00 ???00 ??16

發送數據幀如果發送結束到接收小于2s,如果超過說明IAP升級通信錯誤。

?

以下部分簡要介紹IAP實現關鍵代碼:

1)BOOT實現跳轉到APP代碼:

?if(((*(__IO uint32_t*)appxaddr)&0x2FFE0000)==0x20000000) //檢查棧頂地址是否合法{??jump2app=(iapfun)*(__IO uint32_t*)(appxaddr+4); //APP程序復位地址 MSR_MSP(*(__IO uint32_t*)appxaddr); //初始化APP堆棧指針 jump2app(); //跳轉到APP程序}??

2)APP程序中斷向量偏移:

???new_vect_table ?EQU ????0x00001000 ????????;中斷向量偏移長度 ; reset Vector table address.???LDR ????R0, =0xE000ED08 LDR ????R2, =new_vect_table???STR ????R2, [R0] ??????;向量表重定義
  • 總結

以上章節簡要介紹了HC32L110系列的IAP控制模塊基本功能,詳細說明了該模塊的各個功能及操作步驟,用戶在實際的應用開發過程中,如果需要更深一步了解該模塊的使用方法及操作事項,應以HC32L110的用戶手冊為準。本章中提到的樣例既可以作為用戶進一步的實驗與學習,也可以在實際開發中直接應用。

【國產低超功耗華大單片機HC32L110遠程升級程序下載】

編輯:admin  最后修改時間:2020-06-09

聯系方式

0755-82591179

郵箱:ivy@yingtexin.net

地址:深圳市南山區桃源街道平山社區平山一路2號南山云谷創業園二期11棟410-411

Copyright © 2014-2026 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號-4

久久精品99久久_亚洲一区二区综合_狠狠色伊人亚洲综合成人_亚洲综合爱爱久久网
久久久久福利视频| 第一区免费在线观看| 欧美精品 - 色网| 午夜精品免费看| 日韩av在线中文| 中文 日韩 欧美| 91免费网站视频| 精品久久久无码人妻字幂| 青草网在线观看| 99久久免费观看| www黄色av| 五月天婷婷在线观看视频| 91性高潮久久久久久久| 欧美日韩午夜爽爽| 毛片在线播放视频| 国产精品亚洲αv天堂无码| 欧美一级裸体视频| 肉色超薄丝袜脚交| 999在线观看视频| 成人黄色片视频| 在线观看免费视频污| youjizz.com在线观看| 精品一区二区中文字幕| 天天爱天天操天天干| 神马午夜伦理影院| 日日碰狠狠躁久久躁婷婷| 99精品视频网站| 日本精品一区二区三区四区| 视频免费1区二区三区| 欧美a级免费视频| 精品久久久久久久无码| 亚洲小视频在线播放| 热久久精品免费视频| 日本老太婆做爰视频| 欧美国产日韩在线播放| 久久久99精品视频| 色婷婷成人在线| 国产老熟妇精品观看| 国产成人精品免费看在线播放 | 日本欧美视频在线观看| wwwwxxxx日韩| 一女被多男玩喷潮视频| 免费精品99久久国产综合精品应用| 丰满的少妇愉情hd高清果冻传媒| 亚洲另类第一页| www黄色日本| 成年人视频大全| 婷婷免费在线观看| 亚洲成熟丰满熟妇高潮xxxxx| 女女百合国产免费网站| 免费不卡av网站| 中文字幕日韩综合| 91精品无人成人www| 青青草原成人网| 美女黄色免费看| 国产精品h视频| 911av视频| 性欧美在线视频| 中国黄色片一级| www.99r| 国产三级日本三级在线播放| 国产特级淫片高清视频| 18岁网站在线观看| 久久久久免费看黄a片app| 国产精品又粗又长| 日韩国产成人无码av毛片| 50度灰在线观看| 日本大片免费看| 青青青青草视频| 男女私大尺度视频| 国产97在线 | 亚洲| av免费网站观看| 黄色永久免费网站| 日韩av影视大全| 大片在线观看网站免费收看| 久久久久久av无码免费网站下载| 欧美美女黄色网| 国产午夜大地久久| 久久久精品麻豆| 免费看av软件| 国产婷婷一区二区三区| 国产精品丝袜久久久久久消防器材| 中文字幕乱码人妻综合二区三区 | 国产精品美女在线播放| 51xx午夜影福利| 欧美在线观看成人| 亚洲视频第二页| 免费视频爱爱太爽了| 一本久道中文无码字幕av| 黄色一级片免费播放| 可以看毛片的网址| 五月婷婷狠狠操| 激情五月六月婷婷| 无码精品a∨在线观看中文| 国产精品v日韩精品v在线观看| 先锋影音男人资源| caopor在线视频| 五月天在线免费视频| 国产精彩免费视频| 蜜臀在线免费观看| 亚洲一级免费观看| 亚洲国产精品无码观看久久| 最新中文字幕2018| 每日在线更新av| 18视频在线观看娇喘| www日韩在线观看| 人妻av无码专区| 三级性生活视频| 久久久久久香蕉| 91精品国产91久久久久麻豆 主演| 午夜久久久精品| 阿v天堂2017| 欧美日韩中文字幕在线播放| 国产精品v日韩精品v在线观看| 成人精品视频在线播放| 亚洲欧美一区二区三区不卡| 看欧美ab黄色大片视频免费| 欧美又粗又长又爽做受| 老汉色影院首页| 亚洲图色中文字幕| 日本久久久久久久久久久久| 九色自拍视频在线观看| 91视频 - 88av| 国产日韩第一页| 国产探花在线观看视频| 杨幂毛片午夜性生毛片| 50路60路老熟妇啪啪| 国产美女无遮挡网站| 日本毛片在线免费观看| 国产精品又粗又长| 妺妺窝人体色777777| 97超碰人人澡| 免费在线观看日韩视频| 成人亚洲视频在线观看| 日韩手机在线观看视频| 无码人妻丰满熟妇区五十路百度| 免费av网址在线| 日韩欧美国产片| 激情成人在线观看| 国产 欧美 日本| 久久久亚洲精品无码| 成人小视频在线看| 亚洲色图 在线视频| 九一精品久久久| 日韩a级黄色片| 无罩大乳的熟妇正在播放| 好男人www社区| 污污视频网站在线| 97干在线视频| 欧美三级午夜理伦三级| 中文字幕国产免费| 91精品一区二区三区四区| 欧美激情视频免费看| 91av俱乐部| 亚洲国产精品女人| 国内外成人免费激情视频| 色啦啦av综合| 国产在线播放观看| 成人av毛片在线观看| 青草视频在线观看视频| 国产乱子夫妻xx黑人xyx真爽| 欧美成人三级在线播放| 2018中文字幕第一页| 欧美三级理论片| 欧美午夜性视频| 红桃视频 国产| 少妇av一区二区三区无码| 欧美特级aaa| 日本在线xxx| 三日本三级少妇三级99| 亚洲中文字幕无码中文字| 天天综合成人网| www.国产区| 欧美一级欧美一级| 欧美日韩午夜爽爽| 麻豆三级在线观看| 黄色片网址在线观看| 国产又粗又爽又黄的视频| 999在线免费视频| 91九色在线观看视频| 福利在线一区二区| 日本成人在线不卡| 在线免费看v片| 中国黄色片免费看| 欧美午夜性生活| 男人揉女人奶房视频60分| 香港三级日本三级a视频| 欧美视频国产视频| 日韩av在线中文| 污污网站免费观看| 久久久久久三级| 国产精品99久久免费黑人人妻| 亚洲人成无码网站久久99热国产| 韩国黄色一级大片| 天天在线免费视频| 中文字幕の友人北条麻妃| 亚洲一二区在线观看| 一区二区三区日韩视频| 999热精品视频| 色哟哟免费网站|