工具与软件:
我需要在 CLA 中运行大约7KB 的代码、因此我在链接文件中重新分配了闪存和 RAM 区域、但程序在 CLA 内存初始化位置直接崩溃。 如何针对这种情况配置链接文件?
上图:程序 停止位置(由 syscfg 生成的代码)
上图:CLA 相关存储器和闪存分配
上图:syscfg 中的存储器分配
上图:链接文件中的 CLA 内存和闪存分配
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.
工具与软件:
我需要在 CLA 中运行大约7KB 的代码、因此我在链接文件中重新分配了闪存和 RAM 区域、但程序在 CLA 内存初始化位置直接崩溃。 如何针对这种情况配置链接文件?
上图:程序 停止位置(由 syscfg 生成的代码)
上图:CLA 相关存储器和闪存分配
上图:syscfg 中的存储器分配
上图:链接文件中的 CLA 内存和闪存分配
您好!
您能确认您使用 EABI 进行编译吗? 要检查此设置、请右键点击工程>> Properties >> Build >> C2000 Compiler 并检查"Summary of flags Set"列表中的--abi=eabi 标志。 另一种测试此情况的方法是在第一个#if 内特意添加一个拼写错误、并确保抛出构建错误-这可以验证链接器是否正在进入预期的条件。
您是否还可以尝试改用将存储器分组为连续的 MEMORY 指令、而不是在段内部进行分组? 分配更大的存储器时、这是更好的方法(请参阅 此处的线程)。 为此、只需将两条 LSRAM 存储器指令合并为一条指令(也可将其重命名)、然后将 length 属性设为跨越到 第二个 LSRAM 的末尾。 然后、您可以使用新命名的 MEMORY 指令作为 Cla1Prog 的运行地址。 您也可以对闪存的两个区域执行相同的操作、并将该 MEMORY 指令用于 Cla1Prog 加载。
此致、
Delaney