线程中讨论的其他部件:SysBIOS, TMS320F2.8377万S
工具/软件:TI C/C++编译器
亲爱的朋友们:
我正在通过通信对377D控制器进行闪存编程。 相应地修改命令文件,需要将Flash API库文件(.obj文件)复制到RAM。 但在建筑物下方时,会显示警告。
"无匹配部分"。
我在链接程序属性中检查了文件搜索路径,这也是正常的。
我陷入了这个问题,因为从库中为那些.obj文件分配了内存。 请帮助。
提前感谢!
Raghuchandar。
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.
工具/软件:TI C/C++编译器
亲爱的朋友们:
我正在通过通信对377D控制器进行闪存编程。 相应地修改命令文件,需要将Flash API库文件(.obj文件)复制到RAM。 但在建筑物下方时,会显示警告。
"无匹配部分"。
我在链接程序属性中检查了文件搜索路径,这也是正常的。
我陷入了这个问题,因为从库中为那些.obj文件分配了内存。 请帮助。
提前感谢!
Raghuchandar。
要了解我的答案,请阅读Wiki文章 链接器命令文件入门的前半部分。
诊断程序...
Raghuchandar Rajula 说:"没有匹配的部分"。[/QUOT]
应该有与其关联的行号。 这意味着,对于链接程序命令文件的该行,找不到与规范匹配的输入部分。
Raghuchandar Rajula 说:内存未分配给库中的这些.OBJ文件。[/QUOT]
这些目标文件中的任何代码或数据是否在任何地方使用? 检查映射文件中是否存在库名称。
谢谢,此致,
-George
当您要按特定顺序分配彼此相邻的多个输出部分时,将使用组。 您显示的组只有一个输出部分。 因此,您不需要组。
此输入部分语法...
[报价用户="maurywalters"]{-l F021_API_F2837xD_FPU32.lib}[/报价]
.虽然合法,但不寻常。 这意味着分配该库中的所有输入节(.text,.data等)。 你更可能想写...
ramfuncs
{
-l F021_API_F2837xD_FPU32.lib(.text)
}
load = FLASHD,
run = D01SARAM,
load_start(_RamfuncsLoadStart),
load_size(_RamfuncsLoadSize),
load_end(_RamfuncsLoadEnd),
run_start(_RamfuncsRunStart),
run_size (_RamfuncsRunSize),
run_end (_RamfuncsRunEnd),
page = 0
这表示只有库中的.text部分(包含代码)分配在此输出部分。
谢谢,此致,
-George
George,
啊,我忘记了必须重命名命令文件,现在 附加了,注意我已注释掉了部分链接库。
地图附带了注释在中的部分,但它似乎 未将库与警告链接。
e2e.ti.com/.../2313.TMS320F28377S_5F00_NO_5F00_APPL.txt</s>2.8377万
George,
这是有用的信息,但是 我在文件中有代码,调用了我假定为示例应用程序中使用的f2.8377万S的闪存API。
当我在中注释该代码时,除了没有匹配部分之外,它将不会链接应用程序,因此我无法获取地图文件,我将获得以下未解析的外部内容
说明 资源 路径 位置 类型
链接期间遇到#1.001万错误;“RFC.Out”未构建 NGEN控制器 C/C++问题
<a href="file:/c:/ti/ccsv6/tools/compiler/dMED/HTML/1.0234万.html">#10234-D</A> 未1.0234万未解析的符号仍然是 NGEN控制器 C/C++问题
未解析的符号Fapi_initializeAPI(volatile,首先引用在FMC_Registers NGEN控制器 C/C++问题中
未解析的符号Fapi_setActiveFlashBank(Fapi_FlashBankType),首先引用于./UnloadApp.obj NGEN控制器 C/C++问题
这些函数在Flash API 包含文件F021.h中列出,并在示例应用程序中发布
此外 ,调用闪存API的函数也在应用程序中引用。
如果对调用进行注释并允许应用程序链接,我可以在它们中设置断点。
为了验证这一点,我在main中实例化了对象,并运行到代码,如果在中对其进行了注释,则该代码将调用Flash API。
Maury
我不确定如何解释错误诊断。 它是编译器输出和CCS中“问题”视图格式化的混乱组合。 下次请从控制台视图复制并粘贴编译器输出。
也就是说,我认为这意味着代码调用函数 Fapi_initializeAPI和 Fapi_setActiveFlashBank,但无法找到这些函数的实现。 通常,这意味着链接程序看不到包含这些函数的库。 这毫无意义。 但这是我理解它的唯一方式。
谢谢,此致,
-George