: Config Error: Failed to update IO firmware with custom hardware

hello, dev team
I am developing the custom autopilot hardware using Stm32h7h53 now I was added the IOMCU into my autopilot hardware. The firmware is developed and uploaded into my main MCU, once I connected the IOMCU into my main MCU the error was shown in mission planner Config Error: Failed to update IO firmware.

Sorry, that is still not enough information to provide an answer.

Share your code and your schematics.

Hello @amilcarlucas
Thank you for your reply

I have used Nucleo-H753 to develop my main FMU system.
Everything worked fine in the FMU system.

I tried to add IOMCU for which I have taken stm32 blue pill for development.
I flashed the IOMCU bootloader from the following directory: ardupilot\Tools\bootloaders\iomcu_bl.bin
I included the following IO firmware file in my configuration file: ardupilot\Tools\IO_Firmware\iofirmware_f103_lowpolh.bin

here is my git fork link:

https://github.com/Sooryakillis/ardupilot/tree/master/libraries/AP_HAL_ChibiOS/hwdef/KILLIS_TEST_6

Could you please guide me to integrate io MCU to the FMU

Have you read Porting to a new flight controller board — Dev documentation ?

yes, I have read the porting documentation.

I never had that error so I can not help you further, but at least now there is enough information here so that others can.

Okay @amilcarlucas Thank you for your consideration to reply to my question.

Hello, I am also trying to port the functions in ardupilot to stm32H753, but I have encountered some difficulties recently. When I was porting, I rarely saw the definition and use of the initialization settings of the port, such as pinstart, pinmode and other functions. I saw your speech on the forum and would like to communicate with you. Would you like to share some of your code with me for reference?

hello @chaojituolu888 can you plz give me the clear view of what you’re facing.

In ardupilot, h743 is used as fmu and f103 as iomcu. Recently, I am looking at the relevant content of pwm input and output, but when I read some literature, I only know to rewrite the hedaf file to adapt it, but as a port, I think it is necessary to find and modify its initialization method. I found the pwmStart() function according to some literature, but I can’t find the definition of this function in the whole file, including some pinmode() and other functions to operate the pins, which I rarely find.

At the same time, I want to try to remove f103, because h753 is powerful enough. I don’t know where the content about pin configuration initialization is. I can’t find it, which makes it difficult for me to modify these registers.