Search code examples
arduinofirmwarestm32f4discovery

Is Arduino able to update only part of firmware?


I'm building a new project, and need to choose an MCU board.

What I'm trying is firmware's partial update. I will appoint part of firmware(like functions) on specific flash sector, and update only the sector so I don't need to erase&write the whole flash.

On my previous project, STM32F4DISCOVERY worked really fine but I wonder is Arduino could be an option.

  1. Is it possible to set an memory address for firmware(i.e. funcA->0x0030, funcB->0x0090)
  2. Is there a way to jump flash cursor(execute the code on specific memory address)
  3. Can Arduino dynamically erase/write on flash memory itself?

Solution

  • Boards.txt file holds a reference to the Linker Script where memory regions are configured including starting address and length of flash and RAM.

    FlashAsEEPROM is a library used to write/read the flash memory where EEPROM is not available.