You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hello,
I just created a custom device with a STM32F103RC controller.
According to the docs here I flashed the highDensity bootloader and I am able to upload binaries.
So far so good.
Problem is, if I use a binary with a size larger than 80000bytes the bootloader breaks.
(meaning after re-connecting USB the USB port does not enumerate and the code is not running. Only way to get the controller back to life is reflashing the bootloader).
In short, if the last line of the upload message is . 77824 Bytes, everything is ok.
If the last line is . 8xxxx Bytes, the BL breaks.
I have the feeling that this is some kind of linker problem. Because when I use DFU as upload method (with the DFU bootloader installed), I can easily use larger binaries.
Maybe the reserved RAM for the interrupt lines get overwritten?
Not sure if this is a HID bootloader issue or a linker issue within platformio. But I thought maybe someone has seen this behaviour as well?
Edit:
The building environment looks the same when changing the upload protocol between hid and dfu (apart from the LD_FLASH_OFFSET=0x800 vs 0x2000).
pio run -t envdump
The text was updated successfully, but these errors were encountered:
Hello,
I just created a custom device with a STM32F103RC controller.
According to the docs here I flashed the highDensity bootloader and I am able to upload binaries.
So far so good.
Problem is, if I use a binary with a size larger than 80000bytes the bootloader breaks.
(meaning after re-connecting USB the USB port does not enumerate and the code is not running. Only way to get the controller back to life is reflashing the bootloader).
In short, if the last line of the upload message is
. 77824 Bytes
, everything is ok.If the last line is
. 8xxxx Bytes
, the BL breaks.I'm using platformIO with this platformio.ini:
I have the feeling that this is some kind of linker problem. Because when I use DFU as upload method (with the DFU bootloader installed), I can easily use larger binaries.
Maybe the reserved RAM for the interrupt lines get overwritten?
Not sure if this is a HID bootloader issue or a linker issue within platformio. But I thought maybe someone has seen this behaviour as well?
Edit:
The building environment looks the same when changing the upload protocol between hid and dfu (apart from the LD_FLASH_OFFSET=0x800 vs 0x2000).
pio run -t envdump
The text was updated successfully, but these errors were encountered: