国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

GD32F4XX IAP升級

這篇具有很好參考價值的文章主要介紹了GD32F4XX IAP升級。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

這里使用的是GD32F405RG,flash 為1M(0x08000000 - 0x080FFFFF),具體參考官方手冊

gd32 iap,單片機(jī),stm32

因為每個芯片的falsh大小不一樣,地址劃分根據(jù)實際flash大小和自己的設(shè)計去分配就好,?自己的址劃分如下 :

BOOT_ADDRESS:0x08000000 - 0x08003FFF? ? ?16k(扇區(qū)0)

APP_ADDRESS:0x08004000 - 0x0807FFFF? ? ?512k-16k=496k(扇區(qū)1-7)

Buffer_ADDRESS:0x08080000 - 0x080FEFFF? ? 512k-4k=508k(扇區(qū)8-11)

Flags_ADDRESS :0x80FF000 -0x80FFFFF? ? ? ? 4k(扇區(qū)11的最后4k)

gd32 iap,單片機(jī),stm32

IAP的升級思路基本是一樣的,如圖所示(懶得畫圖了,此圖盜用(doge))

gd32 iap,單片機(jī),stm32

?簡單做了個usart接收的IAP升級方式,主要是USART+DMA+空閑中斷接收,上位機(jī)發(fā)送上機(jī)命令,板子接收到升級命令后開始進(jìn)行升級,上位機(jī)把bin文件按一幀1024個字節(jié)的方式進(jìn)行傳輸,板子每接收到一幀就把數(shù)據(jù)寫入到緩存區(qū),上位機(jī)傳輸完發(fā)后發(fā)送一個結(jié)束命令。板子接收完畢則寫入升級標(biāo)志,然后跳轉(zhuǎn)到boot執(zhí)行復(fù)制,把Buffer的代碼復(fù)制到APP地址,最后把PC指針指向APP。

以上是基本的思路,下面是代碼過程

首先得寫好寫入和讀出flash的代碼,具體可參考官方的例程,兆易創(chuàng)新 (gd32mcu.com)

gd32 iap,單片機(jī),stm32

gd32 iap,單片機(jī),stm32

?需要注意的是想要寫入flash,必須先擦除,擦除flash按扇區(qū)擦除,官方的寫入例程里包含了每次寫入前的擦除對應(yīng)扇區(qū)的操作,如果直接使用會導(dǎo)致把同個扇區(qū)之前的代碼給擦除掉。

gd32 iap,單片機(jī),stm32

?對此我們可以稍作修改,在寫入前統(tǒng)一擦除buffer的扇區(qū),然后可以一幀一幀地寫入flash了

gd32 iap,單片機(jī),stm32

升級的接收模塊:

gd32 iap,單片機(jī),stm32

?當(dāng)接收完成后,寫入升級標(biāo)志,然后跳轉(zhuǎn)到boot進(jìn)行復(fù)制

BootLoader:

gd32 iap,單片機(jī),stm32

?vJumpToApplication():gd32 iap,單片機(jī),stm32

?USART 的配置就不附加,參考官方例程即可。

還需要注意的細(xì)節(jié):

1、keil燒錄時需要分配好燒錄的地址,以免被覆蓋掉

gd32 iap,單片機(jī),stm32

?2、傳輸?shù)奈募莃in格式,flash上的類型是一個字,所以寫入時記得以字的格式去寫入

gd32 iap,單片機(jī),stm32

有任何問題可以留言交流,謝謝!文章來源地址http://www.zghlxwxcb.cn/news/detail-532033.html

