Segmentation fault-帮忙解决这个问题。

前段时间买回块友善之臂的学习板QQ2440V3(不懂哪个网友有买的,呵呵)买回来,想把手册里面的东西全部测试一遍,测试到把程序下载进开发板运行就出了问题,问题是这样的:

我在PC linux 环境下安装了交叉编译工具arm-linux-gcc -3.4.1,编译了个叫hello.c的文件,源代码如下:

#include

int main(void) {
 printf("hello, FriendlyARM!\n");
}

然后编译完成后,下载到开发板里,然后更改其执行权限,

然后一运行出现Segmentation fault这个问题,然后一看,提示出现段错误,马上意识到访问内存出错,然后返回源代码一看,就那么一条语句,根本没有涉及到指针乱指,数组越界的情况,怎么会出现这个问题呢,申明下,这个程序在LINUX环境下用GCC编译是完全可以在PC下运行的,然后我又检查了开发板端的内核版本,又重新烧了一个镜像进去,但是还是不行,目前真的不知道从哪里检查了,希望各网友,提出点错误的地方,我去查查看,或者谁遇到过这种情况,直接回帖告诉我,黑猪在这里感谢了。

投 票

觉得本文不错,投一票   

评 论

  • 网络-嵌入黑猪  2008-6-8 10:21:59
  • 网络-嵌入黑猪
    源程序是包含头文件"stdio.h"的··发帖子不懂为什么被屏蔽了而已。
  • 网络-嵌入黑猪  2008-6-9 11:58:16
  • 网络-嵌入黑猪
    出现这个问题后,我认为内核不匹配,重新烧写了个镜像文件后不出现这个问题,而出现另外一个问题:
    编译好的程序下载到开发板上出现Inconsistency detected by ld.so: dynamic-link.h: 62: elf_get_dynamic_info: Asser
    tion `! "bad dynamic tag" failed!,这个错误。
    解决方法:原来我在WIN下用ftp命令传送文件给开发板,开发板的收到的文件缺少字节,也就是不完整。后来我尝试用另外一个工具去传,传过去就可以直接运行了。


验证码: 看不清?换一张