国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

    文章

    8381

    瀏覽量

    164589
  • 單片機
    +關注

    關注

    6076

    文章

    45495

    瀏覽量

    670383
  • mcu
    mcu
    +關注

    關注

    147

    文章

    18925

    瀏覽量

    398227
  • IAP
    IAP
    +關注

    關注

    2

    文章

    169

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    CW32F030IAP應用介紹

    。Bootloader 程序用于電時判斷程 序是進入 IAP 升級流程還是進入 APP 應用程序執行過程。其一般放置 FLASH 的開始部分,如下圖示: CW32F030 的 F
    發表于 01-22 07:20

    CW32F030提供哪幾種封裝?

    目前CW32F030提供TSSOP-20、LQFP-32、LQFP-48三種封裝,分別對應的型號是CW32F030F6、CW32F030K8、CW32F030C8
    發表于 01-21 07:25

    請問CW32F030的硬件注意事項有哪些?

    CW32F030的硬件注意事項有哪些
    發表于 12-25 08:20

    請問CW32F030的12位精度代表什么意思?

    CW32F030的12位精度代表什么意思?
    發表于 12-25 08:10

    請問CW32F030的電源系統如何設計?

    CW32F030的電源系統如何設計?
    發表于 12-25 07:55

    請問CW32F030的硬件設計有哪些獨特特點?

    CW32F030的硬件設計有哪些獨特特點?
    發表于 12-25 06:20

    請問CW32F030的ADC是什么類型?

    請問CW32F030的ADC是什么類型的?
    發表于 12-24 07:36

    請問CW32F030的內部集成有哪些特點?

    CW32F030的內部集成有哪些特點?
    發表于 12-24 07:30

    請問CW32F030進入休眠模式后有什么影響?

    CW32F030進入休眠模式后有什么影響?
    發表于 12-24 06:40

    CW32F030支持哪些協議及功能?

    CW32F030支持哪些協議及功能
    發表于 12-22 06:18

    如何在CW32F030實現IAP功能實現遠程升級?

    程序用于電時判斷程序是進入 IAP 升級流程還是進入 APP 應用程序執行過程。其一般放置 FLASH 的開始部分 CW32F030 的 Flash 起始地址為 0x00000
    發表于 12-11 06:15

    請問CW32F030電IO是處于什么狀態?

    請問CW32F030電IO是處于什么狀態?為了防止MCU電,對外圍的電路的誤動作,一把很多MCU會上電瞬間設置為高阻態,不知道CW32F030 的端口IO什么狀態,謝謝
    發表于 12-09 07:38

    CW32F030芯片沒使用的IO是什么狀態?

    CW32F030芯片,沒使用的IO是什么狀態? 為什么會這么問呢?主要是之前遇到過一個比較有意思的事兒,用的PB3,但實際初始化時鐘是PA,IO和配置是PB3,讀取這個IO狀態就是一直下拉狀態。 就很好奇,CW32F030芯片,沒使用的IO是什么狀態呢?
    發表于 12-04 08:20

    請問CW32F030有沒有軟件復位功能

    請問下CW32F030有沒有軟件復位功能,就是代碼里面有沒有軟件復位功能。好像沒看到
    發表于 12-03 08:09

    CW32F030使用中的注意事項有哪些?

    CW32F030使用中的注意事項有哪些?
    發表于 11-18 06:20