【问题标题】:Is Arduino able to update only part of firmware?Arduino 是否只能更新部分固件?
【发布时间】:2021-06-09 02:49:10
【问题描述】:

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

我正在尝试的是固件的部分更新。我将在特定的闪存扇区上指定部分固件(如功能),并仅更新该扇区,因此我不需要擦除和写入整个闪存。

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

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

【问题讨论】:

  • 是的,您可以写入闪存。直接在 ARM Arduinos 和现代 AVR Arduinos 上。在经典 AVR 上,Optiboot 引导加载程序具有此功能

标签: arduino firmware stm32f4discovery


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-11
    • 1970-01-01
    • 2012-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多