chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(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 的首字母縮寫,在應(yīng)用編程,即在程序運(yùn)行的過(guò)程中進(jìn)行編程(升級(jí)程序, 更新固件)。IAP 是用戶自己的程序在運(yùn)行過(guò)程中對(duì) Flash 部分區(qū)域進(jìn)行燒寫,目的是為了在產(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)容及配圖由入駐作者撰寫或者入駐合作網(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

    文章

    8244

    瀏覽量

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

    關(guān)注

    6074

    文章

    45319

    瀏覽量

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

    關(guān)注

    147

    文章

    18586

    瀏覽量

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

    關(guān)注

    2

    文章

    165

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    請(qǐng)問(wèn)CW32F030C8T6有哪些通信接口?

    CW32F030C8T6有哪些通信接口?
    發(fā)表于 11-26 08:18

    CW32F030 MCU設(shè)置外部中斷和RTC喚醒條件的示例

    示例1:外部中斷喚醒 假設(shè)我們有一個(gè)按鍵連接到CW32F030的某個(gè)外部中斷引腳上,當(dāng)按鍵被按下時(shí),MCU將從Sleep模式喚醒。 c #include \"cw32a030
    發(fā)表于 11-25 08:00

    CW32F030 芯片 SPI DMA BULK發(fā)送問(wèn)題,是什么原因?qū)е碌模?/a>

    CW32F030芯片用SPI DMA發(fā)送,Block模式?jīng)]有問(wèn)題,可以調(diào)試出來(lái),但是因?yàn)槊總€(gè)字節(jié)最后一位會(huì)插入一個(gè)大約60ns的時(shí)間,這個(gè)時(shí)間會(huì)導(dǎo)致數(shù)據(jù)出錯(cuò)。看到規(guī)格書有說(shuō)BULK模式,但是我將
    發(fā)表于 11-24 07:42

    CW32F030做溫濕度采集,ADC讀數(shù)跳變超過(guò)±3LSB正常嗎?

    CW32F030做溫濕度采集,ADC讀數(shù)跳變超過(guò)±3LSB正常嗎?已排除傳感器問(wèn)題,參考電壓用LDO單獨(dú)供電還是波動(dòng)明顯,是否需要外接精密基準(zhǔn)源?
    發(fā)表于 11-20 07:47

    CW32F030C8T6數(shù)字簽名實(shí)戰(zhàn)

    對(duì)哈希值進(jìn)行RSA加密,生成簽名。 公鑰驗(yàn)證:設(shè)備端用預(yù)置的公鑰解密簽名,與重新計(jì)算的哈希值比對(duì)。 2.3 代碼示例 (基于mbedTLS) 使用 CW32F030C8T6 實(shí)現(xiàn) ECDSA
    發(fā)表于 11-19 08:03

    基于芯源CW32F030 MCU的I2C通信及應(yīng)用

    芯源微的CW32F030是一款基于Arm Cortex-M0內(nèi)核的32位低功耗MCU,具備高性能和豐富的外設(shè)功能,廣泛應(yīng)用于物聯(lián)網(wǎng)、智能家居、工業(yè)控制等領(lǐng)域。CW32F030支持包括I2C、SPI
    發(fā)表于 11-18 08:29

    CW32F030C8T6數(shù)字簽名的實(shí)戰(zhàn)指南

    對(duì)哈希值進(jìn)行RSA加密,生成簽名。 公鑰驗(yàn)證:設(shè)備端用預(yù)置的公鑰解密簽名,與重新計(jì)算的哈希值比對(duì)。 2.3 代碼示例 (基于mbedTLS) 使用 CW32F030C8T6 實(shí)現(xiàn) ECDSA
    發(fā)表于 11-18 06:35

    CW32F030使用中的注意事項(xiàng)有哪些?

    CW32F030使用中的注意事項(xiàng)有哪些?
    發(fā)表于 11-18 06:20

    CW32F030C8T6:GPIO配置的全攻略

    一.GPIO概述 CW32F030C8T6是武漢芯源半導(dǎo)體推出的32位微控制器,基于ARM Cortex-M0內(nèi)核。其GPIO(通用輸入輸出)模塊支持多種功能配置,包括輸入模式、輸出模式、復(fù)用功能
    發(fā)表于 11-13 06:38

    CW32 MCU的工作電壓、工作溫度是多少?

    CW32通用型MCU工作電壓是1.65V~5.5V,射頻MCU工作電壓則是1.8V/2.2V~3.6V;通用型CW32F系列MCU,比如:CW32F030CW32F020、
    發(fā)表于 11-12 06:49

    CW32 MCU最低功耗能做到多少?

    CW32L系列,比如:CW32L083、CW32L031深度休眠模式下,電流可低至600nA以下,CW32L010則可低至0.3uA;其它
    發(fā)表于 11-12 06:24

    AT32 IAP using the USART

    對(duì)于AT32 MCU,除了出廠固化的bootloader,用戶也可以應(yīng)用程序中編寫自己的bootloader程序,用于最終產(chǎn)品的固件更新。此功能稱為應(yīng)用程序內(nèi)編程(IAP)。 本應(yīng)用筆記
    發(fā)表于 07-11 10:51

    CW32模塊使用】SG90舵機(jī)

    我們的目標(biāo)是將例程移植至CW32F030C8T6開(kāi)發(fā)板【能夠控制舵機(jī)旋轉(zhuǎn)的功能】。首先要獲取資料,查看數(shù)據(jù)手冊(cè)應(yīng)如何實(shí)現(xiàn)讀取數(shù)據(jù),再移植至我們的工程。
    的頭像 發(fā)表于 03-29 17:22 ?1118次閱讀
    【<b class='flag-5'>CW</b>32模塊使用】SG90舵機(jī)

    CDK應(yīng)用筆記

    電子發(fā)燒友網(wǎng)站提供《CDK應(yīng)用筆記.pdf》資料免費(fèi)下載
    發(fā)表于 01-16 16:17 ?0次下載
    CDK應(yīng)<b class='flag-5'>用筆記</b>

    AT32F423 PWC應(yīng)用筆記

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