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

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

3天內不再提示

STM32系統(tǒng)bootloader的應用有哪些

嵌入式程序員 ? 來源:CSDN博客 ? 作者:CSDN博客 ? 2020-10-22 12:19 ? 次閱讀

嵌入式開發(fā)中,經常需要bootloader進行程序固件升級和系統(tǒng)維護,所以bootloader是必不可少的功能。STM32系統(tǒng)自帶的系統(tǒng)bootloader很方便使用。大量減少了工程師開發(fā)bootloader的工作。

1. 摘要

本篇筆記主要介紹,STM32系統(tǒng)bootloader的應用,以STM32H743芯片為例介紹,

2. 準備工作

1, IAR 8.32.1

2, STM32CubeProgrammer

3. 系統(tǒng)bootloader介紹

相信用過STM32芯片的童鞋應該都不陌生,在芯片出廠的時候,意法在內部系統(tǒng)固化了bootloader,并且支持多種接口UART,I2C,SPI,USB,CAN等等,可用于下載升級用戶程序,就我使用的H743來講可支持接口如下:

注意紅色框部分地址有誤,程序中代碼需要注意,目前支持幾乎全系列STM32。像F0, F1,F4,F7,H7,包括比較新的G系列也都支持,還有L系列和W系列。此bootloader可配合ST官方的STM32CubeProgrammer上位機使用,這樣大大節(jié)省了開發(fā)時間,當然你如果要做更好的bootloader可以根據這個思路自己在添加更多功能。

就我最近使用的H743來講,我們今天以H743為例,以USB接口為例來介紹。

4. 硬件連接示意圖

將板子通過USB線連入電腦,板子作為USB device

5. Bootloader模式

在使用bootloader時候,需要考慮怎么進入boot模式,而STM32支持通過boot引腳跳轉,通過boot引腳跳轉需要配置引腳和地址寄存器

通過用戶應用程序跳轉則不需要配置boot引腳,而一般通過應用程序跳轉比較方便,尤其是帶有不好拆卸外殼的產品,我們通過應用程序跳轉極為方便,固以后者為例來說明。通過boot引腳跳轉的配置說明大家可以參考官方文檔AN2606.

6. 配置需求

一般來說我們在進入跳轉到bootloader時候需要做一些工作,STM32在進入系統(tǒng)bootloader時候需要做以下動作:關閉全局中斷,時鐘恢復配置為HIS,清除中斷掛起標志,使能中斷,設置跳轉地址,執(zhí)行跳轉,可以是按鍵檢測跳轉,或者觸摸操作跳轉,這個根據自己的應用去實現。

7. 代碼實現

通過按照上面的說明我們就可以通過代碼實現,只需要在需要跳轉動作的地方調用下面的函數。注意ST官方給的系統(tǒng)bootloader系統(tǒng)地址不對,AN2606中給出的地址有誤,使用時候要注意,需采用下面的地址,此處參考了安富萊例程,一并感謝。

8. 測試

配合STM32CubeProgrammer完成測試,測試步驟很簡單,打開STM32CubeProgrammer,當應用程序中滿足跳轉條件進入系統(tǒng)bootloader后,就會進入DFU,點擊連接,如過連接無誤,可以選擇要下載的文件,進行下載,下載成功后,有提示。按照圖示操作就可以完成。

點擊Open file,選擇自己要下載的文件

或者可以在菜單里選擇第二項進入下面界面更新。

9. 參考文檔

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

    關注

    2270

    文章

    10900

    瀏覽量

    356045
  • bootloader
    +關注

    關注

    2

    文章

    235

    瀏覽量

    45627

原文標題:STM32系統(tǒng)bootloader應用

