在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

廣芯微MCU進階篇1:8位MCU IAP實現

廣芯微電子 ? 來源:廣芯微電子 ? 作者:廣芯微電子 ? 2022-11-24 10:23 ? 次閱讀

概述

本文將介紹廣芯微的8位MCU的IAP實現介紹及使用說明,通過IAP實驗演示如何通過IAP 更新用戶程序的流程步驟等。

【什么是IAP?】

IAP即為 In Application Programming(在應用中編程)。可以簡單理解為:在程序運行的過程中進行編程(升級程序,更新固件)。IAP是用戶自己的程序在運行過程中對User Flash的部分區域進行燒寫,目的是為了在產品發布后可以方便地通過預留的通信口對產品中的固件程序進行更新升級。

IAP的通信口有許多種:UART串口、I2C、SPI......等。按理說只要能傳輸數據的通信口都能實現IAP的功能。本文所使用的是UART方式的IAP。

【IAP實現介紹】

本文實驗以UM8004為例,flash大小為16K。UM8004的中斷向量表以及IAP固件程序存放到0x0000-0x1400區域,在之后的更新中不會對以該區域空間進行擦寫。用戶APP應用程序存放在從0x1400-0x3FFF的空間。每次需要更新升級時,將這段空間進行擦寫,替換成更新的應用程序代碼

933ebb7a-6b9d-11ed-8abf-dac502259ad0.png

使用IAP的上位機,通過IAP程序的處理函數,即可實現應用程序的更新升級。整個IAP的實現流程如下圖所示:

9354b7b8-6b9d-11ed-8abf-dac502259ad0.png

圖1 IAP功能流程圖

【IAP使用說明】

開發套件

IAP開發套件包含:

硬件開發板

軟件開發包

軟件開發包

軟件開發包中包含IAP工程、用戶APP應用程序例子程序、IAP使用說明、以及一些工具、上位機等等。

軟件開發包中的內容如下:

UM800Y_IAP:800Y的IAP工程。

UM800Y_APP:用戶應用程序示例Demo。

UM800Y_IAP使用說明.doc:IAP實現和使用的說明文檔。

UNIC_IAPTool.exe: IAP上位機。

UNIC_BootTool.exe:Bootloader的用戶下載工具。

Sscom5.13.1.exe:串口調試助手。

Hex2bin.exe:hex文件轉換bin文件工具。

JFlash.exe :合并bin或hex文件。

硬件環境

硬件環境如圖1所示:

硬件開發板和USB連接線

電腦(編譯代碼,下載程序代碼)

93673992-6b9d-11ed-8abf-dac502259ad0.png

圖 2 硬件連接示意圖 軟件環境

Keil C51

工程說明

下面對本次實驗的工程進行簡單說明。 IAP工程:

(1) 需要在Target選項卡里設置我們IAP程序的起始地址與大小,如:

93bc851e-6b9d-11ed-8abf-dac502259ad0.png

圖3 設置IAP程序的起始地址與大小

這里的IAP程序起始地址設為0x0000,大小設為0x1400,即IAP所需的FLASH空間為5KB。其中IAP所占空間的大小可根據IAP的實際大小進行修改。

(2) 設置IAP_Proc函數(IAP更新處理程序)的入口地址,用絕對地址定位的方法設置在某個固定的地址,下面以設置地址為0x0200為例。點開keil C51中的Options for Target,勾選下圖所示的地方。

940b81c8-6b9d-11ed-8abf-dac502259ad0.png

圖4 勾選Use ExtendedLinker(LX51) instead of BL51

之后在下圖所示位置填入“?PR?IAP_PROC?IAP(C:0x0200)”, 如圖5,最后點擊ok。

946185be-6b9d-11ed-8abf-dac502259ad0.png

圖5 設置IAP_Proc函數的地址為0x0200

(3) IAP源碼說明

9475d370-6b9d-11ed-8abf-dac502259ad0.png

圖6 IAP部分代碼

IAP源碼主要功能是當UART收到上位機的請求更新幀時,執行IAP_Proc()函數,實現應用程序的更新下載。


用戶APP工程:

(1)需要在Target選項卡里設置用戶應用APP程序的起始地址與大小,如:

94a2bad4-6b9d-11ed-8abf-dac502259ad0.png