到了這里,關(guān)于GD32F4XX IAP升級的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • STM32單片機(jī)實現(xiàn)固件在線升級(IAP)

    單片機(jī)的固件升級方式有很多種, 1、ICP:In Circuit Programing,簡單說就是在單片機(jī)開發(fā)時使用燒錄器升級程序,比如使用J-Link燒錄單片機(jī)程序。 2、ISP:In System Programing,在單片機(jī)內(nèi)部實現(xiàn)了基于通信接口(如串口、I2C、SPI等等)的FLASH引導(dǎo)程序,配合廠家提供的燒錄軟件工具

    2024年02月13日
    瀏覽(22)
  • GD32單片機(jī)遠(yuǎn)程升級下載,手機(jī)在線升級下載程序,GD32在線固件下載升級,手機(jī)下載程序固件方法

    GD32單片機(jī)遠(yuǎn)程升級下載,手機(jī)在線升級下載程序,GD32在線固件下載升級,手機(jī)下載程序固件方法

    ? ? ? ? GD32、STM32單片機(jī),是我們最常見的一種MCU。通常我們在使用STM32單片機(jī)都會遇到程序在線升級下載的問題。 ? ? ? ? GD32/STM32單片機(jī)的在線下載通常需要以下幾種方式完成: ? ? ? 1、使用ST/GD提供的串口下載工具,本地完成固件的升級下載。 ? ? ? ?2、自行完成系統(tǒng)

    2024年02月02日
    瀏覽(28)
  • [GD32F4]基于GD32固件庫移植cherryusb[STM32F4]

    [GD32F4]基于GD32固件庫移植cherryusb[STM32F4]

    [GD32F4]基于GD32固件庫移植cherryusb[STM32F4] 使用開發(fā)板是淘寶買的不知名開發(fā)板,沒什么好說的,具體的型號是GD32F450VET6。 使用的cherryusb版本是0.9.0版本。 使用的GD32官方固件庫版本是:GD32F4xx_Firmware_Library_V3.0.4 cherryusb最牛的地方在于拋棄掉所有的依賴,只需要知道芯片的usb中斷

    2024年02月06日
    瀏覽(69)
  • 基于STM32單片機(jī)BOOTLOADER通過串口升級程序IAP——APP方案

    基于STM32單片機(jī)BOOTLOADER通過串口升級程序IAP——APP方案

    ????????????????????????此方法前提是你得有一個EEPROM ? ? ? ? 我用的單片機(jī)是STM32F103ZET6 , 此單片機(jī)FLASH容量為512KB; 在此單片機(jī)里面FLASH的起始地址是0X8000000,BOOT作為引導(dǎo)加載程序一般都是從這個地址開始,單片機(jī)一上點(diǎn)默認(rèn)會從這個地址開始運(yùn)行,所以將自己

    2024年02月04日
    瀏覽(96)
  • GD32F4(9):GD32f4出現(xiàn)上電不工作,必須按復(fù)位程序才能跑起來

    GD32F4(9):GD32f4出現(xiàn)上電不工作,必須按復(fù)位程序才能跑起來

    繪制一個gd32450的pcb板子,結(jié)果燒錄程序后發(fā)生下面事情: 上電程序不能正常啟動或者偶爾可以正常啟動一次,很隨機(jī)。 當(dāng)上電后程序不啟動的時候,我再按一下mcu的reset按鍵,程序就能正常啟動了。 當(dāng)我debug調(diào)試的時候,回回都能正常啟動,根本定位不到問題 首先在板子里

    2023年04月08日
    瀏覽(81)
  • GD32F4移植STM32F4

    GD32F4移植STM32F4

    近期在項目中采用了GD32F407VET6替換原項目中的STM32F407VET6,網(wǎng)傳GD的兼容性很好,之前也用F1系統(tǒng)的替換了一下,按照CSND各位大佬的經(jīng)驗一步步改進(jìn)了代碼,測試直接通過,現(xiàn)在也一直在項目中實際應(yīng)用了,一直沒有出問題。 所以這SMT時,嘉立創(chuàng)沒有STM的貨果斷換成了GD,可換時

    2024年02月16日
    瀏覽(32)
  • STM32F4 IAP 跳轉(zhuǎn) APP問題

    STM32F4 IAP 跳轉(zhuǎn) APP問題

    ??IAP 的作用,網(wǎng)上其他資料已經(jīng)有很多介紹了,這里放一個鏈接,不進(jìn)行深入的介紹。本文的關(guān)注重點(diǎn)是Bootloader在跳轉(zhuǎn)APP程序中出現(xiàn)的問題。 IAP的實現(xiàn)原理講解以及中斷向量表的偏移 ??本人主要做應(yīng)用層的開發(fā),所有Bootloader和APP程序使用的是STM32CubeMX工具生成代碼后,

    2024年02月11日
    瀏覽(14)
  • STM32-IAP基本原理及應(yīng)用 | ICP、IAP程序下載流程 | 程序執(zhí)行流程 | 配置IAP到STM32F4xxx

    STM32-IAP基本原理及應(yīng)用 | ICP、IAP程序下載流程 | 程序執(zhí)行流程 | 配置IAP到STM32F4xxx

    ①在線編程(ICP,In-Circuit Programming) :通過JTAG/SWD協(xié)議或者系統(tǒng)加載程序(Bootloader, 串口 )下載用戶應(yīng)用程序到微控制器中。 ②在程序中編程(IAP,In Application Programming) :通過任何一種通信接口(如IO端口,USB,CAN,UART,I2C,SPI等)下載程序或者應(yīng)用數(shù)據(jù)到存儲器中( 需要在此前通過在線編

    2024年02月07日
    瀏覽(27)
  • 【極海APM32F4xx Tiny】學(xué)習(xí)筆記07-串口使用框架

    mcu 串口外設(shè)簡介 該芯片內(nèi)置多達(dá) 6 個通用同步/異步收發(fā)器,USART1/6 接口通信速率可達(dá) 10.5Mbit/s,其它USART/UART 的通信速率可達(dá) 5.25Mbit/s,所有 USART/UART 可配置波特率、奇偶校驗位、停止位、數(shù)據(jù)位長度,都可以支持 DMA 函數(shù)庫 源文件

    2024年02月16日
    瀏覽(22)
  • 單片機(jī)GD32F303RCT6 (Macos環(huán)境)開發(fā) (二十)—— 光感芯片veml7700的使用

    單片機(jī)GD32F303RCT6 (Macos環(huán)境)開發(fā) (二十)—— 光感芯片veml7700的使用

    1、veml有7個寄存器,每個十六位,見圖。 00是config寄存器, 01 02 是中斷設(shè)置的閾值 03是節(jié)能模式的設(shè)置 04 是得到的光的亮度值 05是得到的data of whole WHITE 06是中斷設(shè)置值。 2、我們只測試得到光的亮度值,所以veml寄存器設(shè)置如下: 設(shè)置gain,integration time ,power save mode ,interrup

    2024年02月04日
    瀏覽(30)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包