2010-01-17 08:14 AM
STM3210C-EVAL bootloader options
2011-05-17 04:38 AM
I'd like to use the bootloader that is built-in to the Connectivity Line STM3210C-EVAL board. I have been able to use the USART method with the ST Flash Loader Demo in Windows successfully.
I'd prefer to use the ''automatic'' mode where the BOOT0 and NRESET lines are controlled by the serial port. The hardware support for this is already built-in to the STM3210C-EVAL board (yay!). I've installed JP18 and JP19 to enable this functionality. Q1: Is this mode supported by the Flash Loader Demo software? I get the ''No response from target,...'' message unless I set the boot selector switches and manually press the Reset button. Q2: If so, what is the exact wiring of the serial cable that is needed to get the BOOT0 and NRESET lines connected to the serial port? I see by the supplied schematic that the BOOT0 line is connected to the CTS (pin 8) of CN6, and the NRESET line is connected to DCD (pin 1). Q3: Is USB DFU mode supported? Any information is appreciated. Thanks, Dale Wheat http://dalewheat.com2011-05-17 04:38 AM
Hi ,
Q1 : Yes, You can use the ''command line version'' not the GUI. Q2 : You can use any Serial cable having RTS and DTR lines connected to the eval board UART connector. Q3 : Yes, However check your device date-code and refer to , Section 2.13 Cheers, STOne-32.2011-05-17 04:38 AM
STOne-32,
Thank you for your prompt reply! Do you ever sleep? :D I see how the STMFlashLoader (command line version) is *supposed* to be able to control the DTR/RTS lines, but I am unable to get it to do so in practice. Can you show us an example command line that works with the STM3210C-EVAL board? I wrote a simple C# program that resets the chip via the DTR line. I made a custom null modem cable that connects DTR (pin 4) from the PC side to DCD (pin 1) of the STM3210C-EVAL board. This successfully pulls the NRST line to ground momentarily, resetting the part. The BOOT0 line is a different matter. Although I can also control this serial port line from my simple C# program, it seemed to have no effect on the STM3210C-EVAL board. Further investigation shows that because of the wire-OR circuit using diode D1, the Bootloader_BOOT0 signal can only pull the BOOT0 line down - it cannot bring it to a high logic level, which is what is required to cause the STM32 part to enter bootloader mode. The work-around solution that I am presently using is to leave SW2 (BOOT0) in the ''1'' mode (to the right) and have the STMFlashLoader program cause the program to execute (''-r --a 8000000'' option). This allows me to code+compile+download from my PC without having to flip switches and push buttons on the STM3210C-EVAL board every time. The only problem is that on both power up and after a RESET button press, the STM3210C-EVAL goes straight into bootloader mode, always. I think if I reverse the polarity of the D1 diode, I should be able to correctly control the state of the BOOT0 line from the serial port. Thanks, Dale Wheat http://dalewheat.com2011-05-17 04:38 AM
Any idea?