主题中讨论的其他器件:C2000WARE、
我们有一个成熟的从 F28335移植到 F27389D DSP 的应用。 尽可能使用 C2000ware 库对 F28379D 处理器上的片上和片外外设进行初始化和访问。 我们使用的是 CCS 版本12.4、C200ware 版本4.01和编译器版本22.6。
我遇到了一个明显的编译器或链接器问题。 我已经创建了2个构建配置、都是针对 JTAG 上的调试会话创建的。 一种配置使用 GPIO 分配、以备在新产品发布时用于专有电路板设计。 另一个用于在我们用来调试应用的 LaunchXL-F28379D 演示板上运行代码、直到专有板送达为止。 两个构建配置之间的唯一显著差异是 GPIO 引脚分配、该引脚分配在2个目标板之间是不同的。
使用新硬件的编译配置时、标准 C2000ware 初始化逻辑工作正常。 在 LaunchXL 板的构建配置上、C2000ware 函数 InitGpio 的入口点会出现6个 ITRAP 指令、之后会显示应位于入口点的目标代码。 我有一个来自 CCS 调试会话的屏幕截图、其中显示了在两种情况下反汇编的 InitGpio 入口点。
我已经在两个构建配置中使用了编译器指令--gen_func_subsections=on。 两个编译配置的链接器命令文件对所有 Page 0存储器块使用 Align (8)指令。
什么可能导致这种差异、如何解决它?