工具与软件:
您好!
我有一个供 TMS320F28379D 的两个 CPU 使用的库(F021)。 两个 CPU 使用库中的相同函数子集、并且库在闪存中具有加载地址、在 RAM 中具有运行地址。
现在、为了节省一些闪存存储器、我需要一个 CPU (本例中为 CPU2)将库包含在闪存中、并将库复制到 RAM 中(如往常一样)。 由于两个 CPU 都无法执行共享 RAM (遗憾的是)、共享库的一个副本(例如)进入 GS0、另一个副本将复制到 GS1。 现在、由于两个副本具有不同的运行地址、我至少必须调整副本中的。
我目前的方法是将库链接两次成输出文件、使用不同的运行地址、将这两个文件转换成一个十六进制文件、然后使用手写工具在这两个十六进制文件上创建一个差异。 差异以 C 数组的形式写入到文本文件中。 然后、CPU2将与共享库的一个副本(例如、使用 CPU1的加载地址)和 C 数组链接、其中包含各展位版本之间的差异。 在启动期间、CPU2将共享库复制到 GS0和 GS1、并将差异应用于 GS1。
问题:只需使用 TI 提供的工具就可以解决这个问题吗? 我已经阅读了所有涵盖 --relocatable 选项的链接器文档、但有足够的详细信息可以查看、如果这样、我可以检索共享库中的代码位置表、如果库的运行地址发生更改、需要更正该表。
此致、请提前表示感谢、
Torsten