文章出處:【微信號:InterruptISR,微信公眾號:嵌入式程序員】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    什么是Bootloader 淺談STM32bootloader的內存分配

    。Bootloader不但依賴于CPU的體系架構,而且依賴于嵌入式系統(tǒng)板級設備的配置。 3. STM32bootloader的內存分配
    的頭像 發(fā)表于 02-15 06:10 ?1.7w次閱讀
    什么是<b class='flag-5'>Bootloader</b> 淺談<b class='flag-5'>STM32</b>中<b class='flag-5'>bootloader</b>的內存分配

    STM32單片機Bootloader的實現

    之前一篇的文章中,主要介紹了STM32的啟動流程和內存主要空間的分配,這篇文章將在上一篇文章的基礎上,來闡述一下STM32 Bootloader的實現。
    發(fā)表于 01-11 17:29 ?6976次閱讀
    <b class='flag-5'>STM32</b>單片機<b class='flag-5'>Bootloader</b>的實現

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

    STM32F407的系統(tǒng)bootloader基礎知識下載,第28章 STM32F407的系統(tǒng)bootlo
    發(fā)表于 08-10 08:00

    STM32系統(tǒng)自帶的系統(tǒng)bootloader何作用

    嵌入式開發(fā)中,經常需要bootloader進行程序固件升級和系統(tǒng)維護,所以bootloader是必不可少的功能。STM32系統(tǒng)自帶的
    發(fā)表于 12-09 07:30

    基于stm32的can BootLoader系統(tǒng)資料分享

    基于STM32+ucosiii的CAN BOOTLOADER CAN IAP一套完整的基于stm32的can BootLoader系統(tǒng),包括
    發(fā)表于 12-10 06:09

    STM32F091空片使用System Bootloader下載

    STM32F091空片使用System Bootloader下載代碼
    發(fā)表于 12-07 18:17 ?0次下載

    STM32 BootLoader升級固件

    Bootloader應該是每個成熟產品都必須具備的功能,了它,我們不用擔心產品銷售出去后發(fā)現產品固件問題而無法解決的問題,Bootloade
    發(fā)表于 11-10 08:59 ?5097次閱讀
    <b class='flag-5'>STM32</b> <b class='flag-5'>BootLoader</b>升級固件

    STM32單片機的bootloader設計流程解析資料分析

    stm32在內部硬件bootloader,但那是在生產燒錄時使用的。stm32在flash開頭的4K程序空間是可以設置成防擦除的,是天生的boot
    發(fā)表于 12-13 16:45 ?21次下載
    <b class='flag-5'>STM32</b>單片機的<b class='flag-5'>bootloader</b>設計流程解析資料分析

    STM32 Bootloader異常復位如何解決

    客戶反饋通過PC軟件Flashloader不能夠跟STM32 MCU自帶Bootloader連接。并且系統(tǒng)運行一段時間后異常復位。
    的頭像 發(fā)表于 03-23 10:26 ?9636次閱讀
    <b class='flag-5'>STM32</b> <b class='flag-5'>Bootloader</b>異常復位如何解決

    基于STM32F4和RT-Thread通用BootLoader使用經驗

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

    STM32系統(tǒng)bootloader應用

    嵌入式開發(fā)中,經常需要bootloader進行程序固件升級和系統(tǒng)維護,所以bootloader是必不可少的功能。STM32系統(tǒng)自帶的
    發(fā)表于 11-26 13:36 ?17次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>bootloader</b>應用

    寫了個通用的stm32串口bootloader

    寫了個通用的stm32串口bootloader
    發(fā)表于 11-26 15:51 ?26次下載
    寫了個通用的<b class='flag-5'>stm32</b>串口<b class='flag-5'>bootloader</b>

    STM32單片機bootloader掃盲

    STM32單片機BootLoader掃盲BootLoader和APP之間的關系APP就是平時寫的單片機上的應用程序,而BootLoader本質上和APP一樣,也是平時寫的應用程序
    發(fā)表于 11-26 18:21 ?77次下載
    <b class='flag-5'>STM32</b>單片機<b class='flag-5'>bootloader</b>掃盲

    基于STM32F407的STM32通用BootLoader使用經驗

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

    STM32 Bootloader異常復位案例

    電子發(fā)燒友網站提供《STM32 Bootloader異常復位案例.pdf》資料免費下載
    發(fā)表于 09-25 09:17 ?3次下載
    <b class='flag-5'>STM32</b> <b class='flag-5'>Bootloader</b>異常復位案例