您好!
我在使用的CCS版本为12.2.0,软件包C2000WARE版本5.04,syscfg版本1.22.0。我想要在一个已经比较完善的程序中加入新的配置,将GPIO15配置为OUTPUTXBAR4,然后利用CLB模块输出PWM波形。
我先是修改了官方例程:C:\ti\c2000\C2000Ware_DigitalPower_SDK_5_04_00_00\c2000ware\driverlib\f28004x\examples\clb。我首先将例程中的输出引脚改为OUTPUTXBAR4。原例程中只对PWM波形的占空比进行了控制,为了实现对输出波形周期和占空比的同时控制,再在HLC模块加入新的写入事件
然后在主函数中加入对HLC R1寄存器的写入:
运行后可以按照设置的周期和占空比输出PWM波形。接下来将这样的配置转移到之前的程序中,我的方法是先把例程syscfg文件复制粘贴到我的原项目文档中,编译后自动生成大部分需要的文档,然后将主函数内的程序复制到我的原项目中。当我将主程序中的Board_init();转移之后,程序编译开始报错:
>> Compilation failure
makefile:161: recipe for target 'pfc2philtrmttpl_F28004x.out' failed
undefined first referenced
symbol in file
--------- ----------------
GPIO_setControllerCore ./syscfg/board.obj
error #10234-D: unresolved symbols remain
error #10010: errors encountered during linking; "pfc2philtrmttpl_F28004x.out" not built
gmake[1]: *** [pfc2philtrmttpl_F28004x.out] Error 1
makefile:157: recipe for target 'all' failed
gmake: *** [all] Error 2
之后我做了如下尝试:
1.搜索以GPIO_setControllerCore为名的函数,发现例程程序中在device/driverlib/gpio.c与gpio.h中提到了它,而我的原项目的gpio.c与gpio.h中没有相关语句。我将这两个文件用例程中的同名文件覆盖掉再编译,依旧报同样的错误。
2.将语句Board_init();屏蔽掉,编译不再报错,但下载不输出波形。
3.在syscfg中将gpio口配置取消,编译不再报错,但下载不输出波形。
4.不使用例程文件复制粘贴,而是在原项目文件中新建syscfg文件一步一步设置,报错依旧存在。
请问这样的移植步骤是正确的吗?我应该如何解决这个报错?
您好,
请按此更新版本。
software-dl.ti.com/C2000/c2000_apps_public_sw/c2000ware/5_04_00_00/release_notes.html
已有工程的sysconfig支持请参考