那曲檬骨新材料有限公司

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

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

3天內不再提示

應用筆記(四)| 在CW32F030上實現IAP功能

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

前言

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

1

功能實現

IAP 功能的實現,一般將程序分為兩個部分,即:Bootloader 和 APP。Bootloader 程序用于上電時判斷程 序是進入 IAP 升級流程還是進入 APP 應用程序執行過程。其一般放置在 FLASH 的開始部分,如下圖示:

poYBAGLOYUGAVLeFAACGWYo6uzs871.jpg

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

CW32F030 采用 ARM? Cortex?-M0+ 內核,具有向量表偏移寄存器 VTOR,故其從 Bootloader 中實現向 APP 中跳轉較為簡單,僅設置向量表偏移即可。

本應用中 Bootloader 采用 UART1 作為 IAP 的通訊接口,以 Ymodem 協議進行文件的傳輸。APP 程序通過 SYSTICK 定時器計時,并通過中斷的方式每 200ms 對口線 PB09 翻轉一次,驅動 LED1 閃爍。

2

Bootloader 程序設計

poYBAGLOYUKAOAGDAAEzpeCU1qY977.jpg


2.1參考代碼

pYYBAGLOYUKAVYqAAAO0ZQvd4SY485.jpg

2.2程序編譯

以 MDK-ARM 為例,編譯時注意如下選項:

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

pYYBAGLOYUKAOtpLAAKF0D-R1Ng999.jpg

2. 鏈接時,使用 IDE 的對話框配置,如下圖:

pYYBAGLOYUKANeiFAAJ8a1Ti9YA549.jpg

3

APP 程序設計

APP 程序可以先按正常程序的設計流程進行設計和調試,等調試測試通過后,需要進行如下的修改:

1. 在對系統初始化時,修改中斷向量表的偏移地址

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

poYBAGLOYUKAXkIiAAREwL_-E4s168.jpg

2. 修改編譯配置

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

poYBAGLOYUGANG7TAAPYVHqlDdE972.jpg

3. 鏈接時,使用 IDE 的對話框配置,如下圖:

poYBAGLOYUKAftUDAAL4YZnk8ik402.jpg

4

演示

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

pYYBAGLOYUKAfgKYAAERWANtxd8577.jpg

屏幕不斷顯示字符“C”,提示下位機準備接受文件。選擇“傳送”-“發送文件”,如下圖:

poYBAGLOYUKAZTLiAAGuifTIeME175.jpg

在出現的對話框中選取用戶的 APP 文件,并將協議選擇為“Ymodem”,并點擊“發送”,如下圖:

pYYBAGLOYUKAKB4VAAGdFA6pSto478.jpg

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

pYYBAGLOYUKARpGGAAH4LZziwA8618.jpg

此時,CW32F030C8T6 StarKit 板上的 LED1 將以 200ms 的間隔閃爍,說明用戶程序已正常運行。

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

    關注

    48

    文章

    7651

    瀏覽量

    152124
  • 單片機
    +關注

    關注

    6043

    文章

    44621

    瀏覽量

    638625
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17324

    瀏覽量

    352662
  • IAP
    IAP
    +關注

    關注

    2

    文章

    164

    瀏覽量

    24393
收藏 人收藏

    評論

    相關推薦

    AT32F423 PWC應用筆記

    電子發燒友網站提供《AT32F423 PWC應用筆記.pdf》資料免費下載
    發表于 01-15 15:30 ?0次下載
    AT32<b class='flag-5'>F</b>423 PWC應<b class='flag-5'>用筆記</b>

    基于CW32模塊的SHT30溫濕度傳感器設計

    我們的目標是將例程移植至CW32F030C8T6開發板【測量溫濕度的功能】。首先要獲取資料,查看數據手冊應如何實現讀取數據,再移植至我們的工程。
    的頭像 發表于 11-12 11:14 ?375次閱讀
    基于<b class='flag-5'>CW</b>32模塊的SHT30溫濕度傳感器設計

    基于CW32直流電機PID學習套件介紹

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

    武漢芯源半導體CW32F030K8T7在即熱式熱水器的應用介紹

    捕獲/比較通道和3對互補PWM輸出,死區時間和靈活的同步功能組16位通用定時器;三組16位基本定時器;窗口看門狗定時器;獨立看門狗定時器; 圖:CW32F030K8T7在即熱式熱水器的應用框圖
    發表于 06-06 14:17

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

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

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

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

    CW32使用DMA單通道、定時器觸發ADC實現了多路AD采集

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

    芯海CS32F0XXTIMER外設模塊應用筆記

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

    芯海應用筆記:CPW3101入門指南

    本技術說明文檔提供關于 CPW3101 開發板 UFCS_EVB_V1.2 功能介紹、特性說明、使用說明、IAP升級、使用注意事項等,旨在幫助用戶更好地使用 CPW3101 開發板_V1.2,進行芯
    發表于 05-16 14:39

    芯海應用筆記:CSU3AF10 IAP功能設計指南_V1.0

    和 UART 兩種協議的 IAP 升則方式的差異、IAP 設計需要注意的事項等。*附件:應用筆記:CSU3AF10IAP功能設計指南_V1
    發表于 05-16 14:29

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

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

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

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

    芯海科技應用筆記:CS32F0XX TIMER外設模塊指導

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

    武漢芯源半導體基于CW32F030C8T7永磁同步電機無感FOC控制方案全新亮相!

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

    基于CW32F030C8T7永磁同步電機無感FOC控制方案全新亮相!

    同步電機無感FOC控制方案應用框圖 硬件采用CW32F030高性能主控,雙電阻采樣,支持電機順逆風啟動,支持過流過壓保護等功能CW32F030C8T7作為主控芯片,內置1路12bit高精度ADC
    發表于 02-27 11:18
    百家乐官网网上投注系统| 百家乐l路单| 云霄县| 使用的百家乐软件| 百家乐官网教父方法| K7百家乐的玩法技巧和规则| 百家乐官网赌场凯时娱乐| 大发888官网充值| 百家乐注册就送| 海立方百家乐官网海立方| 永利高a1娱乐城送彩金| 利高百家乐游戏| 网上百家乐官网注册彩金| 大发888xp缺少 casino| 百家乐开户送十元| 百家乐官网太阳城球讯网| 大发888 zhidu| 澳门百家乐官网奥秘| 大发在线德州扑克| 百家乐扎金花现金| 百家乐官网真人博彩的玩法技巧和规则| 赌场游戏| 百家乐倍投软件| 高手百家乐赢钱法| 真人百家乐官网攻略| 澳门美高梅| 真人百家乐作| 网上百家乐骗人不| 百家乐官网赌神| 大发888游戏下载官方| 德州扑克网上平台| 新葡京百家乐现金网| 百家乐官网怎么玩高手| 德州扑克 大小| 红桃K百家乐的玩法技巧和规则| 淘金百家乐官网的玩法技巧和规则 | 大发888 asia| 百家乐双峰县| 百家乐官网正品| 百家乐官网大转轮| 百家乐投注|