loaded from PCB flash w microSD mounted


I would like to have the Cam H7 plus be able to use a freshly formatted microSD card with no on it. Is it possible to have the device use the program saved on the PCB flash, but still mount and use the microSD card for data storage. I can’t seem to get my program to run without the IDE unless the is also on my microSD card.

Thanks in advance for any assistance.


This is not a feature we have right now. However, you can edit our main.c file in our firmware to change how the system behaves.

Please see our github and setup the firmware development process and then you can edit what code is run on the system and flash your script into the board and have that run.

I’ll keep this in mind as something to support soon.

I was in the process of following the firmware guide:

VirtualBox - Installed
Ubuntu Linux 20.04.1 LTS - Installed
sudo apt-get remove gcc-arm-none-eabi - package wasn’t installed
sudo apt-get autoremove - nothing needed to be removed
sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa - starts off OK, but then gives this error.

E: The repository ‘ focal Release’ does not have a Release file.
N: Updating from such a repository can’t be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

The firmware guide did not specify an Ubuntu version, but does it need to be an earlier one than 20.04.1 LTS?


I have ubuntu 16.04.

Um, you just need arm-gcc-none-eabi installed. However, you want the latest version of it. The whole point of the PPA thing is to get the latest version and not just the latest per your OSes package manger which could be quite outdated. So, try just:

sudo apt-get install arm-gcc-none-eabi


I am having some errors during the build in the src folder. I think it may be the result of over aggressive -Wall -Werror CFLAGs. I can suppress them with -Wno-stringop-overflow -Wno-array-bounds -Wno-stringop-truncation but was wondering if there a specific arm-none-eabi-gcc version I should be using to build the project?


Just realized default make was for OPENMV4 when i should have been using OPENMV4P

make clean
make -j4 TARGET=OPENMV4P V=1

produces the following error while using arm-none-eabi-gcc version 9.2.1 20191025 (release)

openmv/src/build/bin/firmware.elf section .text' will not fit in region FLASH_TEXT’
/usr/lib/gcc/arm-none-eabi/9.2.1/…/…/…/arm-none-eabi/bin/ld: region `FLASH_TEXT’ overflowed by 1816 bytes
collect2: error: ld returned 1 exit status
make: *** [Makefile:625: firmware] Error 1

Weird, that means that whatever gcc version you are using outputs a larger binary for the same flags passed.

Um, go into SRC/omv/boards/openmv4p and edit the img lib config file and turn off features you don’t need to free up flash.


Is this issue still in the issue list? I am also thinking that it would be good to have “hidden” flash drive to run codes and SD card which is shown in USB when it is present

This is something I’ve wanted for the while. However, it gets really trick trying to mount said drive in windows. If Arduino requests it then it will get done.