資料介紹
在這里,我已經解釋了如何在 STM32 中編寫我們的自定義引導加載程序。
A bootloader is an application whose primary purpose is to allow the systems software that has to be updated without using any specialized hardware such as a JTAG programmer.
The bootloader manages the system's images.
It receives new program information externally via some communication means and writes that information to the program memory of the processor.
Bootloader Structure
The above figure shows a Bootloader for the microcontroller to program it. A bootloader is an optional way to program the application firmware onto the device.
STEP 1:
Creating New Projects
We are going to create two separate projects for implementing a bootloader using STM32CubeIDE. If you are a beginner, Here is an example to create a new project in stm32CubeIDE.
L0_APP1 Project - Bootloader
L0_APP2 Project - User Application
STM32CubeIDE 中的項目
第2步:
分離閃存
我們需要根據 MCU 內存布局將內存部分分開。就我而言,我使用的是 STM32L0 微控制器。單擊此處獲取數據表,并在此處找到STM32L0 的硬件用戶手冊。
我把它從總的閃存大小分成了兩部分。
?
1. Bootloader 0x8000000 - 0x08008FFF 2. User Application 0x8009000 - 0x0802FFFF
?
下圖描述了閃存映射,
閃存映射
第 3 步:
將此部分分離到源代碼中。
將此源添加到引導加載程序和用戶應用程序以切換內存地址
?
uint32_t go_address = *((volatile uint32_t*) (MEM_ADDR+ 4)); void (*jump_to_app)(void) = (void *)go_address; jump_to_app();
?
在我的例子中,內存地址,
引導加載程序,
?
#define MEM_ADDR 0x08009000
?
用戶申請
?
#define MEM_ADDR 0x08000000
?
為各自的項目添加以上內容。MACRO
步驟4:
Changing the Vector Table OFFSET for User Application as per your separated memory sections. Bootloader OFFSETremains the same,
To change the OFFSETplease go to the below file,
L0_APP2\Src\system_stm32l0xx.c
VECT_TAB_OFFSET
STEP 5:
Change the ORIGIN to keep the bootloader section erasable while we are uploading the User application program from STM32CubeIDE.
To change the ORIGIN, please go to the below file,
L0_APP1 \STM32L073RZ_FLASH.ld
STM32L073RZ_FLASH.ld
connect the board to your computer and flash the application source code into your STM32 microcontroller one by one.
Here we go we are done with all changes. we can write our bootloader application program in the L0_APP0 project.
It is possible to write two different applications and able to switch alternatively depending on user applications.
我創建了兩個基本項目。我想這可以讓您很好地理解引導加載程序的概念。
最后,這是切換在同一個 STM32 微控制器中運行的兩個應用程序的輸出。
輸出
NOTE :在從一個應用程序切換到另一個應用程序之前,請確保禁用所有 ISR 并使用外圍設備
?
- 如何在Cortex-M0+單片機中自定義ASFv3 SAM-BA自舉程序 0次下載
- labview自定義控件 9次下載
- 自定義視圖組件教程案例 14次下載
- C#與STM32自定義通信協議 36次下載
- Xilinx基本自定義OpenRISC系統硬件教程 93次下載
- 如何在LabVIEW中實現自定義控件 48次下載
- STM32二級菜單通過按鍵切換自定義任務OLED顯示的程序和工程文件 46次下載
- 遠程網絡處理器應用程序和與自定義應用程序的詳細資料免費下載 3次下載
- 將DSP物理連接到USB主機上的USB引導加載程序 8次下載
- AVR編寫1602自定義字符 1次下載
- 自定義信息框模塊 2次下載
- 自定義鼠標光標 2次下載
- DOS下自定義時間重啟 6次下載
- 1602自定義字符 1次下載
- 自定義函數測試學習工程 5次下載
- 基于YOLOv8實現自定義姿態評估模型訓練 968次閱讀
- 博途用戶自定義庫的使用 244次閱讀
- 基于YOLOv8的自定義醫學圖像分割 329次閱讀
- IAR下手動拷貝自定義程序段到RAM中執行的方法分享 389次閱讀
- 類隔離實現之自定義類加載器的擴展 214次閱讀
- 添加自定義屬性控制fridaserver啟動和停止 778次閱讀
- AN-2058: ADuCM355用戶引導加載程序 507次閱讀
- 什么是自定義序列 760次閱讀
- 自定義特性能做什么? 475次閱讀
- 如何在Vivado中更改自定義的Interface 2251次閱讀
- 三種自定義彈窗UI組件封裝的實現 2482次閱讀
- HarmonyOS 中的幾個自定義控件介紹 1763次閱讀
- 如何在樹莓派4上安裝新的引導加載程序 5297次閱讀
- 如何給EOS賬號設置自定義權限 1290次閱讀
- 通用型LCD1602自定義字符的顯示 3.5w次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多