RM新时代网站-首页

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

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

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

應(yīng)用筆記(四)| 在CW32F030上實(shí)現(xiàn)IAP功能

武漢芯源半導(dǎo)體有限公司 ? 2022-08-09 10:52 ? 次閱讀

前言

IAP 是 In Application Programing 的首字母縮寫(xiě),在應(yīng)用編程,即在程序運(yùn)行的過(guò)程中進(jìn)行編程(升級(jí)程序, 更新固件)。IAP 是用戶自己的程序在運(yùn)行過(guò)程中對(duì) Flash 部分區(qū)域進(jìn)行燒寫(xiě),目的是為了在產(chǎn)品發(fā)布后可以方便地通過(guò) 預(yù)留的通信口對(duì)產(chǎn)品中的固件程序進(jìn)行更新升級(jí)。

1

功能實(shí)現(xiàn)

IAP 功能的實(shí)現(xiàn),一般將程序分為兩個(gè)部分,即:Bootloader 和 APP。Bootloader 程序用于上電時(shí)判斷程 序是進(jìn)入 IAP 升級(jí)流程還是進(jìn)入 APP 應(yīng)用程序執(zhí)行過(guò)程。其一般放置在 FLASH 的開(kāi)始部分,如下圖示:

poYBAGLOYUGAVLeFAACGWYo6uzs871.jpg

CW32F030 的 Flash 起始地址為 0x00000000,劃分 0x00000000 ~ 0x00001FFFF 這 8Kbyte 的空間用于存放 Bootloader 程序,APP 的起始地址選擇為 0x00002000。

CW32F030 采用 ARM? Cortex?-M0+ 內(nèi)核,具有向量表偏移寄存器 VTOR,故其從 Bootloader 中實(shí)現(xiàn)向 APP 中跳轉(zhuǎn)較為簡(jiǎn)單,僅設(shè)置向量表偏移即可。

本應(yīng)用中 Bootloader 采用 UART1 作為 IAP 的通訊接口,以 Ymodem 協(xié)議進(jìn)行文件的傳輸。APP 程序通過(guò) SYSTICK 定時(shí)器計(jì)時(shí),并通過(guò)中斷的方式每 200ms 對(duì)口線 PB09 翻轉(zhuǎn)一次,驅(qū)動(dòng) LED1 閃爍。

2

Bootloader 程序設(shè)計(jì)

poYBAGLOYUKAOAGDAAEzpeCU1qY977.jpg


2.1參考代碼

pYYBAGLOYUKAVYqAAAO0ZQvd4SY485.jpg

2.2程序編譯

以 MDK-ARM 為例,編譯時(shí)注意如下選項(xiàng):

1. 設(shè) 置 Bootloader 程 序 的 起 始 地 址 和 占 用 ROM(FLASH) 空 間 的 大 小, 本 例 中 Bootloader 從 地 址 0x00000000 處執(zhí)行,占用 7.46Kbyte 的空間,故分配 8Kbyte(size=0x2000)的 FLASH 空間保留給 bootloader。如下圖:

pYYBAGLOYUKAOtpLAAKF0D-R1Ng999.jpg

2. 鏈接時(shí),使用 IDE 的對(duì)話框配置,如下圖:

pYYBAGLOYUKANeiFAAJ8a1Ti9YA549.jpg

3

APP 程序設(shè)計(jì)

APP 程序可以先按正常程序的設(shè)計(jì)流程進(jìn)行設(shè)計(jì)和調(diào)試,等調(diào)試測(cè)試通過(guò)后,需要進(jìn)行如下的修改:

1. 在對(duì)系統(tǒng)初始化時(shí),修改中斷向量表的偏移地址

如下圖將 VECT_TAB_OFFSET 修改為 0x00002000,這個(gè)偏移量就是用戶的程序準(zhǔn)備在 FLASH 中存放 的地址,本例設(shè)置為 0x00002000。這樣用戶程序的中斷向量表就被重定位到 0x00002000 處,與 ARM? Cortex?-M0+ 內(nèi)核默認(rèn)的中斷向量表地址 0x00000000 相區(qū)分。

poYBAGLOYUKAXkIiAAREwL_-E4s168.jpg

2. 修改編譯配置

如下圖,START 填入的值,即為 APP 程序在 FLASH 中存放的起始地址,也是中斷向量表需要偏移的位置。

poYBAGLOYUGANG7TAAPYVHqlDdE972.jpg

3. 鏈接時(shí),使用 IDE 的對(duì)話框配置,如下圖:

poYBAGLOYUKAftUDAAL4YZnk8ik402.jpg

