Skip to content

Commit 179c2b2

Browse files
committed
Update README.md file
1 parent 7904dcd commit 179c2b2

File tree

1 file changed

+34
-28
lines changed

1 file changed

+34
-28
lines changed

README.md

Lines changed: 34 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -4,44 +4,49 @@
44

55
## Overview
66

7-
**OpenBootloader** is an In-Application programming (IAP) provided in the STM32Cube MCU Packages and GitHub. It is fully compatible with STM32 System Bootloader so that they have the same supported interfaces and supported commands and they are working exactly with the same Tools such as STM32CubeProgrammer.
8-
**OpenBootloader** is provided as an example that can be used by any customer who wants to build and customize his own Bootloader starting from a good basis. It allows to download the application program to the internal user memory (Flash, SRAM, OTP) without the need for a debugger, by using one of the available communication interfaces (USART, I2C, SPI, USB-DFU or FDCAN).
9-
**OpenBootloader** supplies services to the Host (can be STM32CubeProgrammer or another user made host) in order to download firmware to the device via an interface link and to install this firmware in the needed user memory.
10-
**OpenBootloader** relies on STM32Cube HAL/LL drivers for hardware system initialization such as the clocks and the communication interfaces configuration.
11-
**OpenBootloader** code can be loaded in user Flash memory or in SRAM user memory with taking necessary precautions to avoid erasing or corrupting it by error (for example use write protection mechanism).
12-
**OpenBootloader** is executed by Cortex-M processor on the non-secure domain, from the Flash or SRAM initial base address, and uses the following resources:
13-
* Non secure internal flash memory/SRAM1
14-
* Interrupts
15-
* Clocks and power
16-
* Communication interfaces
17-
* GPIOs
18-
* Systick
19-
* IWDG
7+
**Open Bootloader** is an In-Application programming (IAP) provided in the STM32Cube MCU Packages and GitHub. It is fully compatible with STM32 System Bootloader so that it have the same supported interfaces and commands. It's also using the same Tools such as STM32CubeProgrammer.
8+
9+
**Open Bootloader** is provided as an example that can be used by any customer who wants to build and customize his own Bootloader starting from a good basis. It allows all possible bootloader operations (Read, write, erase, jump...) into internal (Flash, SRAM, OTP...) or external memory using one of the available communication interfaces (USART, I2C, SPI, USB-DFU, FDCAN...).
10+
11+
**Open Bootloader** supplies services to the Host (can be STM32CubeProgrammer or another user made host) in order to perform all possible Bootloader operations.
12+
13+
**Open Bootloader** relies on STM32Cube HAL/LL drivers for hardware system initialization such as the clocks and the communication interfaces configuration.
14+
15+
**Open Bootloader** code can be loaded at any address of user Flash memory with taking necessary precautions to avoid erasing or corrupting it by error (for example use write protection mechanism).
16+
17+
**Open Bootloader** is executed by Cortex-M processor on the non-secure domain and uses the following resources:
18+
- Non secure internal flash memory/SRAM1
19+
- Interrupts
20+
- Clocks and power
21+
- Communication interfaces
22+
- GPIOs
23+
- Systick
24+
- IWDG
25+
26+
**Open Bootloader** can be customized by changing its location (ie. load it in last user Flash sector or other sectors), its supported protocols, its supported interfaces, and its supported operations.
27+
28+
**Open Bootloader** applications can be found in STM32Cube MCU Packages under the directory `/Projects/<STM32xxBoardyy>/Applications/OpenBootloader/`, where `<STM32xxBoardyy>` is the reference of the used board **e.g.**, `B-U585I-IOT02A`.
2029

2130
## Documentation
2231

