本章节讲述beaglebone black开机(接通5V电源)自动运行程序。
例如我们需要运行的程序:/myfile/myfile.c ,利用gcc编辑之后,得到myfile文件。运行myfile文件的命令是: ./myfile,然后,进入目录/etc,找到文件rc.local,使用vi命令对其进行编辑,在尾行exit 0之前加入五行:
1)cd /myfile
2)./myfile
3)reboot
4)cd /myfile
5)./myfile
注意几个细节:1.第三步的reboot相当于重启的作用,这步至关重要,因为我的程序是循环程序;2.我试过去掉1-2步或者去掉4-5步或者去掉3-4-5步,这三种方法没有一个能成功的,运行成功的因素是reboot,我认为是板子的问题,具体我没有深究;3.最重要的一点,我的程序当中有while(1)循环,因为一直需要发脉冲,所以一直需要程序运行,而不是执行一下又被打断了;4.如果你的程序里没有循环函数,不需要一直执行,你可以直接使用1-2步即可,事实上,如果去掉3-4-5步,我的程序被自动执行过一次,但又被打断了,或许这是板子内核的问题,循环程序执行后被打断,具体我没有深究。
在研究板子通电自动运行程序这个问题上,我花了很长时间,找了多种方法,有system里添加service,有添加自制脚本到init.d目录中,有修改inittab的方法,如果在这些方法中加上重启reboot的运行命令(循环函数,不能跳出),我想大多数能成功,在加入reboot行命令之前,都失败了。