你好!
我用的仿真软件是CCS5.4,spi驱动程序是biospsp_03_00_01_00,加载完成编译出现以下错误:
undefined first referenced
symbol in file ——— —————-
>> Compilation failure
_EDMA3_DRV_clearErrorBits ./Spi_edma.obj _EDMA3_DRV_disableLogicalChannel ./Spi_edma.obj _EDMA3_DRV_enableTransfer ./Spi_edma.obj _EDMA3_DRV_freeChannel ./Spi_edma.obj _EDMA3_DRV_getPaRAM ./Spi_edma.obj _EDMA3_DRV_requestChannel ./Spi_edma.obj _EDMA3_DRV_setOptField ./Spi_edma.obj _EDMA3_DRV_setPaRAM ./Spi_edma.obj _Gpio_setPinVal ./Spi.obj
请帮我看看是怎么回事!谢谢
Tony Tang:
是EDMA的库的路径不对,没找到库,确认一下编译选项里库的搜索路径。
你用的是最新版本的CCS,可能在导入工程时对以前版本CCS生成的工程有些不兼容。
sophia wei1:
回复 Tony Tang:
你好!
我的CCS版本是CCS5.3.0.00090_win32,将pspdrivers_01_30_01中的spi工程文件当做3.3工程移植进去时,作为一个单一的工程文件,编译时可以通过的,所以应该不是兼容的问题。当我用biospsp_03_00_01_00,将spi中的源文件移植到其他工程文件中,所有的用到的函数库加入INCLUDE选项下,并在LINKER搜索文件目录下,加入了包含以下这些参数的文件目录,
<Linking>
undefined first referenced symbol in file ——— —————- _EDMA3_DRV_clearErrorBits ./Spi_edma.obj _EDMA3_DRV_disableLogicalChannel ./Spi_edma.obj _EDMA3_DRV_enableTransfer ./Spi_edma.obj
>> Compilation failure _EDMA3_DRV_freeChannel ./Spi_edma.obj _EDMA3_DRV_getPaRAM ./Spi_edma.obj _EDMA3_DRV_requestChannel ./Spi_edma.obj _EDMA3_DRV_setOptField ./Spi_edma.obj _EDMA3_DRV_setPaRAM ./Spi_edma.obj _Gpio_setPinVal ./Spi.obj
但是编译还是出现这个错误,有点搞不懂了。请求帮助,谢谢!
Tony Tang:
回复 sophia wei1:
就是库没加进来。
确认一下Linker下除了include之外,还有library的名字,也可以直接用绝对路径把库加进来。
或者对比一下单独导入的工程的库的路径的设置。