LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: lofeng

有使用crossdev的么?该如何升级用crossdev构建出来的cross工具链?

[复制链接]
发表于 2009-7-31 22:06:59 | 显示全部楼层
其实你可以在 arm 中跑 distcc, 再在其他強一点的机子上跑 distcc + crossdev 一起做,效果最好。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-8-1 22:51:16 | 显示全部楼层
恩 有时间试试distcc

请教该如何升级用crossdev构建出来的cross工具链?
回复 支持 反对

使用道具 举报

发表于 2009-8-2 00:36:34 | 显示全部楼层
emerge --sync

然后同样的命令再打一边,就是升级

crossdev arm-vendor-linux-gnu

This is from /usr/sbin/crossdev:

EOPTS_UP="${EOPTS_DEF} -u"
EOPTS=${EOPTS_UP}
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-8-2 15:55:46 | 显示全部楼层
多谢版主

我开始用~ARM来构建工具链,但是用这个工具链编译UBOOT时报错
board.c:126: error: inline function 'coloured_LED_init' cannot be declared weak
board.c:128: error: inline function 'red_LED_on' cannot be declared weak

google得知是因为gcc版本过高的缘故
所以将ACCEPT_KEYWORDS="arm ~arm"改为ACCEPT_KEYWORDS="arm"
然后重新#crossdev -S -s4 --target arm-unknown-linux-gnu
编译结束后,#gcc -v出来的还是~ARM的GCC 4.4.1版本,而不是ARM的GCC 4.3.2

#crossdev --clean arm-unknown-linux-gnu
#crossdev -S -s4 --target arm-unknown-linux-gnu
才解决这个问题

当时有个问题,就是先安装的时候用的是
#crossdev -S -s4 --target --ex-gdb arm-unknown-linux-gnu
命令不一样 可能对这个问题也有影响
回复 支持 反对

使用道具 举报

发表于 2009-8-2 16:32:19 | 显示全部楼层
你 . /etc/profile 了么
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-8-2 20:09:06 | 显示全部楼层
Post by zhllg;2011836
你 . /etc/profile 了么
一语惊醒梦中人~~

现在用crossdev搭建的cross toolchain来做embedded linux+arm开发,很不错,只可惜这种方法来搭建开发平台的人很少

还有个openembedded 的bitbake,也能构建整个embeded linux系统,跟crossdev有得一拼
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-8-2 20:20:00 | 显示全部楼层
刚在安装dev-util/git时为了“-gtk”这个USE flag,修改/etc/portage/package.use
竟发现用crossdev安装cross toolchain时会自动修改/etc/portage/package.use文件
cross-arm-unknown-linux-gnu/binutils -selinux
cross-arm-unknown-linux-gnu/linux-headers -selinux
cross-arm-unknown-linux-gnu/glibc -selinux
cross-arm-unknown-linux-gnu/gcc -selinux -boundschecking -d -gtk -gcj -libffi -mudflap -objc -objc++ -objc-gc -openmp
cross-arm-unknown-linux-gnu/gdb -selinux
回复 支持 反对

使用道具 举报

发表于 2009-8-4 23:55:12 | 显示全部楼层
Post by lofeng;2011057
多谢~~
但是为什么还有crosstool、OpenEmbedded、eldk这些项目诞生呢?

再有,譬如s3c2440,对应的发行版是哪个呢?还请指教~~


crosstool 本来的目的应该是面向Gentoo的跨平台需要的,但是对于嵌入式系统来说,它还不够成熟。至少我在两三年前使用的时候是这样。实际上嵌入式系统的硬件结构是千差万别的,很难有个完善的东西。

如果是 s3c2440 的话,现在基本上都纳入了 OpenMoko 项目了。
回复 支持 反对

使用道具 举报

发表于 2009-8-5 00:06:25 | 显示全部楼层
不知楼上兄弟crosstool是泛指还是特指
如果是泛指,其实有个类似的工具名字就叫crosstool,这样会让人误解
如果是特指,恐怕楼上兄弟手误了,gentoo里没有crosstool,只有crossdev
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-8-5 00:45:33 | 显示全部楼层
Post by robinswan;2012754
crosstool 本来的目的应该是面向Gentoo的跨平台需要的,但是对于嵌入式系统来说,它还不够成熟。至少我在两三年前使用的时候是这样。实际上嵌入式系统的硬件结构是千差万别的,很难有个完善的东西。

如果是 s3c2440 的话,现在基本上都纳入了 OpenMoko 项目了。


如果是特指的话,crosstool这个project已经没有维护了,虽然eldk就是构建在crosstool基础之上的。除了openembedded这个project,其他的诸如crosstool(特指)、buildroot、crossdev等,都是用来构建crosstoolchain,然后再做嵌入式开发。
我目前就是用crossdev构建cross toolchain,然后就用不上crossdev了。

虽然很难有个完善的东西,但是相对而言还是有个优劣之分,个人觉得crossdev跟openembedded之间应该没有太大的差别,就看开发的团队以后怎么运行了

以前看过以为网友说:
任何时候,都别指望【交叉编译器】能够百分之百的按照你的臆测去干活,那个东西最大的(甚至可能是唯一的)功能,就只是编译bootloader和内核这类绝对不需要也不可能用到libc的东西,最多再加上个静态联编的busybox……对于其它所有与运行时库有关的上层应用程序,本机编译工具都是真正最好用的……

但是对于一般的arm-linux应用,哪有那么多的资源?
我现在用的系统是:s3c2440 主频:400M
SDRAM:64M  NANDFLASH:64M
用gentoo for arm也是不可能的
只能自己一步步裁剪内核、移植文件系统、然后添加上系统需要的应用程序
回复 支持 反对

使用道具 举报

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

本版积分规则

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