这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » 制作根文件系统:-sh: ./xxxx: input/output error

共2条 1/1 1 跳转至

制作根文件系统:-sh: ./xxxx: input/output error

高工
2018-06-29 08:07:27     打赏

问题一:

基于busybox-1.16.1制作了根文件系统,烧录到设备端后,只能执行busybox编译出来的命令,非busybox 命令或者其它可执行的应用程序在手动运行时都报错!

现象:执行自己的APP应用程序时报如下错误:

# ./test

# -sh:./arm-test: input/output error。

 其中test是最简单的测试,程序体如下:  

       #include<stdio.h>

       #include<string.h>

       #include<stdlib.h>

       int main(int argc, char *argv[ ])

       {

       fprintf(stderr, "Test for Root FileSystem: %s, %s, %d.\n", __FILE__, __func__,__LINE__);

       return 0;

       }

        后来检查才发现,是我在制作根文件系统时,系统/lib下的库文件用错了,刚开始我不是从SDK开发包中的xxx/toolchain/lib/目录下获取系统所依赖的库文件,而是从另一台设备中copy其lib目录下的文件,然后直接放到我的设备中用来测试,结果导致系统启动后加载的库与程序运行时所依赖的库不匹配,所以出现了”input/output eror“的错误。

       使用SDK中编译工具链所在目录下的lib目录下的文件,重新制作了根文件系统,问题解决!


问题二:

linux环境下运行用户态程序时,出现:Bus error.

出现这个错误,是因为在更新应用程序所依赖的一个libxxx.so文件的时候,这个动态库在生成的时候所使用编译工具链用错了,导致该动态库文件与我的设备系统不匹配,所以出现该错误。

重新生成系统对应的库,更新之后,问题解决




管理员
2018-06-29 08:45:17     打赏
2楼

谢谢楼主分享


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]