The start byte "7F" is sent from the serial terminal to activate the USART/UART bootloader. It is important to firstly activate the UART bootloader, before calling any bootloader commands as shown in figure 5 below. The rest of the settings are derived from table 3.įigure 4: AccessPort: UART communication settings. You can choose any baud rate (see the accepted max and min baud rate in the application note AN3155 ). Make the settings (aside from the "Port") similar to figure 4. Launch the AccessPort program and click on the "configuration" tab with the yellow and green gear icon as shown. USB end connected to PC with serial terminal. Nucleo board GPIO columnįigure 3: USB to TTL translator connected to the Nucleo board. Table 4: Nucleo board to USB/TTL serial translator. The Rx/Tx pins are 3.3 V level for interfacing with the most common 3.3 V logic level chipsets. The power pin provides the 5 V 500 mA direct from the USB port. For this cable, there are four wires: red power, black ground, white Rx into the USB port, and green Tx out of the USB port. Table 3: table shows system bootloader interfaces and their respective configurations (see AN2606 for an exhaustive list of interfaces).įor establishing communication with the bootloader via the PC, we use the Adafruit 954 USB to TTL serial cable. Notice the comment section for "USART2" - later, we transfer these settings to our serial terminal software (i.e "AccessPort"). In this case, we choose the USART2 bootloader as our communication interface. Using table 3, we will arbitrarily (and for ease of access to the pins) pick one of the USART interfaces for system bootloader communication. Ĭompleting the above step (jumping into the bootloader), we are now ready to use the application note AN2606 to activate the system bootloader. You can use the provided spare jumpers on your Nucleo board, from CN11 or CN12 to short the pins.įigure 2: Nucleo-H503RB board pin schematic found on the STMicroelectronics website. To set BOOT0 to 1, we will simply short pin "BOOT0" to pin "VDD" (locate the pins on your sample board using the figure 2 schematic). “VDD” is located on pin 5 of CN7 on the Nucleo board.įigure 1: User manual: Nucleo-H503RB pin numbered at the back side of the MCU. Table 2: User manual: The first column (CN7) shows where “BOOT0” is located on the Nucleo board. We use the Nucleo-H503RB, however, you can use other STM32 series (keep in mind the process of booting into the system bootloader is different for every STM32 series). Table 1: Reference manual: STM32H503 boot modes Be sure to see the reference manual of your MCU for how to boot into the system memory. For example, option bytes might have to be changed. NOTE: Some STM32 series have a slightly different method of accessing the system memory. To use the system bootloader, we set the BOOT0 pin to 1 as shown below in table 1. Booting into the UART/USRAT system bootloaderįirst determine the requirements for booting into the system memory where the bootloader is located. UM3121 (user manual for the Nucleo-H503RB board) Ĥ.RM0492 (reference manual for the STM32H503 MCU).AN3155 (application note for UART/USART system bootloader).AN2606 (general application note for various system bootloader interface, on every STM32 series).We used the Adafruit 954 USB to TTL serial cable, but you can use a different brand if so desired TTL to USB translator (for connecting UART Rx/Tx to PC for serial terminal access).The Nucleo-H503 uses USB Type-C®, however, your specific sample board might be using a Micro or Mini USB port USB Type-C® cable to USB-A or USB Type-C® to USB Type-C® cable.An STM32 evaluation board (we use the Nucleo-H503RB board).Requirements and prerequisites 3.1 Hardware requirements Going through this article should still help you, even if you are using different physical interfaces like CAN, SPI, etc.ģ. The good news is that the bootloader commands are similar between different interfaces. We want to focus our attention on how to call system bootloader commands. In this case, we use the UART system bootloader because it is easy to set up. We focus on how to activate one of the system bootloaders, and how to call system bootloader commands through the serial terminal. This article serves as an aid to the system bootloader application note (AN3155), where concrete examples are given. In popular literature, a system bootloader may be referred to as the ROM bootloader. The system bootloader is located on the read only portion of the memory and is programmed during the manufacturing phase. As the name suggests, it is located on the system memory (ROM) area of the MCU. The system bootloader is present on all STM32 MCUs.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |