主题中讨论的其他器件:CC1310
工具/软件:Code Composer Studio
大家好、
我的客户请求将整个.c 代码文件编译结果修复为固定的闪存地址、我认为应该在.cmd 文件中完成。
在此用例中、我可以参考的.cmd 文件修改的任何示例或格式? 我假设它应该位于.cmd 文件中的 SECTION / GROUP define 中、对吗?
TI 器件是 CC1310、但我相信它与之无关、它可以是任何器件。
谢谢!
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.
工具/软件:Code Composer Studio
大家好、
我的客户请求将整个.c 代码文件编译结果修复为固定的闪存地址、我认为应该在.cmd 文件中完成。
在此用例中、我可以参考的.cmd 文件修改的任何示例或格式? 我假设它应该位于.cmd 文件中的 SECTION / GROUP define 中、对吗?
TI 器件是 CC1310、但我相信它与之无关、它可以是任何器件。
谢谢!
我想重申这个问题、以确保我正确理解它。 您的客户希望将所有函数从一个 C 源文件分配到闪存存储器中的特定地址。 是这样吗? 现在、我认为是这样。
有关链接器命令文件的一般背景信息、请阅读文章 链接器命令文件入门。
有多种方法可以实现它。 我认为这是最直接的。
在链接器命令文件的 SECTIONS 指令中,有一个类似于...的条目。
专用输出段 { name_of _file.obj (.text) } > SPECIAL _MEMORY_RANGE
这会形成一个名为 SPECIAL OUTPUT SECTION 的输出段。 它包含一个输入段、即目标文件 name_of _file.obj 中的.text 输入段。 它被分配给 SPECIAL _MEMORY_RANGE 中的一个地址。 在 MEMORY 指令中指定了 SPECTRY_MEMORY_RANGE (本示例中未显示)。 如果需要、将 SPECIFIC_MEMORY_RANGE 替换为硬编码地址、如0x4000。
谢谢、此致、
乔治
尊敬的乔治:
为了更加准确、不仅要使用函数、还要将一个 C 源文件中的所有变量都添加到闪存存储器中的特定地址。
我尝试了一些东西、从输出.map 文件中看、它正常工作:将 sensor.c 函数和变量放入闪存地址、从 FLASH_SENSOR 开始、长度为0x2000 (在.cmd 文件的开头定义、而不是粘贴在此处)
组 { sensor_code{sensor.obj} } LOAD = FLASH_SENSOR
对您来说、它是否正常? 还有其他需要注意的事项吗?
谢谢!