2014-08-18 11:16 AM
Hi,
I'm working on a project with STM32F407 and I'm planning to use its built-in CAN bootloader to download the application code. Let's assume that the chip has a V9.x bootloader. This version of bootloader supports a very wide range of peripherals, e.g. USART1-3, CAN2, I2C1-3, SPI1-2, USB, etc. If I understand correctly all these peripherals are initialized when booting into System Memory mode and they are scanned in certain order in order to find out what peripheral is actually used in the boot process. Now the question is that do I have to ensure in the schematics that the I/O pins of these extra boot peripherals are not conflicting with signals in the application circuit, e.g. that a UART Tx pin is not used as an input to the MCU in normal operation? There are quite a many I/O pins allocated to the bootloader peripherals and it's quite challenging (and frustrating) to map the I/O pins such a way that there would be no conflicts. Is there any workaround in order to avoid these possible conflicts? #bootloader #stm322014-08-18 06:43 PM
Something you'd want to sit down an discuss with an FAE, and you'd want to experiment with a prototype board or Discovery board.
For the USART's it's look for transition signals on the RX pins, and then turning around and configuring the RX/TX pair in USART mode based on the baud clock estimation.