在英创Linux主板的使用必读中,已经详细的介绍了使用userinfo.txt来配置系统开机自动执行程序的方法,详情可以参见英创Linux主板的使用必读手册。
还有一种方法是在终端下使用命令行来自动执行程序,如果客户比较习惯使用Linux命令行模式就可以使用这种方法。这种方法的好处是比较灵活,用户可自主配置,即在执行程序之前,可以自己编辑输入一些其他命令或者设置一些专用的环境变量。
在英创的嵌入式Linux板卡中集成了相应启动管理程序,用户只需要编辑一个名为user.sh的Linux脚本文件,然后将user.sh放在英创Linux主板的/mnt/nandflash目录下即可实现脚本自动启动应用程序的功能。当userinfo.txt和user.sh同时存在的情况下,系统会优先选择读取user.sh,同时userinfo.txt文件中指定的启动程序不起作用了。下面来详细介绍如何使用这种方法。
首先需要编辑user.sh,因为user.sh是一个Linux脚本文件,所以在Linux系统环境下就可以进行编辑。将user.sh拷贝到装有Linux系统的主机中,使用cd命令进入响应的目录,再使用命令gedit user.sh编辑脚本文件。在脚本文件中,输入需要执行的命令即可。
编辑脚本
如图所示,只是输入了一个最简单的执行程序命令,进入到nandflash中,然后执行hello这个程序。编辑好之后,保存。
如果没有搭建好的Linux系统环境,要在Windows系统的环境下编辑这个脚本文件,那就需要使用单独的编辑器。这是因为Windows下DOS文本格式的换行符和Linux系统中格式使用的换行符不同,所以使用Windows自带的文本编辑器编辑,在Linux下会出现不能识别换行符的情况。
这里可以推荐给客户两款很方便软件使用:Notepad2和PSPad。在Windows下使用这两款软件编辑这个脚本文件就行,下面分别是使用这两款软件的编辑界面。
使用Notepad2编辑界面
使用PSPad编辑界面
将编辑好的user.sh放到英创Linux主板的/mnt/nandflash/目录下,同时要将需要执行的程序放在user.sh中指定的运行路径。
复制user.sh到nandflash目录下
断开JP1,重新启动主板进入运行模式,便能够自动执行user.sh中的命令,来启动设置好的程序。
可以看到系统开机后,自动执行了hello这个程序。
如果使用了Windows自带的文字编辑器,比如写字板,编辑了user.sh脚本文件。会出现错误提示。
错误提示
这是因为前面提到过的,Linux不能识别DOS文本下的换行符。使用VI打开/mnt/nandflash/中的user.sh查看,会发现换行符的地方多了^M这个符号。
换行的地方多了^M
如果遇见这种情况,进入到/mnt/nandflash/目录中,使用命令dos2unix user.sh可以将DOS文本格式user.sh转换成Linux格式。转换以后,再使用VI进行查看,已经正确。
经过转换的user.sh已经正确
再重启主板,就能够正确的执行程序了。
正确启动程序
全部0条评论
快来发表一下你的评论吧 !