Flash new bootloader to a Pixhawk 2.1 with no debug port, many problems with uploading firmware


I have had several Pixhawk 2.1 devices, mostly manufactured by Hex.

It’s been a complete gamble weather or not these devices work or not (Outside of the hardware failure rate being near 1/3 now), that is sometimes uploading new PX4 firmware goes off without a hitch, other times it’s a nightmare of trying over and over again, with weird quirks such as having to use fmu-v2_default.px4 rather than the fmu-v3 version despite the 2.1 supposedly using the fmuv3 boards with the increased flash memory (attempting to load fmuv3 gives memory out of range errors).

I am concerned that from the factory the bootloaders on these devices are outdated or otherwise wrong, and I would like to update them.

All the advice I find is around using the debug port and a Dronecode Probe JTAG my pixhawks do not have a debug port so this doesn’t seem possible.

Can I update the STM32 bootloader over a serial port, or some hidden port inside the unit?

Thanks for any help

Good day,
just check on the side coz its weird you don’t have the debug port

You shouldn’t need to use jtag.
Check to see if you have a parameter called SYS_BL_UPDATE. If you do, enable it and reboot.
If you don’t, one option is flash ArduPilot in order to do the bootloader update (https://ardupilot.org/dev/docs/bootloader.html), or build a px4 firmware for your board that includes the feature (I think Master does).

if im not mistaken the parameter SYS_BL_UPDATE doesn’t exist anymore in QGC… if the bootloader is already corrupted better reflash it… a cheaper stlink and a little bit of DIY for the cables can solve everything

The side where the edison debug and debug ports should be just has two empty holes, with no ports.

I think the debug port is only found on the quite old edison-compatible version of the Pixhawk?

It is now my understanding I can access a shell via Serial 5 (Cons) and an FTDI cable or similar.

SYS_BL_UPDATE can be found in beta versions of fmuv2 firmware, but not the fmuv3 firmware which I found rather odd, since I was stuck using fmuv2 updating the bootloader didn’t help, I can’t find the equivalent parameter for fmuv3.

I’ve tested another way for update the bootloader…done it using and sd card, on all my pixhawk variants have work.
Just send me pls the pics of the sides of your board pls coz maybe and im pretty sure of this the plastic of the board cover the debug ports. Edison board have a different connector. just try remove the downside cover… you must find one debug port for mcu and one for the IO co processor.

This is the method I ended up going with- thanks!