首页 > 解决方案 > atollic stm32如何防止某些地方的flash闪退?

问题描述

我正在使用闪存的最后几页来存储一些参数,如下所示:

__attribute__((__section__(".storageFlash"))) Parameters flashParameters;

Flash分为两部分:

FLASH (rx)              : ORIGIN = 0x08000000, LENGTH = 510K
FLASH_STORAGE (rx)  : ORIGIN = 0x0807F800, LENGTH = 2K

...

.storageFlash :
{
    . = ALIGN(4);
    *(storageFlash)
    . = ALIGN(4);
} >FLASH_STORAGE

为了使调试更容易,我想在每次调试(= flash)一个新的二进制文件时保护这些页面不被覆盖。

有什么办法?我使用 Atollic 作为 STM32 环境。

标签: stm32linker-scriptsflash-memory

解决方案


添加到部分定义:(NOLOAD)

.storageFlash (NOLOAD) :
{
    . = ALIGN(4);
    *(storageFlash)
    . = ALIGN(4);
} >FLASH_STORAGE

推荐阅读