Arduino 只能更新固件的一部分吗?

问题描述

我正在构建一个新项目,需要选择一个 MCU 板。

我正在尝试的是固件的部分更新。我会在特定的闪存扇区上指定部分固件(如功能),并且只更新扇区,所以我不需要擦除和写入整个闪存。

在我之前的项目中,STM32F4DISCOVERY 工作得非常好,但我想知道 Arduino 是否可以成为一种选择。

  1. 是否可以为固件设置内存地址(即funcA->0x0030、funcB->0x0090)
  2. 有没有办法跳转flash光标(在特定内存地址上执行代码
  3. Arduino 能否动态擦除/写入闪存本身?

解决方法

Boards.txt 文件包含对链接描述文件的引用,其中配置了内存区域,包括闪存和 RAM 的起始地址和长度。

FlashAsEEPROM 是一个库,用于在 EEPROM 不可用的情况下写入/读取闪存。