pixhawk之NSH调试

本文档提供了在Windows和Linux环境下烧录ArduPilot和PX4固件到Pixhawk飞控的具体步骤,包括前期准备、连接设置及常见问题解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一 ardupilot固件

windows环境

前期准备

1:pix烧录程序,Arducopter或者library中的example都可以实现。

2:拔掉SD卡(脚本中提到的没有SD卡进入nsh,有SD时进入MAVLINK,因此会出现一段乱码)。

step1:

连接usb,待音乐想玩后,打开TeraTerm,选择fiel,建立新连接,选择usb的端口,我的是com6,波特率选择57600,敲击回车键,出现nsh>

step 2:

?或help命令可获得详细信息

在官网的CodeBase中提到了ps命令可获得当前线程

Linux环境

环境:ubuntu14.04LTS

前期准备

1:pix烧录程序,Arducopter或者library中的example都可以实现。

2:拔掉SD卡(脚本中提到的没有SD卡进入nsh,有SD时进入MAVLINK,因此会出现一段乱码)。

3:下载minicom,命令minicom -s配置minicon,配置为dev/ttyACM0(ttyACM0一般代表usb设备)。

step 1:

pix通过usb连接linux,终端上输入minicom,进入nsh,退出minicom:ctrl+A,然后q



二 PX4固件

Linux环境

 前期准备与ardupilot下一样
step1:烧写PX4固件到pixhawk,连接飞控
step2:进入minicom
step3:?查看详细信息,进行相关测试,如下



三 问题解决

(1)      linux下连接pix时,无法检测到pix。在虚拟机下,选择VM菜单,选择可移动设备,选择PX的驱动提示,选择connect,安装不成功,遇到提示:the usb device iscurrtenly use。

问题解决:

原因:我的虚拟机VMware8不支持usb3.0,只能检测到usb2.0的端口,因此无法读取。解决办法:笔记本一般三个usb口,左边的带ss标号的为usb3.0,右边电源插口的一般标号的为usb2.0,将pix连接这个usb2.0的口。再在虚拟机下选择connect,正常连接。




### 配置 `startup.nsh` 脚本 在 UEFI Shell 环境下,`startup.nsh` 是一个重要的初始化脚本文件,用于定义系统启动时自动执行的一系列命令。此脚本通常位于 EFI 系统分区的根目录或指定路径下。 #### 创建和编辑 `startup.nsh` 为了创建或编辑 `startup.nsh` 文件,可以按照如下方式进行: 1. 使用文本编辑工具编写 `.nsh` 文件的内容。如果是在开发环境中操作,可以直接使用主机上的任意文本编辑器来完成这一过程。 2. 将编写的 `.nsh` 文件复制到目标设备的 EFI 分区相应位置,通常是 `\EFI\Boot\` 或者其他自定义的位置。 #### 示例 `startup.nsh` 内容 以下是 `startup.nsh` 的一个简单例子,展示了如何设置环境变量、加载驱动程序以及运行某些应用程序: ```batch # 设置环境变量 set MYVAR value # 加载必要的驱动程序 map -r fs0: # 执行一系列命令 echo Starting initialization... if exist fs0:\myapp.efi myapp.efi arg1 arg2 echo Initialization complete. ``` 上述代码片段设置了名为 `MYVAR` 的环境变量,并尝试挂载所有可用卷;接着切换至第一个 FAT 类型文件系统 (`fs0:`),最后检查是否存在并运行某个可执行文件 `myapp.efi`[^1]。 对于更复杂的场景,比如 PX4 自动驾驶仪项目中的启动流程,可以通过修改 `src/Romfs/px4fmu_common/init.d/rcS` 和其他类似的 `rc.*` 启动脚本来实现特定功能的需求。这些脚本决定了哪些应用和服务会在飞行控制器启动期间被激活[^2]。 当涉及到具体硬件平台如 Pixhawk 时,还可以利用 `rc.APM` 来定制化不同板子的行为模式,在其中加入延迟(`sleep`)指令或是输出调试信息(`echo`)以便更好地理解整个启动过程中发生了什么变化[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值