2018-10-29 03:33 AM
Hi all,
after reading the AN2606 concerning bootloader seems to me that every device came with a preprogrammed bootloader I've correctly understand?
For the STM32F105RBT6 inside the EVAL6480H-DISC board, the bootloader should be the USB type (so by means of the DFU) because the others ports are not implemented in hardware on the board, also the USART is not possible due to the 64 pin device as per AN2606 §14.3.2 (no workaround).
Now, for the EVAL6480H-DISC I see a pull-up on the PA10 pins, so I think this is to meet the requirement specified on the AN2606 (Rev 33) §14.3.2.
From the board schematic there is a signal on the USB section, with name USB_IT, directly connected to the PC8 pin of the microcontroller.
From the AN2606 figure 2 - USB Connection - on page 27/292 one 1.5k pull up resistor is shown. This one is tied to the power supply through a transistor and I think that the PC8 is used to simulate this behaviour, so the pin should be switched on as output and then when the lines are released after the programming stage may be this pin is configured as input, but is only a my thinking, of course these sequence of operations should be performed inside the bootloader code.
Someone have some others details on this pin?
Thanks and best regards!
Fabio
2018-10-30 02:33 AM
Reading in a more deep all the documents give some infos, this is a time consuming task because the infos are spreaded over more documents. Here below a brief summary:
AN2586: §3.3 Embedded boot loader mode:
This embedded boot loader is located in the System memory and is programmed by ST
during production. So this means that a bootloader is already installed inside a device when is bougth. Same is expressed in AN2662 §1.1
AN2662: §1.1 Bootloader introduction
The bootloader is stored in the internal boot ROM memory (system memory), and its main
task is to download the application program to the internal Flash memory through one of the
following communication interfaces: USART1, USART2 (remapped), CAN2 (remapped) or
USB OTG FS in Device mode (DFU: device firmware upgrade).
AN2662: §1.2 Bootloader activation
The bootloader is automatically activated by configuring the BOOT0 and BOOT1 pins in the
specific “System memory�? configuration. About the EVAL6480H-DISC the boot1 is grounded so boot1=0 and boot0 can be 0 or 1, from the UM1756 to enter into the bootloader mode the jumper J5 must be removed so normally boot0=0 and when we have to activate the bootloader boot0=1 through the R5 pullup resistor. Then for this eval board the boot entering condition is when boot1=0 and boot0=1 so for AN2662 Table 1 this cause the boot mode to system memory.
AN2662: §1.4 Bootloader selection
The embedded bootloader firmware is able to auto-detect the peripheral interface to be
used. In an infinite loop, it detects any communication on the supported bootloader
interfaces. So this means that various system are available, referring to the EVAL6480H-DISC and the microcontroller used the method is the DFU through the USB interface (USART is not available due to the 64 pin package as per AN2606 §14.3.2).
This summarize how to enter into the boot mode and what mode are implemented into the EVAL6480H-DISC board, but there are no others informations concerning the PC8 pin (USB_IT) and how this pin is drived from the bootloader code.
Hope that someone have some suggest on this matter.
Best regards
Fabio