工具与软件:
您好!
在我们的项目中、我们使用 MPU 区域将任务的存储器区域相互隔离。
到目前为止、我们 通过在每个.c 文件中使用#pragma SET_DATA_SECTION 意识到了这一点。 稍后在链接器阶段、将整个段分配到 RAM 位置。 请在此处查找一个示例
/* test.c file*/
#pragma SET_DATA_SECTION("test_section")
uint8 testData;
const uint8 testConstData;
#pragma SET_DATA_SECTION()
/* END test.c file*/
/*sys_link.cmd file */
MEMORY
{
RAM (RW) : origin=0x08002000 length=0x0003C000
}
SECTIONS
{
test_section : START( StartAdrTestSection )
{} > RAM palign( 0x20 )
}
/*End sys_link.cmd file */
在这种方法中、常量数据和 RAM 数据进入相同的 RAM 存储器区域。
您能否提出一种解决方案、在链接器文件中、我可以从段标识符 test_section 中提取 ram 和 const 数据。
替代方法:
我尝试了手动处理单个文件的解决方案、但没有成功、我有来自链接器的以下消息
警告:没有匹配的部分
/* sys_link.cmd file */
testData : {
test*(.data)
} > RAM
我不确定如何获取该区域的起始地址和大小、即使替代方法可行也是如此。 执行命令 启动 和 大小 兼容这种方法?
提前感谢。



