这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 单串口加载vxworks时编译错误的解决方案

共2条 1/1 1 跳转至

单串口加载vxworks时编译错误的解决方案

菜鸟
2005-10-28 07:37:42     打赏

问题描述:
pentium平台下,单串口加载vxworks在改写config.h后出现bootrom无法编译的情况。编译器在链接时报错


ldpentium -o tmp.o -X -N -e usrInit \
-Ttext 00108000 bootConfig.o version.o sysALib.o sysLib.o \
--start-group -Ld:\Tornado2.2pentium\target/lib/pentium/PENTIUM/gnu -Ld:\Tornado2.2pentium\target/lib/pentium/PENTIUM/common -lcplus -lgnucplus -lvxcom -lvxdcom -larch -lcommoncc -ldrv -lgcc -lnet -los -lrpc -ltffs -lusb -lvxfusion -lvxmp -lvxvmi -lwdb -lwind -lwindview d:\Tornado2.2pentium\target/lib/libPENTIUMgnuvx.a --end-group \
-T d:\Tornado2.2pentium\target/h/tool/gnu/ldscripts/link.RAM
d:\Tornado2.2\target/lib/pentium/PENTIUM/common/libwdb.a(wdbDbgLib.o): In function `wdbDbgBpRemoveAll':
wdbDbgLib.o(.text+0x18c): undefined reference to `usrBreakpointSet'
d:\Tornado2.2\target/lib/pentium/PENTIUM/common/libwdb.a(wdbDbgLib.o): In function `wdbDbgBpRemove':
wdbDbgLib.o(.text+0x1e6): undefined reference to `usrBreakpointSet'
make: *** [bootrom.Z.s] Error 0x1

解决:
而这个错误是由于配置单串口加载vxworks而在config.h中加入#define INCLUDE_TSFS_BOOT一行引起的。(参见http://bbs.edw.com.cn/dispbbs.asp?boardID=3&ID=37868&page=1 一帖)

根据提示在d:\Tornado2.2\target/lib/pentium/PENTIUM/common/libwdb.a查找发现,usrBreakpointSet的Symbol Type为U,也就是undefined。在src目录中查找发现该函数定义于src\config\usrBreakpoint.c

因此将target\config下的all文件夹拷至BSP目录下,并在BSP的Makefile中加入CONFIG_ALL=$(TGT_DIR)\config\YOUR_BSP_NAME\all,指定使用bsp下的all文件夹。之后在拷贝过来的all文件夹下的bootconfig.c中加入
#include "wdb/wdbDbgLib.h"
#include "../../src/config/usrBreakpoint.c"

保存,编译,通过




关键词: 单串口     串口     加载     vxworks     编译     错误         

菜鸟
2006-03-22 17:56:00     打赏
2楼

最后好用么??


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]