Dear All,
I work on STM32F101V8 uC. I'm faced with a strange phenomenon related with burning. Once I downloaded a new firmware version to Flash and then started the program running by starting Debug Session in the uVision IDE, the program will continue to run if I close the Debug session or even if I physically disconnect the JTAG cable from my board. But if I want the program to start independently after the burning without JTAG's help, it does not work ! I tried to burn the firmware with J-FLASH of Segger as well, but the I have received the same result.
Can anybody explain me, please, what's going on here ?
Thanks in advance, Eli.
Have you made sure that your application is built for the correct memory address?
When you download using JTAG, you may place the application anywhere in the flash - or you may even place it in RAM and run it from there.
But after a reset, the chip will not be able to find your application unless you locate it so that you define a reset vector at the correct location, and that reset vector points at the startup of the code.
The JTAG interface on the other hand can feed the processor any start address.
Hi,
I think everything is OK with the start address. If I go to Options->Target,at the IROM1 Start address I see 0x8000000, which is the correct Flash start address. Regarding the Reset Vector, if assume there is a wrong address of main(), the software would not work even with JTAG interface too. Or perhaps, I didn't understand what did You mean ?
Thank you very much, Eli.