工具/软件:
我正在尝试使用系统配置工具(.syscfg 文件)在内部闪存中定义 NVS 区域。
其思路是在定义程序区域 (.text、.rodata、...) 后使用剩余的可用内存、并将其拆分在不同区域之间。
例如:
区域 A =剩余闪存的 1/3
区域 B =剩余闪存的 2/3
我的问题是,在整个程序的开发过程中,我的程序使用的闪存可能有所不同。
这会导致出现以下错误:
区域`闪存'溢出 88 个字节
是否有方法可以根据闪存中的剩余空间将我的 NVS 区域定义为“动态“?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:
我正在尝试使用系统配置工具(.syscfg 文件)在内部闪存中定义 NVS 区域。
其思路是在定义程序区域 (.text、.rodata、...) 后使用剩余的可用内存、并将其拆分在不同区域之间。
例如:
区域 A =剩余闪存的 1/3
区域 B =剩余闪存的 2/3
我的问题是,在整个程序的开发过程中,我的程序使用的闪存可能有所不同。
这会导致出现以下错误:
区域`闪存'溢出 88 个字节
是否有方法可以根据闪存中的剩余空间将我的 NVS 区域定义为“动态“?
您好:
感谢您的回答。
由于我需要使用闪存中的最大可用内存量、因此我使用了以下方法:
-我定义了我的 NVS 区域,以一种使用整个闪存的方式。
-编译器给了我一个错误:“区域`flash '溢出 N 字节“。
-我用这个 N 字节的值来计算我的 NVS 区域大小的方式如下:
NVS 区域总大小=闪存大小 — 1.5*N
1.5 系数用于缓冲区面积为代码大小的 50%、以避免每次修改代码时都不得不重新计算 NVS 区域。
此致、
科伦廷