瑞芯微RV1126B开发板(EASY-EAI-PI2) 应用程序开机自启动

瑞芯微RV1126B开发板(EASY-EAI-PI2) 应用程序开机自启动 1. 简要介绍开机自启动涉及到四个脚本文件。分别是rc.local、S99_userapp、start_app.sh、stop_app.sh。1.1 脚本说明/etc/rc.local这个脚本是Linux文件系统启动后第一个程序就会去调用的脚本。它会去/etc/init.d/下面按命名顺序遍历调用所有脚本。(如A41会比S41先调用S41会比S99先调用)/etc/init.d/S99_userapp这个是专用于管理用户应用程序启/停的脚本。/userdata/start_app.sh用户应用程序的启动逻辑通常写进这里里面可以随意修改。/userdata/stop_app.sh用户应用程序的结束逻辑通常写进这里里面可以随意修改。1.2 调用顺序及关系2. 详细说明2.1 /etc/init.d/S99_userapp系统的自带的启动脚本如有需要可自行修改。#!/bin/sh source /etc/profile case $1 in start) if [ -e /userdata/start_app.sh ];then /userdata/start_app.sh fi ;; stop) if [ -e /userdata/stop_app.sh ];then /userdata/stop_app.sh fi ;; *) echo Usage: $0 {start|stop} exit 1 ;; esac exit 0把绝对路径执行脚本的命令添加到脚本“/etc/init.d/S99_userapp”的case start分支中系统启动时就会自动执行这句命令从而启动用户空间的应用脚本。2.2 /userdata/start_app.sh板卡出厂自带的启动脚本如有需要统筹管理多个启动脚本则可修改此对脚本。#!/bin/sh if [ -e /userdata/apps/run.sh ];then cd /userdata/apps ./run.sh fi2.3 /userdata/stop_app.sh#!/bin/sh # Kill your app when shutdown system. For example: # killall facialGate3. 操作指导3.1 注意事项说明通常用户的程序启动后就不会退出所以要在程序执行命令后面添加“”使之在后台运行这样就不会阻塞其它启动脚本的运行。./qSolu-facialGate 若用户有自己的动态库在用户空间中也可以在启动脚本内添加环境变量。source /etc/profile export LD_LIBRARY_PATH$LD_LIBRARY_PATH:/userdata/mylib/如果要开机自动启动的是QT程序且有对QT环境变量有自定义的要求则还可以设置QT环境变量。export QT_QPA_FB_DRM1 export QT_QPA_PLATFORMlinuxfb:rotation0 #export QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS/dev/input/event5:rotate180