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

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

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

如何在STM32F407單片機(jī)上使用通用的BootLoader經(jīng)驗分析

RTThread物聯(lián)網(wǎng)操作系統(tǒng) ? 來源:未知 ? 2019-08-03 09:13 ? 次閱讀

因為在使用RT-Thread RTOS的時候發(fā)現(xiàn)官方提出了一種通用的BootLoader方案,支持F1和F4系列的芯片,正好手頭有板子便試著用了下,順便給大家分享一下經(jīng)驗總結(jié)吧。

硬件資源

正點原子stm32f407zgt6探索者開發(fā)板,片上Flash(ROM)大小為1024KB,RAM大小為192KB,板載一個SPI Flash W25Q128。

BootLoader配置

根據(jù)官方文檔:https://www.rt-thread.org/document/site/application-note/system/rtboot/an0028-rtboot/,(因為微信無法插入外部鏈接,請復(fù)制至外部瀏覽器打開)BootLoader的基本配置如下,加密壓縮的配置可以不選。

上述的分區(qū)表以及bootloader所占空間可以用下面的圖表示,偏移地址的概念為從0x08000000開始偏移。flash空間的前128KB用來存放Bootloader固件,因此排在BootLoader之下的download分區(qū)的起始地址為0x08020000。

生成Bootloader固件,固件會自動發(fā)送到自己的郵箱。

燒錄Bootloader

將得到的Bootloader固件通過STM32 ST-LINK Utility.exe 燒錄到片上flash。要注意的是,燒錄的起始地址為0x0800000。

燒錄完成后串口工具會輸出一下信息

要注意的是,其中的NJUST字樣是自定義的,可以在bootloader生成的頁面自行定義。兩個CRC32的error信息可以忽略,因為此時的flash中并沒有包含分區(qū)表,分區(qū)表信息需要我們通過燒錄app程序完成初始化配置。

FAL分區(qū)表中的onchip_flash為片上flash空間,起始地址為0x08020000,扇區(qū)大小為128KB。

燒錄app程序和打包

參考官方文檔:https://www.rt-thread.org/document/site/application-note/system/rtboot/an0028-rtboot/(因為微信無法插入外部鏈接,請復(fù)制至外部瀏覽器打開)

燒錄出廠固件

出廠固件的keil編譯相關(guān)設(shè)置同app程序一樣,中斷向量表偏移地址也是一樣的。在制作出廠固件app_factory時,需要將keil生成的bin用ota打包器進(jìn)行打包,打包器的固件分區(qū)名為app,固件版本為1.0.0,然后將打包生成的app_factory.rbl改后綴名為app_factory.bin,最后使用st-link-utility將修改后綴名的app_factory.bin燒錄到Flash的0x08060000地址即可。要注意,不可以直接把keil編譯的bin文件直接下載到factory分區(qū),因為此時的bin并沒有app的頭信息,這個頭信息需要由OTA打包器打包后才能添加。

恢復(fù)出場固件的方法:按住WK_UP按鍵的同時按下復(fù)位按鍵,保持WK_UP按鍵處于按下狀態(tài)10秒,即可進(jìn)入恢復(fù)狀態(tài)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • STM32
    +關(guān)注

    關(guān)注

    2264

    文章

    10854

    瀏覽量

    354319
  • RTOS
    +關(guān)注

    關(guān)注

    21

    文章

    809

    瀏覽量

    119362
  • bootloader
    +關(guān)注

    關(guān)注

    2

    文章

    234

    瀏覽量

    45505
  • STM32F407
    +關(guān)注

    關(guān)注

    15

    文章

    187

    瀏覽量

    29332

原文標(biāo)題:基于STM32F407的STM32通用BootLoader使用經(jīng)驗

