RAK3172 bootloader info block

Does the module bootloader check the size of the firmware when upload?

I`m trying upload firmware with preconfigured settings at MCU_USER_DATA_NVM_ADDR by adding additional section in linker script .

[S] STATE: Received CRC request (C/CRC)
[S] STATE: 16-bit CRC mode applied
[S] STATE: Preparing info block
[S] TRANSMISSION: info block sent
[S] ERROR: Expected ACK but got b'C' for info block
[S] TRANSMISSION: info block sent
[S] ERROR: Expected ACK but got b'\x18' for info block
[S] TRANSMISSION: info block sent
[S] ERROR: Expected ACK but got b'\x18' for info block
[S] TRANSMISSION: info block sent
[S] STATE: Waiting the mode request...
[S] STATE: Received CRC request (C/CRC)
[S] STATE: 16-bit CRC mode applied
[S] TRANSMISSION: block 0 (seq=1) sent
[S] ERROR: Expected ACK but got b'C' for block 1

Yes, bootloader check firmware size in sended info block.
After few changes i can upload firmware to fit all rom space:

  1. small change for uploader_ymodem: now its always send a valid value.
  2. add to arduino.json additional parameters with custom linker script and firmware size to suppress warning message of maximum firmware size.
    "buildPreferences": [
        ["build.ldscript", "{build.source.path}/lora_t_ti_rak3172.ld"],
        ["upload.maximum_size", "206848"]
    ]

And make “platform.local.txt” with path to modified uploader.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.