日期:2014-05-16  浏览次数:20830 次

怎么将开发板的应用程序设置为开机自动启动
我用的开发板是devkit8000。比如led灯的循环点亮。应用程序是led_gcc,保存在目录/media/mmcblk0p1/led_gcc。我参考网上的做法将media/mmcblk0p1/led_gcc添加到/etc/init.d/rcS中但是重新启动后没有看到任何信息。灯也不循环点亮。我还需要做什么工作。以及我还可以用什么方法进行处理。希望给点意见。谢谢了。

------解决方案--------------------
放到rcS按道理是可以的
是不是应用程序权限的问题
------解决方案--------------------
学习嵌入式linux的高手们,来加入我们共嵌入式学习交流群“一切都好”群号:36711379。。。。。来这里一起交流
------解决方案--------------------
你看看打印出来的是什么信息啊
2L的有可能 
chmod +x /media/mmcblk0p1/led_gcc
/media/mmcblk0p1/led_gcc

44看
------解决方案--------------------
过来学习
------解决方案--------------------
放在 /etc/init.d/rcS 这里,按道理是可以。
楼主可以这么测试:
1. 看看是不是权限问题,
开启开发板后,手动执行 media/mmcblk0p1/led_gcc,看会不会提示什么错误,是否正确执行了。如果正确执行了,那说明该程序没问题
2. 测试下 /etc/init.d/rcS 是否在开机时被执行:
在 /etc/init.d/rcS 里,执行 media/mmcblk0p1/led_gcc 的前后各输入如下两行:

echo "Before led_gcc"

echo "After led_gcc"

启动后看看 上面两个语句是否被打印出来,如有,则说明 rcS在开机时会被执行。
------解决方案--------------------
/etc/init.d/rcS: line 36: /media/mmcblk0p1/spidev: not found
很明显 文件路径不对

error in open /sys/class/leds/led1/brightness led_acc运行到了 但是程序运行出错 你直接运行led_acc程序正常不?

------解决方案--------------------
写个开机自动启动脚本就ok了

------解决方案--------------------
/etc/init.d/leds start #启动LED
------解决方案--------------------
Linux在启动时,会自动执行/etc/rc.d目录下的初始化程序,因此我们可以把启动任务放到该目录下,有两种办法: 

  方案一: 

  1.因为其中的rc.local是在完成所有初始化之后执行,因此我们可以把启动脚本写到里面 

  2.用root账号登陆Linux,vi /etc/rc.d/rc.local编辑文件,在最后加入两行需要执行的脚本程序: 

  cd /home/test1 --该步不可少,否则会提示没有权限打开'test.log'文件 

  su test1 -c "python /home/test1/test.py" --把要执行的命令作为一个参数传递级su 

  方案二: 

  1.init.d目录下都为可执行程序,他们其实是服务脚本,按照一定格式编写,Linux 在启动时会自动执行,类似Windows下的服务 

  2.用root帐号登录,vi /etc/rc.d/init.d/mystart,追加如下内容: 

  #!/bin/bash 

  #chkconfig:2345 80 05 --指定在哪几个级别执行,0一般指关机, 

  6指的是重启,其他为正常启动。80为启动的优先级,05为关闭的优先机 

  #description:mystart service 

  RETVAL=0 

  start(){ --启动服务的入口函数 

  echo -n "mystart serive ..." 

  cd /home/test1 

  su test1 -c "python /home/test1/test.py" 

  } 

  stop(){ --关闭服务的入口函数 

  echo "mystart service is stoped..." 

  } 

  case $1 in --使用case,可以进行交互式操作 

  start) 

  start 

  ;; 

  stop) 

  stop 

  ;; 

  esac 

  exit $RETVAL 

  3.运行chmod +r /etc/rc.d/init.d/mystart,使之可直接执行 

  4.运行chkconfig --add mystart,把该服务添加到配置当中 

  5.运行chkconfig --list mystart,可以查看该服务进程的状态