器件型号:C29-CGT
大家好!
编译器会针对以下情况创建类似的常量:
- 跳转表=>位于“.rodata 段。 “
- switch table =>位于“.rodata..Lswitch.table 部分。 “
- string =>位于“.rodata.str1 段。 .1“
客户认为与这些常数相关存在一些限制。
首先、当使用“#pragma CLANG section rodata=“.rodata 时。 “"对于“对于函数、编译器创建的“.rodata"不“不使用“.rodata 段。 “。 这是一个巨大的限制、因为它不允许像对“.text"段“段那样将这些输入段映射到链接器命令文件中的适当输出段。
以下是该代码的“#pragma 部分“示例:
#pragma CLANG section text=“.text.PROJ_ON SEC_CODE_LOCAL_CPU1“ rodata=“.rodata.PROJ_ON SEC_CODE_LOCAL_CPU1“ bss=“.bss.PROJ_ON、PROJ_ON SEC_CODE_LOCAL_CPU1“ data=“.data.PROJ_ON CODE_LOCAL_CPU1“
如果上述问题无法解决:对于跳转表、段的名称不包含关键字、例如开关表的“.Lswitch.table"或“或字符串的“str1",“,这、这使得这些输入段在文件级别或独立于文件进行映射变得不可能、因为必须独立考虑每个函数
您能针对上述问题提出解决方法吗? 此外、是否还有其他方案会在列出的 3 个方案(跳转表,交换表,字符串)上出现相同问题?
此致、
François μ s。