cancel
Showing results for 
Search instead for 
Did you mean: 

AN3156 and how the MCU bootloader version is reported

MButsch
Associate III

Hello,

In appnote AN3156 (Rev 14) [USB DFU protocol used in the STM32 bootloader] it says

The bootloader version is returned in the device descriptor in the MSB of the bcd device
field (example: 0x2000 = version 2.0).

In appnote AN2606 (Rev 59) [STM32 microcontroller system memory boot mode], it lists the bootloader versions for 2 chips we use as follows:

  • STM32F302xD(E)/303xD(E)                  =    V4.0
  • STM32G491xx/4A1xx                            =    V13.2

When I look at the bcd device field after enumerating in DFU mode, I get:

  • STM32F302xD(E)/303xD(E)                  =    22.00
  • STM32G491xx/4A1xx                            =    2.00

I don't see how this corresponds to the info in AN2606. I would like to identify the bootloader version for use in performing a DFU.

What am I missing or doing wrong here?

Thanks,

Mark

 

 

1 ACCEPTED SOLUTION

Accepted Solutions
MButsch
Associate III

Hello,

So an update on this after working with an ST technical person.

The bootloader version referred to in AN2606 is the "DFU bootloader" version (of which there are 4 listed near the end of AN3156) not the overall bootloader version for specific chips.

I was referencing the incorrect "version" information.

View solution in original post

3 REPLIES 3
FBL
ST Employee

Hello @MButsch 

Thank you for reporting this! According to AN3156, the bootloader version is mentioned as an example not referring to specific product.

According to AN2606, I will check internally and get back to you.

 

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

MButsch
Associate III

Hello,

So an update on this after working with an ST technical person.

The bootloader version referred to in AN2606 is the "DFU bootloader" version (of which there are 4 listed near the end of AN3156) not the overall bootloader version for specific chips.

I was referencing the incorrect "version" information.

Hello @MButsch 

Thank you for your feedback.

Indeed, the product bootloader version refers to the version of the bootloader software that is installed on the product, while the bootloader USB protocol version refers to the version of the USB protocol that is used by the bootloader. You can check the bootloader version by referring to Bootloader ID memory location provided in Table 3. Embedded bootloaders.

FBelaid_2-1697116792297.png

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.