cancel
Showing results for 
Search instead for 
Did you mean: 

STM32WBA64CIUx USART BOOTLOADER

Brussl
Associate III

Hi, I have a problem with activating USART bootloader.

I use USART1. Please for details about how to going in bootloader mode. Pattern 12 in  AN2606 is super complicated for me. I use now boot pin. I put it to GND and power ON . By me MCU going in bootloader mode, software put it with J-link is not started, but STM programmer show : Activating device: KO.Please, verify the boot mode configuration and check serial port configuration. Reset your device then try again..

Please for details how to put in USART1 boot mode.

 

 

1 ACCEPTED SOLUTION

Accepted Solutions
Brussl
Associate III

So after 1 week test and attempts I find problem. NEED TO CONNECT VDDUSB to VCC! This is without logic for me. I don't use USB hardware in chip.

I can't find in documents something about that.

 

View solution in original post

10 REPLIES 10
TDK
Super User

AN2606 has details for putting the chip into bootloader mode. Here they are:

TDK_0-1771249183792.png

Yes, this is complicated, but it reflects reality. Use STM32CubeProgrammer with an SWD connection to examine the state of the option bytes. There are only 5-6 values relevant here. Look up what they are for your chip and write down the values.

Ensure the pins you are using are supported. Ensure parity is set to even.

If still stuck, post pictures of your setup.

If you feel a post has answered your question, please click "Accept as Solution".
Brussl
Associate III

Ok. I see first line :

TZEN = 1 = 0, Boot0(pin) = 0, nSWBoot0(bit) = 1 and NSBOOTADD0 [24:0] = Address(1)

nSWboot0(bit) is 1.

Boot0 pin will put to GND.

TZEN as I see doesn't matter.

What must be Address(1) ?

 

 

> What must be Address(1) ?

The superscript (1) refers to footnote 1. Look at the footnote (1) for what it needs to be:

TDK_1-1771254154147.png

If you feel a post has answered your question, please click "Accept as Solution".
Brussl
Associate III

If i write in NSBOOTADDR0 = 0x17F200 , MCU don't start program. when boot0 pin is high.

When return it to 0x1000000 , and boot0 pin is high mcu start regular program.

Even MCU can't go in boot mode , or may be going in boot but don't connect with STM32CubeProgramming.

I see when put boot0 pin to GND , the MCU don't start  program , so may be is in boot mode, bit don't connecting to programmer. I check usart connecting and it work. Just can't go in USART boot-programming. The MCU don't answer on 0x7F. The new interesting is i some time can connect it. But i don't  define when and how.

Can you send me schematic of boot pin and all needed bits status and NSBOOTADD0 and NSBOOTADDR1.

Should be good if going in boot mode when boot pin is in low level.

Tnx in advance.

TDK
Super User

It won't help if I rewrite what it already says in AN2606.

If you want to debug, you'll need to post specifics of your setup. What pins, what board is this, what interfaces are connected. Note that the bootloader will connect to whatever talks with it first.

If you feel a post has answered your question, please click "Accept as Solution".
Brussl
Associate III

Brussl_0-1771313833673.png

Brussl_1-1771313880742.png

Brussl_2-1771313934915.png

USB to Uart is tested on many devices.

So what should be setup bits and NSBOOTADD0 and NSBOOTADDR1 ?

Can some other pin to confuse the boot sequence ?

 

Tnx in advance

 

Some idea ?

TDK
Super User

I looked, nothing is jumping out at me. You should ensure other pins used by the bootloader are silent when it enters the bootloader. Putting a logic analyzer on the RX line may shed some light.

Based on your description, it sounds like it's entering the bootloader reliably but not responding on USART1 all of the time.

> The new interesting is i some time can connect it.

So sometimes it is working, which suggests connections are correct. Could there be noise on other bootloader supported interfaces?

If you feel a post has answered your question, please click "Accept as Solution".