系统启动
所有以数字和下划线(例如)开头的文件的都是内置的机型配置。他们在编译时被导出成一个airframes.xml
文件,它被 QGroundControl解析后提供给机身选择界面使用。添加新的配置参照。
剩余的文件是常规启动逻辑的一部分,并且第一执行文件是rcS脚本,它调用所有其它的脚本。
软件组件的驱动程序故障会导致启动中止。
调试启动序列正确的方法是连接 和为电路板供电。由此产生的启动日志包含引导序列的详细信息,而且应该包含引导中止得原因。
- 对于自定义的应用程序: 该系统内存不足。运行
free
命令来查看可用内存量。- 软件故障或断言导致堆栈跟踪
在大多数情况下,自定义修改默认的启动是更好的方法,这在后面介绍。如果要替换完整的boot,创建一个文件,它在microSD卡上的etc
文件夹中。如果这个文件存在,系统中没有什么会自动启动。
自定义系统启动的最好的方式是引进新的 机身配置。如果仅仅进行微调(如多启动一个应用程序或只是使用不同的混合器),启动时可以使用特别的hook。
主要有三个hook。需要注意的是microSD卡的根目录文件夹路径是 /fs/microsd
。
- /fs/microsd/etc/config.txt
主系统配置完成后,且在启动前,加载 文件,此时允许修改shell变量。
extras.txt
可用于在主系统引导后启动额外的应用程序。通常,这些将是载荷控制器或类似的可选自定义组件。