4

演示

上 位 機(jī) 采 用 Windows 的 超 級(jí) 終 端, 設(shè) 置 串 口 波 特 率 為 115200bps,8 位 數(shù) 據(jù) 位,1 位 停 止 位。下 位 機(jī) CW32F030C8T6 StarKit 復(fù)位后,按下 KEY1 后,超級(jí)終端將有如下顯示:

pYYBAGLOYUKAfgKYAAERWANtxd8577.jpg

屏幕不斷顯示字符“C”,提示下位機(jī)準(zhǔn)備接受文件。選擇“傳送”-“發(fā)送文件”,如下圖:

poYBAGLOYUKAZTLiAAGuifTIeME175.jpg

在出現(xiàn)的對(duì)話框中選取用戶的 APP 文件,并將協(xié)議選擇為“Ymodem”,并點(diǎn)擊“發(fā)送”,如下圖:

pYYBAGLOYUKAKB4VAAGdFA6pSto478.jpg

程序傳輸完成后,屏幕將有如下提示:

pYYBAGLOYUKARpGGAAH4LZziwA8618.jpg

此時(shí),CW32F030C8T6 StarKit 板上的 LED1 將以 200ms 的間隔閃爍,說(shuō)明用戶程序已正常運(yùn)行。

聲明:本文內(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)投訴
  • 微控制器
    +關(guān)注

    關(guān)注

    48

    文章

    7542

    瀏覽量

    151311
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6035

    文章

    44554

    瀏覽量

    634614
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17123

    瀏覽量

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

    關(guān)注

    2

    文章

    163

    瀏覽量

    24279
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于CW32模塊的SHT30溫濕度傳感器設(shè)計(jì)

    我們的目標(biāo)是將例程移植至CW32F030C8T6開(kāi)發(fā)板【測(cè)量溫濕度的功能】。首先要獲取資料,查看數(shù)據(jù)手冊(cè)應(yīng)如何實(shí)現(xiàn)讀取數(shù)據(jù),再移植至我們的工程。
    的頭像 發(fā)表于 11-12 11:14 ?283次閱讀
    基于<b class='flag-5'>CW</b>32模塊的SHT30溫濕度傳感器設(shè)計(jì)

    基于CW32直流電機(jī)PID學(xué)習(xí)套件介紹

    主要參數(shù) 電源輸入:5-12V 測(cè)量電壓范圍:10mV-15V 安裝方式:模塊化直插 主控型號(hào):CW32F030 電機(jī)型號(hào):CHR-GM25-310 減速比:1:45 電壓:DC 3V-6V 支持
    的頭像 發(fā)表于 07-15 16:03 ?451次閱讀
    基于<b class='flag-5'>CW</b>32直流電機(jī)PID學(xué)習(xí)套件介紹

    武漢芯源半導(dǎo)體CW32F030K8T7在即熱式熱水器的應(yīng)用介紹

    捕獲/比較通道和3對(duì)互補(bǔ)PWM輸出,死區(qū)時(shí)間和靈活的同步功能組16位通用定時(shí)器;三組16位基本定時(shí)器;窗口看門(mén)狗定時(shí)器;獨(dú)立看門(mén)狗定時(shí)器; 圖:CW32F030K8T7在即熱式熱水器的應(yīng)用框圖
    發(fā)表于 06-06 14:17

    武漢芯源半導(dǎo)體CW32F030系列單片機(jī)為即熱式熱水器的智能化提供理想選擇

    隨著智能家居技術(shù)的不斷進(jìn)步,即熱式熱水器作為現(xiàn)代家庭中的重要組成部分,正逐漸向智能化、節(jié)能化方向發(fā)展。本方案通過(guò)采用武漢芯源半導(dǎo)體的CW32F030系列單片機(jī),以其高性能、超強(qiáng)抗干擾等特性,為即熱式
    的頭像 發(fā)表于 06-05 17:19 ?1168次閱讀
    武漢芯源半導(dǎo)體<b class='flag-5'>CW32F030</b>系列單片機(jī)為即熱式熱水器的智能化提供理想選擇

    使用通用串口模塊下載CW32F030芯片的方法

    CW Programmer V1.53。 自備HEX文件。 如下圖所示: 二、硬件準(zhǔn)備 以WCHLINK仿真器+CW32F030CXT6官方板演示下載過(guò)程。 ? ? 三、使用引腳說(shuō)明 CW3
    的頭像 發(fā)表于 05-31 17:30 ?625次閱讀
    使用通用串口模塊下載<b class='flag-5'>CW32F030</b>芯片的方法

    CW32使用DMA單通道、定時(shí)器觸發(fā)ADC實(shí)現(xiàn)了多路AD采集

    本測(cè)試樣例基于CW32F030C8T6MCU,使用DMA單通道、定時(shí)器觸發(fā)ADC實(shí)現(xiàn)了12路AD采集。
    的頭像 發(fā)表于 05-24 09:29 ?836次閱讀
    <b class='flag-5'>CW</b>32使用DMA單通道、定時(shí)器觸發(fā)ADC<b class='flag-5'>實(shí)現(xiàn)</b>了多路AD采集

    芯海CS32F0XXTIMER外設(shè)模塊應(yīng)用筆記

    用戶示例做了工作原理與相關(guān)代碼介紹,以方便用戶快速移 本應(yīng)用筆記分為部分: ●定時(shí)器特性概述 。基本定時(shí)器功能介紹 高級(jí)定時(shí)器功能介紹 ●特定場(chǎng)景應(yīng)用示例 下表列出了本應(yīng)
    發(fā)表于 05-16 15:02

    芯海CS32F0XXADC外設(shè)模塊應(yīng)用筆記

    。 本應(yīng)用筆記分為三部分: ●獨(dú)立 ADC 模式 降低ADC誤差固件的方法 VDD 跳變的情況下使用 ADC模式 下表列出了本應(yīng)用筆記覆蓋的CS32微控器類型及PACK版本號(hào)*附件:CS32
    發(fā)表于 05-16 14:58

    芯海應(yīng)用筆記:CPW3101入門(mén)指南

    本技術(shù)說(shuō)明文檔提供關(guān)于 CPW3101 開(kāi)發(fā)板 UFCS_EVB_V1.2 功能介紹、特性說(shuō)明、使用說(shuō)明、IAP升級(jí)、使用注意事項(xiàng)等,旨在幫助用戶更好地使用 CPW3101 開(kāi)發(fā)板_V1.2,進(jìn)行芯
    發(fā)表于 05-16 14:39

    芯海應(yīng)用筆記:CSU3AF10 IAP功能設(shè)計(jì)指南_V1.0

    和 UART 兩種協(xié)議的 IAP 升則方式的差異、IAP 設(shè)計(jì)需要注意的事項(xiàng)等。*附件:應(yīng)用筆記:CSU3AF10IAP功能設(shè)計(jì)指南_V1
    發(fā)表于 05-16 14:29

    芯海通用 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ā)
    發(fā)表于 05-16 11:40

    芯海通用 MCU 應(yīng)用筆記: CS32F03x IAP 升級(jí)

    本技術(shù)文檔旨在幫助客戶實(shí)現(xiàn) IAP 升級(jí)提供一個(gè)參考方案和模板。本文檔提供基于 UART 升級(jí)的 MCU 參考代碼和 PC 端的升級(jí)工具軟件。適用 MCU 型號(hào):CS32F030、CS32F
    發(fā)表于 05-16 10:55

    芯??萍紤?yīng)用筆記:CS32F0XX TIMER外設(shè)模塊指導(dǎo)

    紹的特定用戶示例做了工作原理與相關(guān)代碼介紹, 以方便用戶快速移。本應(yīng)用筆記分為部分:定時(shí)器特性概述、基本定時(shí)器功能介紹、高級(jí)定時(shí)器功能介紹、特定場(chǎng)景應(yīng)用示例。*附件:應(yīng)
    發(fā)表于 05-16 10:52

    武漢芯源半導(dǎo)體基于CW32F030C8T7永磁同步電機(jī)無(wú)感FOC控制方案全新亮相!

    近日,武漢芯源半導(dǎo)體基于CW32F030C8T7永磁同步電機(jī)無(wú)感FOC控制方案全新亮相!
    的頭像 發(fā)表于 02-27 11:34 ?885次閱讀
    武漢芯源半導(dǎo)體基于<b class='flag-5'>CW32F030</b>C8T7永磁同步電機(jī)無(wú)感FOC控制方案全新亮相!

    基于CW32F030C8T7永磁同步電機(jī)無(wú)感FOC控制方案全新亮相!

    同步電機(jī)無(wú)感FOC控制方案應(yīng)用框圖 硬件采用CW32F030高性能主控,雙電阻采樣,支持電機(jī)順逆風(fēng)啟動(dòng),支持過(guò)流過(guò)壓保護(hù)等功能。CW32F030C8T7作為主控芯片,內(nèi)置1路12bit高精度ADC
    發(fā)表于 02-27 11:18
    RM新时代网站-首页