23-
Since OpenBootloader supports exactly same protocol interfaces as STM32 System Bootloader, following list of documents provide details of how to use each protocol:
32+
Since Open Bootloader supports exactly same protocol interfaces as STM32 System Bootloader, following list of documents provide details of how to use each protocol:
2433
- [AN3155](https://www.st.com/resource/en/application_note/CD00264342.pdf): USART protocol used in the STM32 Bootloader
2534
- [AN5405](https://www.st.com/resource/en/application_note/dm00660346.pdf): FDCAN protocol used in the STM32 Bootloader
2635
- [AN4221](https://www.st.com/resource/en/application_note/DM00072315.pdf): I2C protocol used in the STM32 Bootloader
2736
- [AN3156](https://www.st.com/resource/en/application_note/cd00264379.pdf): USB DFU protocol used in the STM32 Bootloader
2837
- [AN4286](https://www.st.com/resource/en/application_note/DM00081379.pdf): SPI protocol used in the STM32 Bootloader
2938

30-
31-
**OpenBootloader** can be customized by changing its location (ie. load it in last user Flash sector or other sectors), its supported protocols, its supported interfaces, and its supported operations.
32-
**OpenBootloader** applications can be found in STM32Cube MCU Packages under the directory `/Projects/<STM32xxBoardyy>/Applications/OpenBootloader/`, where `<STM32xxBoardyy>` is the reference of the used board **e.g.**, `B-U585I-IOT02A`.
33-
34-
A useful introductory video series, in six parts, explaining how to use OpenBootloader step by step, can be found here:
35-
- [part1](https://www.youtube.com/watch?v=_gejWsAn5kg): Introduction
36-
- [part2](https://www.youtube.com/watch?v=kYr7UMieRTo): Using a NUCLEO-G474RE
37-
- [part3](https://www.youtube.com/watch?v=JUBac27tOis): Loading an application
38-
- [part4](https://www.youtube.com/watch?v=7sMDBSlZ7bU): Adding support for the I2C interface
39-
- [part5](https://www.youtube.com/watch?v=rr1W5h94qLU): STLINK-V3SET I2C setup
40-
- [part6](https://www.youtube.com/watch?v=IZ6BpDIm6O0): Loading an application over I2C
39+
A useful introductory video series, in six parts, explaining how to use Open Bootloader step by step, can be found here:
40+
- [Part 1](https://www.youtube.com/watch?v=_gejWsAn5kg): Introduction
41+
- [Part 2](https://www.youtube.com/watch?v=kYr7UMieRTo): Using a NUCLEO-G474RE
42+
- [Part 3](https://www.youtube.com/watch?v=JUBac27tOis): Loading an application
43+
- [Part 4](https://www.youtube.com/watch?v=7sMDBSlZ7bU): Adding support for the I2C interface
44+
- [Part 5](https://www.youtube.com/watch?v=rr1W5h94qLU): STLINK-V3SET I2C setup
45+
- [Part 6](https://www.youtube.com/watch?v=IZ6BpDIm6O0): Loading an application over I2C
4146

4247
## List of Supported Commands
4348

44-
All STM32 System Bootloader commands are supported by OpenBootloader, which includes:
49+
All STM32 System Bootloader commands can be supported by Open Bootloader, which includes:
4550
- Get Version
4651
- Get Device ID
4752
- Get Available Command List
@@ -52,14 +57,15 @@ All STM32 System Bootloader commands are supported by OpenBootloader, which incl
5257
- Jump to Application
5358
- Flash Erase
5459
- Special Command
60+
- Extended Special Command
5561

5662
## How to use
5763

5864
**Open Bootloader** examples showing how to use this library are available in dedicated repositories, the list of which can be found [here](https://github.com/STMicroelectronics/STM32Cube_MCU_Overall_Offer/blob/master/README.md#stm32cube-middleware-libraries).
5965

6066
## Description
6167

62-
This **stm32-mw-openbl** MCU component repository is one element **common to all** STM32Cube MCU packages, providing the **OpenBootloader MCU Middleware** part.
68+
This **stm32-mw-openbl** MCU component repository is one element **common to all** STM32Cube MCU packages, providing the **Open Bootloader MCU Middleware** part.
6369

6470
## Release note
6571

@@ -69,4 +75,4 @@ Details about the content of this release are available in the release note [her
6975

7076
Caution : The issues are strictly limited to submit problems or suggestions related to the software delivered in this repository.
7177

72-
**For any other question** related to the product, the hardware performance or characteristics, the tools, the environment, you can submit it to the **ST Community** on the STM32 MCUs related [page](https://community.st.com/s/topic/0TO0X000000BSqSWAW/stm32-mcus).
78+
**For any other question** related to the product, the hardware performance or characteristics, the tools, the environment, you can submit it to the **ST Community** on the STM32 MCUs related [page](https://community.st.com/s/topic/0TO0X000000BSqSWAW/stm32-mcus).

0 commit comments

Comments
 (0)