Flashing firmware from CLI

Hi All,

I am just getting started with the OpenMV H7 and already having a great time.

I am experimenting with the C++ and building the firmware as this is more my background than python. Everything is going well except I am not sure the best way to flash the board via the USB without the OpenMV IDE. Using the OpenMV IDE is fine for now, however I would like to automate the process with a CLI utility (could also use it as part of a build system).

Does anyone have any suggestions on how to do this? I can’t see to find anything that works to erase and flash the bin firmware file via the USB (like the IDE does).

I am considering pulling out the code from the OpenMV IDE, but figured surely something must already exist. The python scripts under the tools path seem to be more related to dfu than flashing the bin file.

Thanks for your help,

Nothing exists yet for this. Partly because you can just jtag the system like a normal arm chip. This is how we build them in the factory. Or, alternatively, you put them into DFU mode and then use that to load firmware.

You should rip out the code from the IDE to flash the MCU otherwise.


But, if you really want to help! It would be awesome if you were able to write a qt program that builds with the IDE and uses the IDE code to do this. I never have time to get to it. Having a command line loader would definitely be helpful.

That said, the IDE isn’t exactly… super clean anymore. Parts of it were architected well. But, generally, way too much code has migrated into the connect() function.

Cheers for the fast response. I might start by switching to the jtag and see if I get time to write the USB bootloader “client”.

I had a quick look and couldn’t immediately work out which QT packages were needed to boot it, I was installing them through the default apt repos in Ubuntu 20.04. Is there a complete list of the openMV IDE dependancies?

Just Qt. The ide has a pretty robust build script.