mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-18 00:43:35 +08:00
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>
This commit is contained in:
co-authored by
Ramon Roche
parent
8e6d2ebe4a
commit
88d623bedb
@@ -0,0 +1,112 @@
|
||||
# STM32 Bootloader
|
||||
|
||||
The code for the PX4 bootloader is available from the Github [Bootloader](https://github.com/px4/bootloader) repository.
|
||||
|
||||
## Supported Boards
|
||||
|
||||
* 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)
|
||||
|
||||
## Building the Bootloader
|
||||
|
||||
```sh
|
||||
git clone https://github.com/PX4/Bootloader.git
|
||||
cd Bootloader
|
||||
git submodule init
|
||||
git submodule update
|
||||
make
|
||||
```
|
||||
|
||||
After this step a range of elf files for all supported boards are present in the Bootloader directory.
|
||||
|
||||
## Flashing the Bootloader
|
||||
|
||||
:::warning
|
||||
The right power sequence is critical for some boards to allow JTAG / SWD access. Follow these steps exactly as described.
|
||||
:::
|
||||
|
||||
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.
|
||||
|
||||
The sequence is
|
||||
1. Disconnect the JTAG cable
|
||||
1. Connect the USB power cable
|
||||
1. Connect the JTAG cable
|
||||
|
||||
### Black Magic / Dronecode Probe
|
||||
|
||||
#### Using the right serial port
|
||||
|
||||
* 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).
|
||||
|
||||
#### Prerequisites
|
||||
|
||||
[Download the J-Link software](https://www.segger.com/downloads/jlink) from the Segger website and install it according to their instructions.
|
||||
|
||||
#### Run the JLink GDB server
|
||||
|
||||
The command below is used to run the server for flight controllers that use the STM32F427VI 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
|
||||
|
||||
|
||||
#### Connect GDB
|
||||
|
||||
```sh
|
||||
arm-none-eabi-gdb
|
||||
(gdb) tar ext :2331
|
||||
(gdb) load aerofcv1_bl.elf
|
||||
```
|
||||
|
||||
### Troubleshooting
|
||||
|
||||
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.
|
||||
|
||||
If this error message occurs:
|
||||
```
|
||||
Error erasing flash with vFlashErase packet
|
||||
```
|
||||
|
||||
Disconnect the target (while leaving JTAG connected) and run
|
||||
|
||||
```sh
|
||||
mon tpwr disable
|
||||
swdp_scan
|
||||
attach 1
|
||||
load tapv1_bl.elf
|
||||
```
|
||||
This will disable target powering and attempt another flash cycle.
|
||||
Reference in New Issue
Block a user