NXP i.MX6 ARM-Linux 用户应用程序安装与自启动
项目场景:
在眺望电子TW-IMX6DL-EVM开发板上安装用户应用程序,并设置成自启动。
编译环境及开发包: 主机:ubuntu18.04
交叉编译器:arm-linux-gnueabihf-gcc
QT5.12.8:qt-everywhere-opensource-src-5.12.8
开发板:TW-IMX6DL-EVM
Linux:Linux-4.1.15
注意:本文章的所有命令涉及到的路径均为眺望电子官方环境路径,需根据自身实际环境改变。本文所演示的平台来自于眺望电子 iMX6 ARM嵌入式平台,这是一个基于NXP iMX6 ARM处理器,支持单核/双核Cortex-A9的核心板。
解决方案:
1.安装用户应用程序
建议用户用应用程序须安装在/opt目录下,在/opt目录下建立合理的程序目录结构,如:
/opt/myapp/
├─ bin #存放用户程序可执行文件
├─ data #存放数据文件
├─ doc #存放文档文件
├─ etc #存放配置等文件
├─ lib #存放程序所需要的额外的库文件
└─ share #存放共享文件
2.程序开机自启动
系统启动过程中会扫描/etc/rc5.d目录下所有以“S”开头的文件并启动。所以只需在/etc/rc5.d目录下编写一个文件名为:“S+编号+名称”的可执行脚本,在脚本中增加启动某个具体程序的语句即可。文件名必须以“S”开头,编号代表了启动级别,越大越晚运行,取值建议在
90~99 之间。
例如,需要开机自启动的应用程序为/opt /app,可编写S99app脚本并增加可执行权限,放到/etc/rc5.d目录下,S99app文件内容可简单的写为如下内容。
#!/bin/sh
/opt/app &
实际应用中,如果程序启动之前需要设置一些环境变量,或者进行其他初始化,或者加载某些外设驱动或者库等等,最好编写一个独立的程序启动脚本来完成以上工作,如启动程序的脚本为S99startapp.sh,内容如***意,脚本需要可执行权限)。
#!/bin/sh
insmod xxx.ko
export XXX=
export YYY=
/opt/app &
将该文件保存在/etc/rc5.d/目录下,重启即可。
上一篇: css学习记录(一)