c - 使用 XC32 预留闪存空间
问题描述
我正在为ATSAM
使用MPLAB X
和XC32
编译器的设备编写代码。这个设备有 1Mbytes 的闪存,我需要分开 200kBytes 作为配置脚本的占位符(主代码将执行这个脚本)。
我试图在不弄乱链接器的情况下做到这一点。这就是我正在做的事情:
#pragma region name="plan_mem" origin=0xce000 size=0x32000
typedef struct {
uint16_t version;
//.... very long structure....
} Plan;
const Plan plan __attribute__((region("plan_mem"))) = {
0x1, //....
};
虽然代码仍然有效,但我确实收到了来自编译器warning: 'region' attribute directive ignored [-Wattributes]
的警告:最终地址确实被忽略了。
既然它来自 XC32 手册,为什么它被忽略了?
还有其他方法可以达到同样的效果吗?
解决方案
推荐阅读
- java - 将屏幕截图加载到 Mat 中
- python - 如何将矩阵的每一行复制N次Numpy
- apache - 301 问题与同一网站空间上的 2 个 URL
- c - Wait() 函数导致分段错误(核心转储)
- mongoose - 如何通过查找获取另一个集合的信息
- c++ - Boost Test Framework:有什么方法可以回溯 SIGSEV?
- android - 如何在图像上添加相框?
- autodesk-forge - Prevent Conversion of same Drawing file to svf File again when Forge Viewer is called
- ios - Xcode 10: Load the same .xml file in project target and unit test target
- swift - @available 需要重命名帮助