今天在用IAR编译uCOS时,出现15个类似下面的错误,
Error[Li005]: no definition for "SysCtlClockSet" [referenced from E:\DEMO1\Object\debug\Obj\Target.o]
Error[Li005]: no definition for "SysCtlClockSet" [referenced from E:\DEMO1\Object\debug\Obj\Target.o]
Error[Li005]: no definition for "SysCtlClockGet" [referenced from E:\DEMO1\Object\debug\Obj\Target.o]
Error[Li005]: no definition for "SysTickPeriodSet" [referenced from E:\DEMO1\Object\debug\Obj\Target.o]
Error[Li005]: no definition for "SysTickEnable" [referenced from E:\DEMO1\Object\debug\Obj\Target.o]
Error[Li005]: no definition for "SysTickIntEnable" [referenced from E:\DEMO1\Object\debug\Obj\Target.o]
----------------------------------------------------------
在网上找了半天,终于在周立功论坛上找到答案了。
周立功的工作人员回答:
您们好:
举个例子,错误如下:
Error[Li005]: no definition for "SysCtlClockSet" [referenced from E:\DEMO\Object\debug\Obj\Target.o]
该错误的的意思是说Target.c文件里面调用的SysCtlClockSet这个函数没有定义,而这个函数在sysctl.h里面有声明。这里出现该错误的原因有以下两个:
1、Target.c文件没有包含sysctl.h这个函数;
2、没有正确添加库文件,即diverlib.a文件,可去掉旧的(即工程里带的那个),然后重新添加。
--------------------------------------------------------------------
问题正是出在库文件上,模板里使用的是driverlib.r79,将它改成driverlib.a即可,路径是C:\Program Files\IAR Systems\Embedded Workbench 5.4\arm\lib\Luminary
记下来免得自己以后忘了 |
|