圖7 設置IAP程序的起始地址與大小

這里的APP應用程序起始地址設為0x1400,由于UM8004的flash大小為16K,

用戶APP應用程序最大尺寸大小 = 16KB – IAP程序大小=0x2C00。

(2)用戶APP程序中需要添加用于檢查更新的函數。

本例程使用UART0的回調函數調用IAP處理函數去更新升級應用程序(UART0的波特率需和IAP程序的一致)。調用IAP處理函數的方法如下,根據5的配置來設置的IAP入口地址值(IAP函數的地址為0x0200)在用戶APP程序的檢查更新函數中,定義一個函數指針,指向該地址,當UART收到請求更新信息時用于跳轉,設置如圖8所示。

94ce5464-6b9d-11ed-8abf-dac502259ad0.png

94ec9546-6b9d-11ed-8abf-dac502259ad0.png

圖8 app程序中設置IAP處理函數跳轉

如需詳細代碼和程序移植可參考軟件開發包的工程以及說明文檔。

【IAP實驗】

IAP實驗說明

本次實驗使用UM8004進行演示,通過IAP 將原本Lptimer功能的用戶應用程序更新為ADC功能的用戶應用程序。

IAP實驗步驟

(1) 將IAP程序和用戶應用程序進行打包

首先打開J-Flash工具。點擊open data file,打開用戶app程序的bin或者hex文

件。這里選擇軟件開發包里UM800Y_APP文件夾中的Lptimer工程中的bin文件。(可通過hex2bin工具將hex轉換成bin文件)

950e9268-6b9d-11ed-8abf-dac502259ad0.png

圖 9 J-Flash工具

打開成功后點擊軟件左上角File,點擊Merge data file…

953ef098-6b9d-11ed-8abf-dac502259ad0.png

圖 10 J-Flash工具

然后選擇IAP工程的bin或者hex文件。

打開成功后,選擇是,將兩個文件合并打包。

95507d2c-6b9d-11ed-8abf-dac502259ad0.png

圖 11 J-Flash工具合并文件

打包成功后。點擊軟件左上角File,選擇Save data file as..將打包好的程序進行保存,保存的格式為bin或者hex。

95634ef2-6b9d-11ed-8abf-dac502259ad0.png

圖 12J-Flash工具保存合并文件


9580a5ce-6b9d-11ed-8abf-dac502259ad0.png

圖 13 J-Flash工具保存合并文件

(2)使用UNIC_BootTool_V2.0下載合并后的文件

使用UNIC_BootTool_V2.0工具下載程序流程如下:

芯片類型選擇UM800Y,選擇115200波特率

②點擊Browse選擇剛剛打包好的程序

③打開文件后點擊Open,復位芯片,芯片進入到Boot模式。

④點擊Auto Download,將程序下載到UM8004。

95a04f6e-6b9d-11ed-8abf-dac502259ad0.png

圖 14 Bootloader的用戶下載工具 由于本例子將IAP程序和LPTIMER程序打包合并后下載,在程序下載成功后,打開串口助手會看到LPTIMER計數功能。

95bb9116-6b9d-11ed-8abf-dac502259ad0.png

圖 15 lptimer定時計數

(3)使用UNIC_IAPTool_V1.3更新程序

通過使用UNIC_IAPTool_V1.3上位機,可以讓IAP程序引導更新用戶應用程序。

95ce93b0-6b9d-11ed-8abf-dac502259ad0.png

圖 16IAPTool上位機說明

使用UNIC_IAPTool_V1.3上位機更新具體操作流程如下

①打開上位機選擇串口號以及波特率,選擇芯片型號為UM8004。

②打開需要更新的用戶應用程序的bin或者hex文件。打開后會顯示該文件的CRC值。

③點擊OPEN

④點擊一鍵下載

⑤點擊一鍵下載后,等待更新過程,更新成功后會提示“下載完成”,否則會提示下載失敗。

95e108a6-6b9d-11ed-8abf-dac502259ad0.png


圖 17 IAPTool上位機更新成功

⑥之后會運行用戶的程序。(可以通過串口工具打印信息看到,通過IAP升級更新已將原來打包時的Lptimer應用程序更換為ADC功能應用程序。)


95ef6720-6b9d-11ed-8abf-dac502259ad0.png

