求解workbench3.0 for ppc下,安装vxworks6.6下PPC RDB8323安装包,编译工程报错问题;

ARMYUN1981 2014-03-30 10:40:13
劳烦各位大神:
我在workbench for ppc下装了个RDB8323的BSP包,安装的过程除了选择一下workbench的安装路径外,一路界面到底,并没有什么异常。打开安装包中的readme.txt,内容如下:
/*----------------------------------------------------------------------------------------------------------------------------------

IMPORTANT!!! Read the following carefully before installing this BSP package.

This version of BSP will install the following driver files as well as the BSP.

target/config/comps/src/hwif/vxbUccEnd.dc
target/config/comps/src/hwif/vxbUccEnd.dr
target/config/comps/src/hwif/icp175cPhy.dc
target/config/comps/src/hwif/icp175cPhy.dr
target/config/comps/src/hwif/uccMdio.dc
target/config/comps/src/hwif/uccMdio.dr

target/config/comps/vxWorks/40vxbUccEnd.cdf
target/config/comps/vxWorks/40mii.cdf

target/src/hwif/end/vxbUccEnd.c
target/src/hwif/h/end/vxbUccEnd.h
target/src/hwif/end/Makefile
target/src/hwif/mii/icp175cPhy.c
target/src/hwif/mii/uccMdio.c
target/src/hwif/mii/Makefile
target/src/hwif/h/mii/icp175cPhy.h
target/src/hwif/h/mii/uccMdio.h
target/src/hwif/busCtlr/m83xxPci.c
target/src/hwif/busCtlr/usb/hcd/ohcd/usbOhci.c

Pre-Installation Requirement:

1) The BSP is assumed to be installed in a clean installation.
Any following files updated or patched after original installation,
for example, changed by BSP or SMP performance patch, should be backed up.
So you can undo the install if necessary.

target/src/hwif/end/Makefile
target/src/hwif/mii/Makefile
target/src/hwif/busCtlr/m83xxPci.c
target/src/hwif/busCtlr/usb/hcd/ohcd/usbOhci.c
target/config/comps/vxWorks/40mii.cdf


Post Installation Steps:

1) Build instructions for architecture files outside of the BSP:
A build of the updated architecture lib installed is necessary.
In the VxWorks Development Shell, go to '$WIND_BASE/target/src/arch'.
Run the command:

make CPU=PPC32 TOOL=sfdiab

This will update the architecture lib into the corresponding libraries.

2) Remove old driver object from archive libraries in order to update new driver:
In the VxWorks Development Shell, go to '$WIND_BASE/target/lib/ppc/PPC32/sfcommon'.
Run the command:

arppc -d libdrv.a vxbUccEnd.o

This will remove old vxbUccEnd.o from driver archive libraries libdrv.a.

3) Build instructions for driver files outside of the BSP:
A build of the updated drivers installed is necessary.
In the VxWorks Development Shell, go to '$WIND_BASE/target/src/hwif'.
Run the command:

make CPU=PPC32 TOOL=sfdiab

This will archive the updated drivers into the corresponding libraries.

4) For project builds to work you should close Workbench if you are using it.
Next remove the file 'target/config/comps/vxWorks/CxrCat.txt'.
You may now restart Workbench and create vxWorks image projects based
on the new BSP.

5) For command line builds to work you should rebuild 'target/config/all/vxbUsrCmdLine.c'.
First remove the old vxbUsrCmdLine.c. You should consider backing it up,
so you can restore to use the old version if necessary.
Next open the vxWorks Development Shell,
go to '$WIND_BASE/target/config/comps/src/hwif' and run the command:

make vxbUsrCmdLine.c

This will create and copy the updated vxbUsrCmdLine.c to the 'target/config/all' directory.

NOTE!!! For all Windows users, please install the following patch on Wind River OLS first.

https://portal.windriver.com/cgi-bin/windsurf/downloads/view_binary.cgi?binaryid=114704

After the patch gets installed, rebuild the vxbUsrCmdLine.c according to the instructions above.

----------------------------------------------------------------------------------------------------------------------------------*
我大概看了一下内容,认为里面的一些动作在工程编译的时候应该都会涉及到,就没有照办。直接基于RDB8323 BSP建立了一个印象文件,编译后报错:

dld: warning: Undefined symbol 'uccRegister' in file 'partialImage.o'
dld: error: Undefined symbols found - no output written
make[1]: *** [vxWorks] Error 1


我检查了一下vxbUccEnd.c中的函数uccRegister,以及vxbUccEnd.h中的IMPORT void uccRegister (void);发现没有异常。
请问为什么会出现这种现象?
我个人分析:是不是在编译印象的时候,开发环境并不会去把相关目录下的.c文件进行重新编译,导致库中vxbUccEnd.o缺失,从而无法找到uccRegister函数代码段。
后来,我又尝试做了上述第三步:
在$WIND_BASE/target/src/hwif下.
运行:
make CPU=PPC32 TOOL=sfdiab
发现了一些错误,由于我对makefile文件语法规则不太熟,因此没有深入去分心,我有个疑问,运行make有错,难道是BSP安装文件有问题?这个可能性应该很小。
不知道各位在使用BSP安装包的过程中有没有遇到类似问题,盼指教!!



...全文
826 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ARMYUN1981 2014-04-10
  • 打赏
  • 举报
回复
感谢上面两位的分析,最近一直忙,没顾得上分析,等问题解决后再来汇报结果!
lerd_cs 2014-03-31
  • 打赏
  • 举报
回复
不应该出现错误,试试cd target/src/hwif/end make CPU=PPC32 TOOL=sfdiab
lizongjun126com 2014-03-31
  • 打赏
  • 举报
回复
我检查了一下vxbUccEnd.c中的函数uccRegister,以及vxbUccEnd.h中的IMPORT void uccRegister (void);发现没有异常。 请问为什么会出现这种现象? 我个人分析:是不是在编译印象的时候,开发环境并不会去把相关目录下的.c文件进行重新编译,导致库中vxbUccEnd.o缺失,从而无法找到uccRegister函数代码段。 后来,我又尝试做了上述第三步: 在$WIND_BASE/target/src/hwif下. 运行: make CPU=PPC32 TOOL=sfdiab 你的怀疑是对。 这个是必须编译的

2,179

社区成员

发帖
与我相关
我的任务
社区描述
xworks是美国 Wind River System 公司( 以下简称风河公司 ,即 WRS 公司)推出的一个实时操作系统。
社区管理员
  • VxWorks开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