问题描述:

在init.d/rcS 文件中配置好了自启动程序命令如下:

并且已经将hello程序和ZCodeDecoer程序放到了wwl文件夹下,如图:

但是按电源键启动系统时,当rcS文件配置成:

hello程序可以成功自启动,但是当rcS文件配置成:

启动ZCodeDecoder程序时,却无法启动,错误信息如下:

分析问题:
因为我们的ZCodeDecoder程序加载了libzzm_arm.so库文件,当前程序启动时没有找到该库文件。问题变成了如何才能找到该库文件。根据论坛上的答案经过很多种尝试都失败了。后来讨论后qtopia为什么可以自启动成功?它有调用库吗?它的库是怎么加载进来的?于是我们再分析rcS文件,我们看到:

这一句脚本,就是用来加载库的。
解决问题:
我们尝试将库文件所在的目录加到该脚本中,如下:

最终我们看到arm板上的程序成功运行起来了,如下:

另外:我们也可以将so文件放到arm板的/usr/lib文件夹下,或者/lib文件夹下
推荐一篇分析该问题的文章:
http://blog.sina.com.cn/s/blog_485c8cc50100eisn.html


本文介绍了解决嵌入式系统中特定程序自启动失败的问题,通过分析发现是由于缺少必要的动态链接库导致。文章详细记录了问题排查过程,并提供了解决方案——设置正确的库文件路径。
2万+

被折叠的 条评论
为什么被折叠?