文章出處:【微信號:RTThread,微信公眾號:RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    STM32F407的系統(tǒng)bootloader基礎(chǔ)知識下載

    STM32F407的系統(tǒng)bootloader基礎(chǔ)知識下載,第28章 STM32F407的系統(tǒng)bootloader基礎(chǔ)知識本章為大家介紹STM32F4
    發(fā)表于 08-10 08:00

    STM32F407模板

    STM32F407模板,感興趣可以看看。
    發(fā)表于 07-25 18:52 ?131次下載

    STM32F407 UCOS III實驗

    STM32F407 UCOS III實驗,介紹基于STM32F407的UCOSIII實例,參考下
    發(fā)表于 09-22 14:08 ?81次下載

    基于STM32F4和RT-Thread通用BootLoader使用經(jīng)驗

    基于STM32F4、RT-Thread通用BootLoader使用經(jīng)驗
    的頭像 發(fā)表于 02-27 17:23 ?6171次閱讀
    基于<b class='flag-5'>STM32F</b>4和RT-Thread<b class='flag-5'>通用</b><b class='flag-5'>BootLoader</b>使用<b class='flag-5'>經(jīng)驗</b>

    STM32F407 DCMI攝像頭源碼

    STM32F407 DCMI攝像頭源碼(電源技術(shù)存在的問題總結(jié))-【資源描述】:STM32F407 DCMI攝像頭源碼【編程語言】:C語言
    發(fā)表于 09-16 16:15 ?124次下載
    <b class='flag-5'>STM32F407</b> DCMI攝像頭源碼

    為什么選用ST系列STM32F407單片機(jī)

    為什么選用ST系列STM32F407單片機(jī)
    發(fā)表于 11-26 14:06 ?7次下載
    為什么選用ST系列<b class='flag-5'>STM32F407</b><b class='flag-5'>單片機(jī)</b>

    STM32F407的串口UART 基礎(chǔ)配置STM32CubeMX

    STM32F407的串口UART 基礎(chǔ)配置STM32CubeMX
    發(fā)表于 11-29 16:06 ?54次下載
    <b class='flag-5'>STM32F407</b>的串口UART 基礎(chǔ)配置<b class='flag-5'>STM32</b>CubeMX

    STM32F407 USB CDC調(diào)試與經(jīng)驗總結(jié)

    1. 目的調(diào)試STM32F407支持USB CDC與PC之間的通信;STM32 USB轉(zhuǎn)串口的驅(qū)動, 官方下載地址:STSW-STM32102 - STM32虛擬COM端口驅(qū)動程序
    發(fā)表于 11-29 16:21 ?30次下載
    <b class='flag-5'>STM32F407</b> USB CDC調(diào)試與<b class='flag-5'>經(jīng)驗</b>總結(jié)

    基于STM32F407STM32通用BootLoader使用經(jīng)驗

    背景: 在使用RT-Thread RTOS的時候發(fā)現(xiàn)官方提出了一種通用BootLoader方案,支持F1和F4系列的芯片 硬件資源: 正點原子st
    發(fā)表于 11-30 19:06 ?20次下載
    基于<b class='flag-5'>STM32F407</b>的<b class='flag-5'>STM32</b><b class='flag-5'>通用</b><b class='flag-5'>BootLoader</b>使用<b class='flag-5'>經(jīng)驗</b>

    RW007_WiFi模塊(SPI/UART模式)在STM32F407上的使用經(jīng)驗

    RW007_WiFi模塊(SPI/UART模式)在STM32F407上的使用經(jīng)驗
    發(fā)表于 11-30 19:06 ?14次下載
    RW007_WiFi模塊(SPI/UART模式)在<b class='flag-5'>STM32F407</b>上的使用<b class='flag-5'>經(jīng)驗</b>

    STM32F407STM32F105 CAN通訊失敗的定位解決

    STM32F407STM32F105的CAN通訊失敗問題,經(jīng)過一系列的測試分析,發(fā)現(xiàn)并解決問題,實現(xiàn)正常的CAN通訊。問題的現(xiàn)象STM32F407 板上安裝25MHz晶體,作為HSE
    發(fā)表于 12-02 16:51 ?18次下載
    <b class='flag-5'>STM32F407</b>與<b class='flag-5'>STM32F</b>105 CAN通訊失敗的定位解決

    STM32F407芯片介紹

    1. 文檔準(zhǔn)備做嵌入式開發(fā)的第一步就是了解主芯片,了解STM32F407主要要關(guān)注幾個文檔:1. stm32F407芯片手冊2. stm32F407參考手冊3. Arm Cortex-M4數(shù)據(jù)手冊
    發(fā)表于 12-04 13:21 ?109次下載
    <b class='flag-5'>STM32F407</b>芯片介紹

    STM32F407原理圖下載

    STM32F407原理圖下載
    發(fā)表于 01-17 13:44 ?419次下載

    stm32f407原理圖

    stm32f407原理圖
    發(fā)表于 07-14 16:07 ?202次下載

    RM0090_STM32F405/415, STM32F407/417, STM32F427/437和STM32F429/439單片機(jī)參考手冊

    RM0090_STM32F405/415, STM32F407/417, STM32F427/437和STM32F429/439單片機(jī)參考手
    發(fā)表于 11-23 08:24 ?15次下載
    RM0090_<b class='flag-5'>STM32F</b>405/415, <b class='flag-5'>STM32F407</b>/417, <b class='flag-5'>STM32F</b>427/437和<b class='flag-5'>STM32F</b>429/439<b class='flag-5'>單片機(jī)</b>參考手冊