圖 18 IAP更新用戶程序為ADC功能程序

最終通過IAP已更新升級了用戶的應用程序。

【總結】

感謝大家參與學習廣芯微MCU進階篇1:8位MCU IAP實現,讓我們期待后續的文章更新。

【關于廣芯微】

廣芯微電子(廣州)股份有限公司專注于低功耗物聯網芯片的研發、設計與銷售,為客戶提供面向個人與家庭、工業與商業物聯網應用領域,以低功耗為差異化的8位/32位微控制器芯片、無線射頻收發器芯片、數字電源管理芯片和傳感與信號調理專用芯片等。

廣芯微秉持客戶第一、技術創新和市場領先的理念,以國際領先的技術為基礎,為客戶提供一流的產品與技術,打造值得信賴的集成電路設計品牌企業。公司獨有的低功耗芯片設計方法、輕量化人工智能算法、大功率的PD協議控制以及多樣性無線連接技術整合而成的低成本高收益的集成電路設計,在健康醫療電子消費電子、智慧家庭、工業控制傳感器與表計等領域已經得到了廣泛的應用。廣芯微低功耗微處理器芯片與射頻芯片具有超低睡眠功耗與更低的工作電流,有效地幫助電子設備降低能耗,積極助力節能減排。

審核編輯 :李倩

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

    關注

    146

    文章

    17148

    瀏覽量

    351186
  • uart
    +關注

    關注

    22

    文章

    1235

    瀏覽量

    101387
  • IAP
    IAP
    +關注

    關注

    2

    文章

    163

    瀏覽量

    24285
  • 廣芯微電子
    +關注

    關注

    0

    文章

    33

    瀏覽量

    191

原文標題:廣芯微MCU進階篇1:8位MCU IAP實現

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

