error #10234-D: unresolved symbols remain and error #10010: errors encountere... - AM57x - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5256|回复: 3

[已解决] error #10234-D: unresolved symbols remain and error #10010: errors encountere...

[复制链接]

4

主题

11

帖子

1152

积分

金牌会员

Rank: 6Rank: 6

积分
1152
发表于 2018-1-4 10:36:14 | 显示全部楼层 |阅读模式
您好,使用的开发板为AM5728,CCS版本为6.1.3。
我创建了一个DSP平台的BIOS工程,想进行点亮LED灯的实验,所以我先进行了使能工作,在调用Board_init()时出现了现在的问题。我的代码如下:
/* XDCtools Header files */
#include <xdc/std.h>
#include <xdc/cfg/global.h>
#include <xdc/runtime/Error.h>
#include <xdc/runtime/System.h>
/* BIOS Header files */
#include <ti/sysbios/BIOS.h>
#include <ti/sysbios/knl/Task.h>
#include <stdio.h>
/* TI-RTOS Header files */
#include <ti/drv/gpio/GPIO.h>
#include <ti/drv/gpio/soc/GPIO_soc.h>
#include "GPIO_board.h"
#include <ti/board/board.h>
/*
* ======== Board_initI2C ========
*/
static void Board_initGPIO(void) {
Board_initCfg boardCfg;
boardCfg = BOARD_INIT_PINMUX_CONFIG | BOARD_INIT_MODULE_CLOCK
| BOARD_INIT_UART_STDIO;
Board_init(boardCfg);
}
/*
* ======== taskFxn ========
*/
Void taskFxn(UArg a0, UArg a1)
{
System_printf("enter taskFxn()\n");
Task_sleep(10);
System_printf("exit taskFxn()\n");
System_flush(); /* force SysMin output to console */
}
/*
* ======== main ========
*/
Int main()
{
Task_Handle task;
Error_Block eb;
System_printf("enter main()\n");
/* Call board init functions */
Board_initGPIO();
Error_init(&eb);
task = Task_create(taskFxn, NULL, &eb);
if (task == NULL) {
System_printf("Task_create() failed!\n");
BIOS_exit(0);
}
BIOS_start(); /* does not return */
return(0);
}
然后在编译过程中出现了如下信息:
'Building target: test_led1.out'
'Invoking: C6000 Linker'
"E:/CCS/ccsv6/tools/compiler/ti-cgt-c6000_8.1.0/bin/cl6x" -mv6600 -g --define=am5728 --define=SOC_AM572x --define=EVM_AM572x --define=USE_BIOS --define=C66X --define=NSS_GEN2 --define=core1 --diag_warning=225 --diag_wrap=off --display_error_number -z -m"test_led1.map" --heap_size=0x800 --stack_size=0x800 -i"E:/CCS/ccsv6/tools/compiler/ti-cgt-c6000_8.1.0/lib" -i"E:/CCS/ccsv6/tools/compiler/ti-cgt-c6000_8.1.0/include" --reread_libs --define=CORE1=1 --diag_wrap=off --display_error_number --warn_sections --xml_link_info="test_led1_linkInfo.xml" --rom_model -o "test_led1.out" "./GPIO_board.obj" "./main.obj" -l"configPkg/linker.cmd" -llibc.a
<Linking>
undefined first referenced
symbol in file
--------- ----------------
Board_init ./main.obj
error #10234-D: unresolved symbols remain
error #10010: errors encountered during linking; "test_led1.out" not built
>> Compilation failure
makefile:140: recipe for target 'test_led1.out' failed
gmake: *** [test_led1.out] Error 1
gmake: Target 'all' not remade because of errors.
**** Build Finished ****
可以确定的是头文件board.h是正确包含的,并且Board_init()在里面是有声明的。找到一些信息是说要关联相关的.c文件,但是我不清楚具体该怎么办。请问这种问题是怎么造成的,该怎么解决呢?非常感谢!

回复

使用道具 举报

44

主题

368

帖子

2894

积分

创龙

Rank: 8Rank: 8

积分
2894
发表于 2018-1-9 20:30:01 | 显示全部楼层
您好,riguangdeng
这是您自己编写开发的例程吗?我们建议您还是参考我们广州创龙为您提供的例程进行测试。
回复 支持 反对

使用道具 举报

4

主题

11

帖子

1152

积分

金牌会员

Rank: 6Rank: 6

积分
1152
 楼主| 发表于 2018-3-4 16:27:05 | 显示全部楼层
问题已经解决,根据提示信息,出现该问题是因为程序中使用的“Board_init()”函数对应的库文件没有添加到工程中。通过在.cfg文件中加入如下语句进行库文件添加:
var Board = xdc.loadPackage('ti.board');
从而解决当前问题,之后用同样的方法添加所需的其他库文件既可。
回复 支持 反对

使用道具 举报

44

主题

368

帖子

2894

积分

创龙

Rank: 8Rank: 8

积分
2894
发表于 2018-8-13 14:10:46 | 显示全部楼层
感谢您的分享!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2024-3-28 23:13 , Processed in 0.035441 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

快速回复 返回顶部 返回列表