電子發(fā)燒友App

硬聲App

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>如何在STM32中編寫我們的自定義引導(dǎo)加載程序

如何在STM32中編寫我們的自定義引導(dǎo)加載程序

2023-06-21 | zip | 0.00 MB | 次下載 | 免費(fèi)

資料介紹

STM32 MCU中的Bootloader實(shí)現(xiàn)

在這里,我已經(jīng)解釋了如何在 STM32 中編寫我們的自定義引導(dǎo)加載程序。

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

pYYBAGSAY8-AKxxNAACy1DQK9nc637.png

STM32CubeIDE 中的項(xiàng)目

第2步:

分離閃存

我們需要根據(jù) MCU 內(nèi)存布局將內(nèi)存部分分開。就我而言,我使用的是 STM32L0 微控制器。單擊此處獲取數(shù)據(jù)表,并在此處找到STM32L0 的硬件用戶手冊。

我把它從總的閃存大小分成了兩部分。

?

1. Bootloader            0x8000000 - 0x08008FFF
2. User Application      0x8009000 - 0x0802FFFF

?

下圖描述了閃存映射,

pYYBAGSAY9GAGZkMAACnsOVF9tM929.png

閃存映射

第 3 步:

將此部分分離到源代碼中。

將此源添加到引導(dǎo)加載程序和用戶應(yīng)用程序以切換內(nèi)存地址

?

uint32_t go_address = *((volatile uint32_t*) (MEM_ADDR+ 4));
void (*jump_to_app)(void) = (void *)go_address;
jump_to_app();

?

在我的例子中,內(nèi)存地址,

引導(dǎo)加載程序,

?

#define MEM_ADDR         0x08009000

?

用戶申請

?

#define MEM_ADDR         0x08000000

?

為各自的項(xiàng)目添加以上內(nèi)容。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.

我創(chuàng)建了兩個基本項(xiàng)目。我想這可以讓您很好地理解引導(dǎo)加載程序的概念。

最后,這是切換在同一個 STM32 微控制器中運(yùn)行的兩個應(yīng)用程序的輸出。

輸出

NOTE :在從一個應(yīng)用程序切換到另一個應(yīng)用程序之前,請確保禁用所有 ISR 并使用外圍設(shè)備

?

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)