LinuxDev 板


LINE

※ 引述《JUSTLOVEAYU (海费尔)》之铭言: : 标题: [问题] 自行编译cross compiler : 时间: Wed Jan 19 19:09:38 2011 : : 这二天我在编译新的cross compiler,因为我想把PXA270版子所附赠的toolchain做更新 : : 我是按照以下网址做 : : http://ccwang-jay.blogspot.com/2010/09/arm-gcc-toolchain-cross-compiler-for.html : : 刚刚终於搞定了 : : 结果我把编译好的程式(简单的hello world)拿到PXA270版子上执行 : : 结果显示 Illegal Instruction,请问为什麽会这样呢?我缺少什麽东西呢? : : 上面做出来的compiler不是全部嵌入式平台通用的compiler吗? : : 有人可以指导我一下吗? : : 谢谢! : : -- :



※ 发信站: 批踢踢实业坊(ptt.cc)
: ◆ From: 140.125.45.103 : → dakiyo:check ISA version 01/19 21:55 : → JUSTLOVEAYU:请问从哪边去check ISA version? 01/19 23:02 : → rawpacket:先 file 一下你的执行档看是不是 for ARM 的. 01/20 00:01 : → JUSTLOVEAYU:the message is:a.out: ELF 32-bit LSB executable, 01/20 00:53 : → JUSTLOVEAYU:ARM, version 1, statically linked, not stripped 01/20 00:53 : → JUSTLOVEAYU:看来应该有for ARM,接下来我该朝哪个方向去debug呢? 01/20 00:56 : → badwork:你是照网页教的用arm-elf-run ./hello来执行吗? 01/20 13:37 : 推 shaopin:我觉得从一开始"更新toolchain"这件事就有问题..why? 01/20 15:03 : → shaopin:去读ARM cp15的register就能独到ARM version 01/20 15:04 : → JUSTLOVEAYU:对,我是用arm-elf-run ./hello来执行,这样是ok的 01/20 16:54 : → JUSTLOVEAYU:後来我把hello执行档传送到板子执行却是出错的 01/20 16:55 : → JUSTLOVEAYU:因为厂商所附赠的cross compiler不支援gcc的某些参数 01/20 16:57 : → JUSTLOVEAYU:所以我才会想自行更新cross compiler 01/20 16:57 : → JUSTLOVEAYU:s大不好意思,现在在板子上执行hello都有问题了,更不 01/20 16:59 : → JUSTLOVEAYU:说是去读register了@@ 01/20 16:59 : 推 dakiyo:你是放到板子上的linux跑吗?如果是的话用arm-linux-gcc来编 01/20 22:30 : 推 askacis:EABI的问题?不知道原本的tool-chain版本是多少? 01/20 22:39 : → askacis:原po可以check一下kernel config里面, Use the ARM EABI 01/20 22:41 : → askacis:to compile the kernel这行有没有被勾选,没有的话把他开启 01/20 22:42 : → askacis:或者是用arm-linux-readelf -h 读一下你的hello的header 01/20 22:43 : → askacis:以及kernel的,看他们的Flag属性是不是一样... 01/20 22:44 : → askacis:如果kernel跟userspace的ABI介面不一样,userspace会有问题 01/20 22:47 : → JUSTLOVEAYU:是的,hello是在host端做编译,之後再把编译出来的执 01/21 01:16 : → JUSTLOVEAYU:行档放到板子上的linux跑 01/21 01:16 : → JUSTLOVEAYU:感谢楼上两位的指导,等我回LAB我再check看看 01/21 01:19 : 推 shaopin:也不用run linux, 你有debugger的话用jtag读就好了 01/21 11:09 dakiyo大,目前系统并没arm-linux-gcc,是否要去下载重新编译呢? askacis大,原本的toolchain版本是arm-linux-toolchain-bin.4.0.2 另外,请问kernel config要从哪面看呢?是在menuconfig那里面看吗(编译kernel时)? shaopin大,我没有debugger 冏 刚刚,我把hello.c分别使用两种不同的compiler去编译,一个是厂商附赠的, 另一个是我自已编译的,然後再用file指令去查看,我发现 使用附赠的compiler出现的讯息是: ELF 32-bit LSB executable, ARM, version 1, dynamically linked (uses shared libs), for GNU/Linux 2.4.3, not stripped 而使用我自已编的compiler出现的讯息是: ELF 32-bit LSB executable, ARM, version 1, statically linked, not stripped 一个是dynamically linked另一个是statically linked 请问是不是这边出现了问题呢?如果是的话,我该如何去修正呢? 谢谢 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.125.45.103
1F:→ dakiyo:1.没错你要自行编译或网路上找现成的binary来编. 01/23 00:22
2F:→ dakiyo:2.make menuconfig完後,存档後的组态档叫.config(隐藏档) 01/23 00:24
3F:→ dakiyo:3.static和dynamic是指编译方式,差别请google去研究,你的问 01/23 00:25
4F:→ dakiyo:题比较像是我第一点提的,去找现成的编你的程式放上去看看吧 01/23 00:27
5F:推 askacis:看了原po的连结,才知道是拿arm-elf-gcc编出来的丢上板子跑 01/23 01:09
6F:→ askacis:这样自然是不行啦XD,原po要自己作cross compiler应该是要 01/23 01:09
7F:→ askacis:弄成arm-linux-gcc之类的才对~~ 01/23 01:13
8F:推 askacis:另外你的kernel也要用新的cross compiler重编过比较保险 01/23 01:16
9F:推 askacis:http://tinyurl.com/4lchuyr ,人家直接编好的... 01/23 01:36
10F:推 askacis:另rootfs里面的ld-linux.so.2等也要换成新tool-chain的... 01/23 01:43
11F:推 goldie:我觉得有现成新的就没必要自己编吧?(热血hardcore者除外XD) 01/23 01:54
12F:→ goldie:我也是推荐直接拿CodeSourcery编好的 http://goo.gl/tsGB 01/23 01:54
13F:→ goldie:要在Linux上跑的就选GNU/Linux版→All version→里面很多版 01/23 01:55
14F:→ goldie:我用 2010q1-202 没遇到啥问题 01/23 01:56
15F:→ JUSTLOVEAYU:不好意思,请问a大,arm-elf-gcc是我照那个网页做出来 01/23 14:52
16F:→ JUSTLOVEAYU:的,应该算是我自已做出来的cross compiler吧@@? 01/23 14:53
17F:→ JUSTLOVEAYU:而你这句,原po要自己作cross compiler应该是要弄成 01/23 14:54
18F:→ JUSTLOVEAYU:arm-linux-gcc之类的才对,我不太懂你这句话的意思 01/23 14:56
19F:→ JUSTLOVEAYU:因为我也是把几个套件一一做结合,这样弄出来不算是自 01/23 14:57
20F:→ JUSTLOVEAYU:已的cross compiler吗?,另外,再次谢谢大家的指导:) 01/23 14:58
21F:→ dakiyo:arm-elf-xx是for non-os的,你现在run在linux上当然就要用 01/24 01:07
22F:→ dakiyo:arm-linux-xxx的阿..重编很麻烦,去找现成的看看吧~ 01/24 01:08
23F:→ JUSTLOVEAYU:原来arm-elf-xx是 non-os 冏,现在我了解了,谢谢d大 01/24 01:18
24F:→ JUSTLOVEAYU:的指教:) 01/24 01:19
25F:推 i386:arm-elf-xxx不一定是for non-os的...主要的差别是library 02/08 11:22
26F:→ i386:arm-linux-xxx通常包的是glibc,arm-elf-xxx可能会是包uClibc 02/08 11:23
27F:→ i386:或者是newlib,不过这不是通则定论,因为cross-compiler的名字 02/08 11:23
28F:→ i386:可以在建立的过程中去更改的.. 02/08 11:24







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Gossiping站内搜寻

TOP