• 4256阅读
  • 7回复

一个arm上的小程序 [复制链接]

上一主题 下一主题
离线hitszboy
 
只看楼主 倒序阅读 楼主  发表于: 2008-06-05
— 本帖被 XChinux 执行加亮操作(2008-06-05) —
#include <stdio.h>
int main( )
{
}


我的板子是买来就做好的,包括内核和系统。使用的只读文件系统,我把上面的空函数交叉编译好,把生成的二进制文件(起名为hello)下到板子的tmp文件夹下面。然后在超级终端里面./hello
提示:segmentation fault
为什么呢
请大家建言啊
离线guoyun_he

只看该作者 1楼 发表于: 2008-06-06
你首先要确保你的编译内核的交叉编译器和你编译hello的交叉编译器是同一个编译器。比如我用arm-linux -3.4 编译内核,我也必须用它来编译hello! 如果你用QT的话,同样要用相同的编译器。

该错误是提示有内存溢出,比如定义一个数组 unsigned char aa[4]; 如果我们用 b=aa[6];这样的话会给出这样的提示。
离线hitszboy
只看该作者 2楼 发表于: 2008-06-06
谢谢楼上的,可惜我不知道厂家是用什么编译的内核,我试试
谢谢
欢迎大家继续建言
离线shiroki

只看该作者 3楼 发表于: 2008-06-06
没啥好建言的哩,就是这个问题
--
shiro is White
ki is tree
http://www.cuteqt.com
论坛 http://www.cuteqt.com/bbs
博客 http://www.cuteqt.com/blog
博客镜像: http://sites.cuteqt.com/cuteqt
Linux/Qt/嵌入式讨论群 http://qun.qq.com/air/5699823
离线hitszboy
只看该作者 4楼 发表于: 2008-06-06
谢谢斑竹 俺试试
离线hitszboy
只看该作者 5楼 发表于: 2008-06-07
我的程序是用arm-linux-g++ 编译的
内核用同版本的arm-linux-gcc编译还是arm-linux-g++?
离线hitszboy
只看该作者 6楼 发表于: 2008-06-07
明白了
我现在试着自己编译一个内核
出现如下错误
[arch/arm/kernel/asm-offset.s] Error1
这是怎么回事啊
离线shiroki

只看该作者 7楼 发表于: 2008-06-12
跟内核没有关系。 关键是toolchain的版本必须一致, 相应的底层的一些系统库也必须是一致的才行。
--
shiro is White
ki is tree
http://www.cuteqt.com
论坛 http://www.cuteqt.com/bbs
博客 http://www.cuteqt.com/blog
博客镜像: http://sites.cuteqt.com/cuteqt
Linux/Qt/嵌入式讨论群 http://qun.qq.com/air/5699823
快速回复
限100 字节
 
上一个 下一个