PX4-Autopilot/docs/zh/software_update/stm32_bootloader.md
Hamish Willee 88d623bedb
Move PX4 Guide source into /docs (#24490)
* Add vitepress tree

* Update existing workflows so they dont trigger on changes in the docs path

* Add nojekyll, package.json, LICENCE etc

* Add crowdin docs upload/download scripts

* Add docs flaw checker workflows

* Used docs prefix for docs workflows

* Crowdin obvious fixes

* ci: docs move to self hosted runner

runs on a beefy server for faster builds

Signed-off-by: Ramon Roche <mrpollo@gmail.com>

* ci: don't run build action for docs or ci changes

Signed-off-by: Ramon Roche <mrpollo@gmail.com>

* ci: update runners

Signed-off-by: Ramon Roche <mrpollo@gmail.com>

* Add docs/en

* Add docs assets and scripts

* Fix up editlinks to point to PX4 sources

* Download just the translations that are supported

* Add translation sources for zh, uk, ko

* Update latest tranlsation and uorb graphs

* update vitepress to latest

---------

Signed-off-by: Ramon Roche <mrpollo@gmail.com>
Co-authored-by: Ramon Roche <mrpollo@gmail.com>
2025-03-13 16:08:27 +11:00

115 lines
2.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# STM32 Bootloader
The code for the PX4 bootloader is available from the Github [Bootloader](https://github.com/px4/bootloader) repository.
## 支持的飞控板
- FMUv2 (Pixhawk 1, STM32F4)
- FMUv3 (Pixhawk 2, STM32F4)
- FMUv4 (Pixracer 3 and Pixhawk 3 Pro, STM32F4)
- FMUv5 (Pixhawk 4, STM32F7)
- TAPv1 (TBA, STM32F4)
- ASCv1 (TBA, STM32F4)
## 构建 Bootloader
```sh
git clone https://github.com/PX4/Bootloader.git
cd Bootloader
git submodule init
git submodule update
make
```
在此步骤之后,所有支持的主板的 elf 文件范围都出现在引导 Bootloader 目录中。
## 刷写 Bootloader
:::warning
The right power sequence is critical for some boards to allow JTAG / SWD access. 其他 JTAG 仿真器需要不同但相似的步骤。
:::
The instructions below are valid for a Blackmagic / Dronecode probe.
Other JTAG probes will need different but similar steps.
Developers attempting to flash the bootloader should have the required knowledge.
If you do not know how to do this you probably should reconsider if you really need to change anything about the bootloader.
这些指令适用于<a href="https://www.segger.com/jlink-gdb-server.html"> J-Link GDB server</a>
1. 断开 JTAG 电缆的连接
2. 连接 USB 电源线
3. 连接 JTAG 电缆
### 黑魔法/无人机探测器
#### 使用正确的串行端口
- On LINUX: `/dev/serial/by-id/usb-Black_Sphere_XXX-if00`
- On MAC OS: Make sure to use the cu.xxx port, not the tty.xxx port: `tar ext /dev/tty.usbmodemDDEasdf`
```sh
arm-none-eabi-gdb
(gdb) tar ext /dev/serial/by-id/usb-Black_Sphere_XXX-if00
(gdb) mon swdp_scan
(gdb) attach 1
(gdb) mon option erase
(gdb) mon erase_mass
(gdb) load tapv1_bl.elf
...
Transfer rate: 17 KB/sec, 828 bytes/write.
(gdb) kill
```
### J-Link
These instructions are for the [J-Link GDB server](https://www.segger.com/jlink-gdb-server.html).
#### 系统必备组件
[Download the J-Link software](https://www.segger.com/downloads/jlink) from the Segger website and install it according to their instructions.
#### 运行 JLink GDB 服务器
常见目标的 <code>--device</code>/SoC是
```sh
JLinkGDBServer -select USB=0 -device STM32F427VI -if SWD-DP -speed 20000
```
The `--device`/SoC for common targets is:
- **FMUv2, FMUv3, FMUv4, aerofc-v1, mindpx-v2:** STM32F427VI
- **px4_fmu-v4pro:** STM32F469II
- **px4_fmu-v5:** STM32F765II
- **crazyflie:** STM32F405RG
#### 连接 GDB
```sh
arm-none-eabi-gdb
(gdb) tar ext :2331
(gdb) load aerofcv1_bl.elf
```
### 故障处理
If any of the commands above are not found, you are either not using a Blackmagic probe or its software is outdated.
Upgrade the on-probe software first.
断开目标连接(同时保持 JTAG 连接)并运行
```
Error erasing flash with vFlashErase packet
```
这将禁用目标供电并尝试另一个闪光周期。
```sh
mon tpwr disable
swdp_scan
attach 1
load tapv1_bl.elf
```
This will disable target powering and attempt another flash cycle.