大家好、
我尝试在 F28388D CM 上使用 SYS/BIOS、同时使用 driverlib_cm 库、但似乎存在冲突。
首次构建应用程序时、我遇到链接器错误:
#10010 errors encountered during linking; "cm_app.out" not built cm_app C/C++ Problem <a href="file:/C:/ti/ccs1100/ccs/tools/compiler/dmed/HTML/10234.html">#10234-D</a> unresolved symbols remain cm_app C/C++ Problem gmake: *** [all] Error 2 cm_app C/C++ Problem gmake[1]: *** [cm_app.out] Error 1 cm_app C/C++ Problem unresolved symbol vectorTableFlash, first referenced in ./device/cm.obj cm_app C/C++ Problem
然后我#define USE_RTOS、这样矢量表闪存部分将不会在 driverlib_cm/interrupt.c 中定义 但是、我遇到了编译错误、因为 interrupt.h 中仍然使用了 vectorTableRAM 和 Interrupt_DefaultHandler 我的 driverlib_cm.h 中始终包含 interrupt.h (#include 的所有 driverlib_cm *。h 文件)。
#20 identifier "Interrupt_defaultHandler" is undefined interrupt.h /cm_app/device/driverlib_cm/driverlib_cm line 463 C/C++ Problem #20 identifier "vectorTableRAM" is undefined interrupt.h /cm_app/device/driverlib_cm/driverlib_cm line 463 C/C++ Problem
是否可以简单地不包含"interrupt.h"? 还是从 interrupt.h 中禁用/删除 Interrupt_unregisterHandler()函数? 通常、在使用 SYS/BIOS 时、不应使用哪些 driverlib_cm 函数?
在我看来、我应该能够在 CM 应用程序中同时使用 SYS/BIOS 和 driverlib_cm、但是看起来某些 driverlib_cm 代码仍然缺少"ifndef use_rtos"条件。 我是对的吗?
另一个问题:
当使用 SYS/BIOS 时、我是否仍然需要在初始化代码中执行这一行代码、或者 SYS/BIOS 是否处理这行代码?
memcpy(&RamfuncsRunStart, &RamfuncsLoadStart, (size_t)&RamfuncsLoadSize);
谢谢、此致、
Arjan