欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

NXP i.MX6 ARM-Linux 用户应用程序安装与自启动

程序员文章站 2022-04-28 07:56:06
...

项目场景:

在眺望电子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/目录下,重启即可。