Kevin

OpenHW——迎接开放源码硬件的新时代

Ubuntu上跑XILINX的ISE/EDK以及petalinux的总结 2009-12-30 15:07

总体来说,Ubuntu上跑XILINX的ISE/EDK还是比较顺利滴, 但还是遇到一些需要修改的地方,在此做个总结。

ISE的问题

1. USB下载线的驱动问题。

解决方法

http://www.openhw.org/Kevin/blog/09-12/182238_1209c.html

 

EDK的问题

2. xilperl 找不到libdb4.1-so的问题

现象:EDK生成bitstream的时候,在进行到mpmc时出错,一堆红叉,触目惊心。定神一看,说第一行说xilperl找不到libdb-4.1.so。  看来是ubuntu没有装libdb-dev

sudo apt-get install libdb-dev

装好以后,发现装的是libdb-4.7.so,  没关系,欺骗XILINX一下, 把4.7拷贝为4.1就可以了。

cd /usr/lib

cp ./libdb-4.7.so  libdb-4.1.so

当然,为了省空间,也可以用软链接

sudo ln -sf libdb-4.7.so libdb-4.1.so

我用的是10.1, 用11.1貌似没有此问题,待验证。 

3. 找不到mb-gcc等的问题

只需要在PATH中,添加路径就可以了

export PATH=/opt/Xilinx/10.1/EDK/gnu/microblaze/lin/bin:$PATH

当然,EDK前面的路径请根据你具体安装的路径进行修改。

我用的是10.1用11.1貌似没有此问题,待验证。

PETALINUX的问题

以上是ISE,EDK在ubuntu上正常工作需要修改的地方。 下面是petalinux在ubuntu上工作需要修改的地方

4. 将dash恢复回bash

方法参见:

http://www.openhw.org/Kevin/blog/09-12/182397_70a6c.html

6. 编译petalinux,  make 的时候,出现PATH_MAX找不到定义的问题,出现在编译

./linux-2.6.x/scripts/mod/sumversion.c的时候。 

正规地,PATH_MAX是在 include/linux/limits.h定义的。正规方法还要添加include路径。这里,只需要在sumversion.c中定义一下,简单搞定

#define PATH_MAX 4095

7. 将i386-redhat-linux改为i486-linux-gnu

在/vendors/config/i386/config.arch中,将

GLIBC_TARGET_OPTS = --host=i386-redhat-linux

改为

GLIBC_TARGET_OPTS = --host=i486-linux-gnu

其他类似的改动还有

/lib/pcre/makefile

./lib/libldap/makefile

8. 老u-boot中老的依赖文件.depend中存在老的路径问题。 

由于我的目录是直接从centos中拷贝过来的, 过去生成了一些依赖文件.depend, 指示某.c文件依赖于某个.h文件。 老的依赖文件中要到/home/centos中去找文件。 而我拷贝的home并不叫centos,因此编译会出错。 

解决方法:1).删除.depend 这样,就可以重新生成正确的.depend文件。 但是,手工删除太多太麻烦。

解决方法:2)make clean,  make menuconfig  重新配置一下,依赖文件就重新生成了。 

至此,在untuntu下跑ISE, EDK, petalinux就全部没有问题了。 

说明:

1。 我的petalinux目录是直接从CentOS拷贝过来的,没有进行任何安装操作,而且也没有拷贝到/home/centos中。因此,出现的问题应该是最多的。 上文已经罗列了我遇到的所有问题和解决方法,相信各位可以参考,见招拆招。 

2。 我的ubuntu是跑在Virtualbox中的,同时绑定了两个网卡,一个是对笔记本电脑中的无线网卡做NAT, 另一个对ethernet卡做bridge, 这样,就可以在利用无线网卡上网的同时,还可以组一个192.168.0.1的局域网, 为fpga上跑的petalinux提供 tftp server, 并且访问petalinux在fpga上跑网页http://192.168.0.10, 非常方便,而且不耽误上网查资料,玩游戏, apt-get

3. apt-get 如果在proxy后面,需要在/etc/apt/apt.conf中添加proxy信息如下,请用自己的proxy信息替换:

Acquire::http::Proxy "http://proxy.server.here ort/"

 

 

 

 

类别:默认 |
上一篇:【我的十年】波澜壮阔的十年(照片版) | 下一篇:bash和dash的区别导致petalinux脚本在ubuntu下运行异常解决方法
以下网友评论只代表其个人观点,不代表本网站的观点或立场
关于OpenHW | OpenHW使用说明 | FAQ | 相关法律 | 版权声明 | 网站地图
联系邮件:xiaoquan@eefocus.com  联系电话: 010-58859035-8012
Powered by eefocus.com