Olimex Support Forum

ARM => ST => Topic started by: EEsmurf on June 09, 2014, 05:46:45 PM

Title: STM32-P152 boot loader
Post by: EEsmurf on June 09, 2014, 05:46:45 PM
Hi, I just got the STM32-P152 board. Trying to connect to it through UART and Flash Loader Demonstrator. My connection settings are 115200 / 8 / Even/ Disabled / 5. But I always got the information "No response from the target, the Boot loader can not be started. Please, verify the boot mode configuration and the flash protection status. Reset your device then try again..."

I have set the boot mode to Boot0 = 1, Boot1 = 0. How can I check the flash protection status, and solve this issue?

Appreciate your help!
Title: Re: STM32-P152 boot loader
Post by: LubOlimex on September 04, 2014, 04:23:49 PM
Hey EEsmurf,

The bootloader software (e.g. Flash loader simulator) is not very reliable. Some of our boards work with it, some don't. I believe some of the microcontrollers are not well-supported in the application.

Recently I've received a couple of queries from customers about the bootloader of couple of high-density chips (STM32F207ZET and STM32F407ZGT among them) used on Olimex boards. The thing is the boards I tested don't get recognized by "Flash Loader Demonstrator v2.6.0". The interesting part is if I send "7F" to the boards I receive "79" as answer, which according to the documentation means the the USART communication is ok. Quote:

""
Once System memory boot mode is entered and the microcontroller has been configured as
described above, the bootloader code begins to scan the USART1_RX line pin, waiting to
receive the 0x7F data frame: one start bit, 0x7F data bits, even parity bit and one stop bit.
The duration of this data frame is measured using the Systick timer. The count value of the
timer is then used to calculate the corresponding baud rate factor with respect to the current
system clock.

"
Next, the code initializes the serial interface accordingly. Using this calculated baud rate, an
acknowledge byte (0x79) is returned to the host, which signals that the STM32F10xxx is
ready to receive user commands.

"

Both boards were configured as suggested by AN2606 (http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/APPLICATION_NOTE/CD00167594.pdf (http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/APPLICATION_NOTE/CD00167594.pdf)). BOOT1 and BOOT0 pins were selected as written in the documentation. I also tried to keep the unused RX first in low, then in high position but it didn't not help.

The two boards under test were: https://www.olimex.com/Products/ARM/ST/STM32-H407/ (https://www.olimex.com/Products/ARM/ST/STM32-H407/) and https://www.olimex.com/Products/ARM/ST/STM32-P207/ (https://www.olimex.com/Products/ARM/ST/STM32-P207/) (there are schematics available in the hardware section). I also tried both USARTs (used for the bootloader) with three UART adapters - https://www.olimex.com/Products/Components/Cables/USB-Serial-Cable/USB-Serial-Cable-M/ (https://www.olimex.com/Products/Components/Cables/USB-Serial-Cable/USB-Serial-Cable-M/) ; https://www.olimex.com/Products/Modules/Interface/MOD-USB-RS232/ (https://www.olimex.com/Products/Modules/Interface/MOD-USB-RS232/) and https://www.olimex.com/Products/Modules/Interface/MOD-RS232/ (https://www.olimex.com/Products/Modules/Interface/MOD-RS232/).

""

Best regards,
Lub/OLIMEX