首页 > 解决方案 > 如何分配空闲闪存区域(IAR下的STM32)

问题描述

在目标上的代码闪存期间,我将数据存储到特定地址的闪存中,并在代码运行时更新(有时)这些数据。

我选择的内存地址是默认的,只是因为它是免费的(代码的任何部分都没有存储在那里)。

问题
我已经对代码进行了一些更新,编译器/链接器现在将部分代码存储在同一个闪存页面上,就在我故意存储的数据旁边,这不能让我重写数据,因为我需要为此拳头擦除页面..

我刚刚将我的数据放在另一个空闲的地方和页面上,现在可以了,但我想知道如何“预订”页面(或闪存区域),然后告诉编译器/链接器不要使用它来存储代码(但仍可用于数据)。

注意:它适用于 STM32F030K6T6,我正在使用 IAR。

标签: freeallocationflash-memorystm32f0

解决方案


使用分散文件。将数据存储在向量表之后的部分中。将 cod 放在您的数据之后。数据将始终位于相同的地址。代码将位于它之后。


推荐阅读