Hi All,
I have two of these maple-like boards (http://www.cutedigi.com/product_info.php?products_id=4619) and I flashed the provided bootloader onto the boards using JTAG.
I can upload sketches using the MapleIDE, but here is the puzzlinng thing:
- after the upload from the IDE is done the board stays in perpetual bootloader mode
- the same happens when I press the RESET button, the bootloader executes (the fast blinks and then it just keeps blinking slowly) but stays in perpetual bootloader mode
- when I unplug the board and plug it back in, my sketch is being executed after the bootloader executes.
The LED is not throbbing, I.e it seems ther is no fault, and the code is loaded into the flash properly.
But it seems to me the bootloader just does not detect/jump to the user code after a reset by DFU or the RESET button, but it jumps to the user code after power cycling the board.
What is the difference in execution between a power cycle and pressing the reset button?
Does the code in main.c (https://github.com/soliddigi/SOLID-STM32-Arduino-Bootloader) also get executed when pressing RESET?
The bootloader code they use seems to be almost identical to the Maple Ret6 one, with some adjustments for the different LED pin and CPU (STM32F103VET6), address ranges are the same etc.
I am a bit stumped at the moment, it seems to me The variable "no_user_jump"in the bootloader (main.c) somehow ends up true and so it stays in perpetual bootloader mode.
Could this be a timing issue?
Oh, and there is another piece to the puzzle: if the board is cold (after putting it into the fridge), it works properly from the IDE and when pressing RESET, but as soon as the Board warms up, it starts "ignoring" the user code again.
Both of the boards behave the same way, so I don't think the board is broken per se.
Thanks for any input!
Mike
STM32 board with Maple bootloader stays in perpetual bootloader mode
(10 posts) (5 voices)-
Posted 4 years ago #
-
VET6 is similar to Maple Native.
Posted 4 years ago # -
FYI, I got this solved. It turned out to be a hardware issue with how the BUT button is wired on that board. After making the required change to the bootloader, it is working fine now.
Posted 4 years ago # -
Hey dude I have similar problem on ET-STM32 board.
Very rarely it actually executes user code, but like once per 50 reset hits. Any ideas?
I have one based on RET6, will your bootloader will work here?Posted 2 years ago # -
Did you pull PC9 low ? This is the button port.
Posted 2 years ago # -
Noooo, Im using leg 60 of MCU (BOOT0) to get into serial bootloader.....
What is the function of BUT attached to PC9? What is the level of PC9 when nothing attached there? I presume LOWPosted 2 years ago # -
Boot 0 is tied low with a 10k resistor on the Maple r5 and is linked with PC9. Boot1 (PB2) is also tied directly to ground.
Posted 2 years ago # -
> What is the function of BUT attached to PC9?
When it is high, the boot loader stays in perpetual bootloader mode.> What is the level of PC9 when nothing attached there? I presume LOW
I presume it is high, as your board likes to stay in perpetual bootloader mode, as you posted.The perpetual bootloader mode means the bootloader to programmed to the low memory of the CPU does not start the main program, but waits for an USB upload.
BOOT0 high on reset enters the CPU built in bootloader, which is something completely different.Posted 2 years ago # -
I got it! BTW, schematic a bit convoluted.
Will ground PC9 via 10K resistor.Posted 2 years ago # -
it worked! Thank you guys :)
Posted 2 years ago #
Reply
You must log in to post.