This file has been truncated. show original
# CUBE.AI enabled OpenMV firmware
This package provides the source code for compiling the OpenMV H7 firmware with STM32Cube.AI enabled.
It is a modified version of the official OpenMV firmware enabling Cube.AI optimized neural networks for STM32 targets.
The process for using Cube.AI with OpenMV is described in the following figure.
![Process to use Cube.AI with OpenMV](imgs/openmv_cubeai.png)
Starting from a trained network model, such as a *.h5 saved model* from Keras, Cube.AI will generate the optimized C code for STM32. The generated files need to be copied into this project, then the firmware should be compiled using the GNU ARM Toolchain. Finally, the binary has to be flashed onto the OpenMV target using STM32CubeProgrammer and the user will be able to program the board using microPython and call the neural network prediction function.
> Note: It is recommended to use Linux to build the firmware. Even if it is still possible to do it with Windows, you may run into some issues, for example because of symbolic links in the project. If you're on Windows, you can use [Windows Subsystem for Linux (WSL)](https://docs.microsoft.com/en-us/windows/wsl/install-win10), it will provide a full Linux environnement and the compilation will be painless.
- stm32ai command line to generate the optimized code. [Download the latest version from ST website]( https://www.st.com/en/embedded-software/x-cube-ai.html)
If you have the extension already enabled in Cube.MX, just add