Full Changelog: https://github.com/w2016561536/PX4-Autopilot/commits/v1.14.3-rc8
主要更改内容:
- 更新到 nuttx 12.10
Major changes:
- Update to nuttx 12.10
Flash and use: <中文版往下翻>
- Download three bin files and esptool, or download
burn.zip(included esptool and firmware inside). You can download esptool from here: https://github.com/espressif/esptool/releases - If you download the
burn.zip, unzip the folder inside, go into the folderburn, open the terminal here, executeesptool.exe write_flash 0x0 ./bootloader.bin 0x8000 ./partition-table.bin 0x10000 ./px4_esp32s3_default.bin. Or you can execute the bat script inside directly. Notice: Just connect only one serial device, i.e. only esp32s3, to your computer. If you need to specify the com port, you can use-p <COMPORT>to specify it. Example:esptool.exe -p COM1 write_flash 0x0 ./bootloader.bin 0x8000 ./partition-table.bin 0x10000 ./px4_esp32s3_default.bin - Esp32s3 ACM USB port is only used for download and power. UART0 is used as sNuttx Terminal. UART1 is used as Mavlink default, baudrate:
115200 8N1. UART2 is used as SBUS RC input as default. If you want to use SBUS on UART2. You need to enableUART2_RX_INVin QGC params setting. Also, UART1 can be used as SBUS RC input. - Wifi is used as Mavlink. You can connect to AP for QGC connection. Usually QGC will auto connect to the controller if wifi is connected. Wifi ssid:
MY_PX4, passowrd:12345678. If you want to edit SSID and password, you can edit in https://github.com/w2016561536/PX4-Autopilot/blob/9d1a63089d1304331fb54f01465e832addf69ed9/boards/px4/esp32s3/nuttx-config/nsh/defconfig#L2246 . You need to recompile the full project. - DHCP Server is closed for performance. You need to set ip manually . Full IP config: Address:
10.0.0.4, Gateway:10.0.0.1, NetMask:255.255.255.0. Do not connect more than 1 device at a time.
Build Notes (extra):
- Because Espressif use hal lib in nuttx, you need to build nuttx in
platform/nuttx/Nuttx/nuttxfor configurationesp32s3-devkit:sta_softapin order to apply hal lib patchs. Detailed method:
$ cd ./platforms/nuttx/NuttX/nuttx/
$ rm .config
$ ./tools/configure.sh esp32s3-devkit:sta_softap
$ make -j
# Waiting for build finish, then you can build px4
$ cd ../../../../
$ make espressif_esp32s3
- This release use this compile tool: https://github.com/espressif/crosstool-NG/releases/tag/esp-14.2.0_20241119
- For this release, you should download esptool from here: https://github.com/espressif/esptool/releases . Do not download from apt. This release uses version:
v4.8.1.
烧录与使用:
- 下载下方的三个bin文件与esptool工具,或者下载
burp.zip,里面有固件和esptool工具。Esptool下载链接: https://github.com/espressif/esptool/releases - 如果你下载的是
burp.zip,将里面的文件夹进行解压,进入burn文件夹,在文件夹空白处Shift+右键打开终端,执行esptool.exe write_flash 0x0 ./bootloader.bin 0x8000 ./partition-table.bin 0x10000 ./px4_esp32s3_default.bin,或者直接执行文件夹内的bat脚本。注意,确保只连接ESP32S3这一个串口设备到电脑。如果你需要指定串口,可以在命令中带上-p <COMPORT>参数来指定参数,比如:esptool.exe -p COM1 write_flash 0x0 ./bootloader.bin 0x8000 ./partition-table.bin 0x10000 ./px4_esp32s3_default.bin - ESP32S3的USB串口只用作烧录程序和供电,它的串口0被用作NuttX系统的终端,串口1默认用于Mavlink,波特率:
115200 8N1,串口2可以链接SBUS接收机,如果串口2需要连接接收机,你需要在地面站参数列表里启用选项UART2_RX_INV,串口1也是如此。 - WIFI被用作Mavlink传输,你可以通过WIFI与飞机连接。正常情况下,连接wifi后,地面站软件应自动发现飞机并连接。WIFI名字:
MY_PX4, 密码:12345678,如果需要修改,改动的地方在此: https://github.com/w2016561536/PX4-Autopilot/blob/9d1a63089d1304331fb54f01465e832addf69ed9/boards/px4/esp32s3/nuttx-config/nsh/defconfig#L2246 ,修改后需要重新编译工程。 - 已关闭DHCP服务器,IP设置为如下参数:地址:
10.0.0.4,网关:10.0.0.1,子网掩码:255.255.255.0(对应网络前缀24),同时只能有一个设备连接飞机。
编译注释:
- 由于乐鑫在Nuttx中使用HAL库,因此编译之前需要先打HAL库补丁,在platform/nuttx/Nuttx/nuttx下配置并编译 esp32s3-devkit:sta_softap。具体方法:
$ cd ./platforms/nuttx/NuttX/nuttx/
$ rm .config
$ ./tools/configure.sh esp32s3-devkit:sta_softap
$ make -j
# Waiting for build finish, then you can build px4
$ cd ../../../../
$ make espressif_esp32s3
- 本次release使用的工具链:https://github.com/espressif/crosstool-NG/releases/tag/esp-14.2.0_20241119
- 本次release使用的ESPTOOL来自: https://github.com/espressif/esptool/releases ,版本
v4.8.1,不要从apt安装。