收藏 人收藏

    評論

    相關推薦

    基于觸控型8MCU AiP8F3208循環風扇應用方案

    基于觸控型8MCU AiP8F3208循環風扇應用方案
    的頭像 發表于 11-18 09:42 ?169次閱讀
    基于觸控型<b class='flag-5'>8</b><b class='flag-5'>位</b><b class='flag-5'>MCU</b> AiP<b class='flag-5'>8</b>F3208循環風扇應用方案

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

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

    海通用 MCU 應用筆記: CS32F03x IAP 升級

    本技術文檔旨在幫助客戶實現 IAP 升級提供一個參考方案和模板。本文檔提供基于 UART 升級的 MCU 參考代碼和 PC 端的升級工具軟件。適用 MCU 型號:CS32F030、CS
    發表于 05-16 10:55

    海 32 MCU 開發調試 ,基于 VS Code 插件實現海 32 MCU 開發調試

    編譯/鏈接等腳本語法,只需要簡單配置參數、新建工程、增加代碼文件后,就可以開始編譯 和調試了。如果要生成靜態庫文件也只需要修改輸出格式,再編譯就可能生成.a 的文件。*附件:基于VSCode插件實現海32
    發表于 05-16 10:46

    半導體宣布推出8RISC架構IO型OTP MCU SC8P05x系列

    近日,中半導體(深圳)股份有限公司(以下簡稱:中半導 股票代碼:688380)宣布推出8RISC架構IO型OTP MCU SC
    的頭像 發表于 04-18 18:09 ?1204次閱讀
    中<b class='flag-5'>微</b>半導體宣布推出<b class='flag-5'>8</b><b class='flag-5'>位</b>RISC架構IO型OTP <b class='flag-5'>MCU</b> SC<b class='flag-5'>8</b>P05x系列

    MCU分類有哪些 soc芯片和mcu芯片區別

    MCU按照位數(數據總線寬度)劃分,可分為48、16、32和64
    的頭像 發表于 04-11 15:46 ?2062次閱讀
    <b class='flag-5'>MCU</b>分類有哪些 soc芯片和<b class='flag-5'>mcu</b>芯片區別

    選用8和32MCU的關鍵考量

    基于位數的MCU核心架構:MCU使用的位數為8、16、32(有時稱為深度或數據寬度)來表示寄存器的大小,如8
    發表于 03-26 11:14 ?639次閱讀

    精通8MCU模擬外設:高手的進階指南

    PIC 與 AVR MCU是目前最受歡迎的8MCU類別,相信不少小伙伴都上過手。PIC MCU易于編程,并且易于與其他外設接口;AVR
    發表于 02-29 14:16 ?1216次閱讀
    精通<b class='flag-5'>8</b><b class='flag-5'>位</b><b class='flag-5'>MCU</b>模擬外設:高手的<b class='flag-5'>進階</b>指南

    RT-Thread驅動開發指南進階篇-動手驅動先楫未適配的外設LCD

    經過上一的《《RT-Thread設備驅動開發指南》基礎--以先楫bsp的hwtimer設備為例》闡述,可以大致了解到RT-thread設備驅動開發的方法步驟,開發指南中的進階篇外設主要是比基礎
    的頭像 發表于 02-25 11:04 ?2550次閱讀
    RT-Thread驅動開發指南<b class='flag-5'>進階篇</b>-動手驅動先楫未適配的外設LCD

    RK3568驅動指南|驅動基礎進階篇-進階5 自定義實現insmod命令實驗

    RK3568驅動指南|驅動基礎進階篇-進階5 自定義實現insmod命令實驗
    的頭像 發表于 02-20 14:10 ?708次閱讀
    RK3568驅動指南|驅動基礎<b class='flag-5'>進階篇</b>-<b class='flag-5'>進階</b>5 自定義<b class='flag-5'>實現</b>insmod命令實驗

    請問8mcu和32mcu的區別?

    8mcu和32mcu的區別?
    發表于 02-01 06:49

    RK3568驅動指南|驅動基礎進階篇-進階8 內核運行ko文件總結

    RK3568驅動指南|驅動基礎進階篇-進階8 內核運行ko文件總結
    的頭像 發表于 01-31 14:58 ?1160次閱讀
    RK3568驅動指南|驅動基礎<b class='flag-5'>進階篇</b>-<b class='flag-5'>進階</b><b class='flag-5'>8</b> 內核運行ko文件總結

    32MCU RA8T1組用戶手冊

    電子發燒友網站提供《32MCU RA8T1組用戶手冊.pdf》資料免費下載
    發表于 01-30 15:14 ?0次下載
    32<b class='flag-5'>位</b><b class='flag-5'>MCU</b> RA<b class='flag-5'>8T1</b>組用戶手冊

    32MCU系列RENESAS RA8T1組應用說明

    電子發燒友網站提供《32MCU系列RENESAS RA8T1組應用說明.pdf》資料免費下載
    發表于 01-29 14:03 ?0次下載
    32<b class='flag-5'>位</b><b class='flag-5'>MCU</b>系列RENESAS RA<b class='flag-5'>8T1</b>組應用說明

    新品速遞——WAYON維安推出8MCU—WY8S8003系列

    新品速遞——WAYON維安推出8MCU—WY8S8003系列
    的頭像 發表于 01-03 16:22 ?532次閱讀
    新品速遞——WAYON維安推出<b class='flag-5'>8</b><b class='flag-5'>位</b><b class='flag-5'>MCU</b>—WY<b class='flag-5'>8</b>S8003系列
    主站蜘蛛池模板: 丁香花成人另类小说| 夜夜澡人人爽人人喊_欧美| 一级片在线视频| yy8090韩国日本三理论免费| 爱爱视频天天看| 久久亚洲国产午夜精品理论片| 国产视频精品久久| 亚洲欧洲无码一区二区三区| 黄色在线| 男男h啪肉np文总受| 日韩免费网站| 新版天堂8在线天堂| 欧美另类高清| 免费的毛片网站| 欧美干色| 爱爱的免费视频| 五月婷婷六月丁香激情| 李老汉的性生生活1全部| 欧美乱码视频| 天天草夜夜骑| 男女交性无遮挡免费视频| 男人的天堂在线视频| 综合网天天操天天射| 久久xx| 日本色黄| 女同久久| 迅雷www天堂在线资源| 日本xxxx色视频在线观看免费| 国产精品三级视频| 2019天天干夜夜操| 色多多免费在线观看| 亚洲欧美综合一区| 黄色毛片播放| 网色| 中文字幕欧美成人免费| 国模论坛| 黑人40厘米全进去xxxx猛交| 一级片免费在线| 久久综合九色婷婷97| 婷婷网五月天天综合天天爱| 能在线观看的一区二区三区|