Linux系统不像单片机,boot之后找到main函数就是程序的整个流程,Linux的启动很复杂。在树莓派操作系统的介绍中(开始-->help-->Debian参考手册)有详细介绍,如下图。
常用的Linux开机启动方法有很多,我介绍两种比较方便的。
开机启动方法一
在/etc/rc.local文件中添加启动代码,“rc.local”本身就是一个脚本文件,可以直接运行,双击该文件就能运行,关于脚本可以在“C语言中文网http://c.biancheng.net/shell/”中学习shell脚本语言。
通常情况下rc.local文件是不能修改的,因为没有修改权限,在/etc文件下按“F4”调出终端,然后输入如下指令
sudo chmod 777 rc.local
就可以开启该rc.local的修改权限,然后用用编辑器打开该文件,在exit 0前面添加我们的测试代码如下
filePath="/home/pi/Desktop/lb8820265"
touch $filePath
代码的作用为在桌面新建一个名为“lb8820265”的文件。然后重启树莓派,就会看到桌面多出一个文件。
注意:该方法是用root用户启动的。
开机启动方法二
在/etc/profile.d文件夹中添加脚本文件,例如在该文件中新建一个“WanliCar_startup.sh”的文件,通常新建一个文件会提示权限不够。和之前一样,先在该文件下的终端中输入如下指令。
sudo chmod 777 profile.d
在文件中输入如下代码。
#!/bin/bash
filePath="/home/pi/Desktop/lb8820265"
touch $filePath
重启树莓派后同样会在桌面新建一个lb8820265的文件。
注意:rc.local中添加的代码是在用户登录前执行的,profile.d是用户登录后执行的,而且很奇怪的一点是profile.d中的任务会执行两次。
树莓派小车程序开机启动
树莓派小车控制程序在“/home/pi/Desktop/Examples/C++/Car_Control”目录中,有个叫做Car_Control的可执行文件,双击就可以运行,如果双击不能运行,就给该文件全部权限。
采用第一种方法,在rc.local文件exit 0前添加如下的代码。
/home/pi/Desktop/Examples/C++/Car_Control/Car_Control &
代码中“&”符合表示程序在后台启动。重启系统,在任务管理器中就看到“Car_Control”被root用户启动。
开机不运行桌面
程序运行的时候不需要桌面,因此可以设置启动进入CLI而不是桌面,这样应该能更加节约系统资源,如下图
源码
"万里"树莓派小车汇总贴:
lb8820265的“万里”树莓派小车开源分享 - DIY/开源硬件专区 - 电子工程世界-论坛 (eeworld.com.cn)
目录:
2“万里”树莓派小车——python学习(Thonny的使用)
4“万里”树莓派小车——C++学习(编译与运行,geany使用)
5“万里”树莓派小车——wiringPi学习(延时与线程模拟定时器)
6“万里”树莓派小车——wiringPi学习(PWM与外部中断模拟定时器)
7“万里”树莓派小车——RPi.GPIO学习(PWM与外部中断模拟定时器)
10“万里”树莓派小车——socket学习(UDP两机通讯)
11“万里”树莓派小车——socket学习(Android发送)
12“万里”树莓派小车——socket学习(Android收发)
19“万里”树莓派小车——VSCode学习(多C文件链接调试)
21“万里”树莓派小车——电机控制学习(4轮速度控制)
22“万里”树莓派小车——手机遥控电机转动