LiangShuang's ...

I'm not a programmer...

sparc-leon3交叉工具链的制作

shuang posted @ 2010年12月08日 10:12 in ecos-on-leon3 , 2787 阅读

 

首先下载工具链bcc+simulator+grmon,下载地址为http://www.gaisler.com/,我下的版本为sparc-elf-4.4.2-1.0.36b,tsim-eval-2.0.18,grmon-eval-1.1.44,分别为leon3的编译器、仿真器和debug工具,把他们解压到/opt/leon3/目录下,然后为了方便我把他们在/opt/leon3/bin下一次建立了软链接,为此写了一个简单的脚本,内容如下:

#!/bin/sh 
# Estiblish softlink for all the file in DIR 
DIR=$1 
objdir=/opt/or1200/tools/bin/ 
files=`dir $DIR` 
echo $files 
for file in $files 
	do 
		ln -s "$DIR"/"$file" ./"$file"		 
	done 
exit 0

 

之后把/opt/leon3/bin目录添加到PATH环境变量下,echo “PATH=$PATH:/opt/leon3/bin”>> ~/.bashrc,source ~/.bashrc,测试一下在终端中输入sparc-elf-gcc –version

 

得到如上结果,说明配置成功。

    然后就可以下载并编译ecos了,同样在leon的网站上下载了ecos-rep-1.0.9,这个是打过leon补丁的ecos,所以就拿来直接用了,下载后解压到~/workspace/leon3/下,配置和编译的过程功能可以参考gaisler网站上的指导,http://www.gaisler.com/cms/index.php?option=com_content&task=view&id=149&Itemid=224

按照上面的说明,我下了ecos图形配置工具,ecostools-1.0,解压到/opt/leon3下,用同样的方法建立软链接,export ECOS_REPOSITORY, ecosconfig new sparc_leon3,一切都进行的很顺利,但是当运行configtool ecos.ecc时,意外悲剧发生了,

error while loading shared libraries: libwx_gtk-2.4.so: cannot open shared object file: No such file or directory,分析一下是缺少动态链接库,google了一下,在网上下了个rpm包,心想这下该好用了吧,不过程序又接连提示了缺少另外几个动态链接库,我急了,怎么会缺少这么多呢,于是就ldd了一下,

    linux-gate.so.1 =>  (0x005f3000)

    libtcl.so => /usr/lib/libtcl.so (0x00cfa000)

    libwx_gtk-2.4.so => not found

    libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x00110000)

    libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0x00c26000)

    libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00373000)

    libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0x001ca000)

    libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0x001e3000)

    libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0x00548000)

    /lib/ld-linux.so.2 (0x00cbb000)

开始只是缺少libwx_gtk-2.4,可是后面又缺少libglib1.2等低版本的链接库,只好一个一个都给找到了,最后什么都不缺了,又提示段错误,无奈之下只好看一下有没有更高版本的crosstool,这个版本是在是太低了,很多已经废弃的链接库在我的ubuntu下都没有,果然找到了2010-03-05的版本的,下载地址见http://www.ecoscentric.com/devzone/configtool.shtml,

解压之后果然好用,虽然运行时还是会在终端下出现warning,但是已经能看到配置界面了

 

为了安装动态链接库,我把系统差点搞蹦了,原因就是我把缺少的.so文件直接复制到/usr/lib下了,这样系统就乱了,分不清连接低版本的还是高版本的了,网上的说法是把兼容库单独放到一个路径下,设置一下LD_LIBRARY_PATH,这样的话就不会和当前系统的一些功能发生冲突了。。。


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter