Issue regarding environment setup for the OPENMV_AE3

We referred to the environment setup instructions provided in the Git-hub here:
https://github.com/openmv/openmv/blob/master/docs/firmware.md

We are working in a Linux build environment and followed all the steps as described. However, we encountered issues while executing the following build command

make -j$(nproc) TARGET=OPENMV_AE3

We are currently stuck at this step and received 2 errors during the build process.
Errors:-

CL lib/imlib/bayer.c
/bin/sh: 1: /opt/LLVM-ET-Arm-18.1.3-Linux-x86_64/bin//clang: not found
make[1]: *** [common/mkrules.mk:52:
/home/infilux/New_setup/openmv/build/M55_HP/lib/imlib/bayer.o] Error 127
make: ***
[/home/infilux/New_setup/openmv/ports/alif/omv_portconfig.mk:59:
/home/infilux/New_setup/openmv/build/bin/firmware_M55_HP.bin] Error 2

Could you kindly review the issue and guide us on how to resolve it?

Looking forward to your support.

Hello,

Thank you for your response. However, I’m not entirely clear on where exactly the changes need to be made.

Could you please elaborate on the specific file(s) or section(s) where modifications are required? A small code snippet or example would also be very helpful, if possible.

The error is that you don’t have LLVM (clang) installed. So, you need to install clang. The file I linked to shows how to do that.

Okay, Thankyou so much.

Could you please share the steps or guidelines for setting up the development environment specifically for the AE3 (OpenMV-AE3) board on the Alif board?

We would like to ensure we are following the correct procedure for firmware build, toolchain setup, and flashing.

Thanks in advance for your support.

Just curious, why are you building for AE3? I don’t think anyone has prototypes yet. Did we send you a prototype?

There’s no guideline yet, the best way to build the firmware is to look at the firmware build workflow and tools/ci.sh, or docker/Dockerfile and docker/build.sh. As for development, there are some extra steps such updating SE firmware, flashing bootloader and romfs images etc… As for examples, most of them should work out of the box but we don’t have any AE3-specific examples yet.

No, I don’t have a prototype. Actually, I was just trying to set up the Python-based development environment for the E7 (alif Devkit) just like a AE3 as a learning initiative and to explore the firmware build process.

Thanks

In that case, it might be easier to just build upstream MicroPython. It requires less dependencies and there’s basic support for the E7 devkit.

Could you please guide me on the steps to set up MicroPython or Python based environment for the E7 DevKit?
It would be helpful to know which repository or user-guide to use, any required dependencies, and how to build and flash the examples to the board.

In short:

cd micropython
make -j$(nproc) -C mpy-cross
cd ports/alif
make -j$(nproc) BOARD=ALIF_ENSEMBLE submodules
make -j$(nproc) BOARD=ALIF_ENSEMBLE

# Connect cable to SE USB port first before running this.
make -j$(nproc) BOARD=ALIF_ENSEMBLE deploy

There’s more info here on MicroPython in general:

Note we’ll add precompiled firmware images to MicroPython - Python for microcontrollers soon, at least for the E7 devkit.

Thank you

Hi,
As it seemed to us, that we are either missing some vital details or we are unable to follow up with you. I will explain in detail what we are trying to achive here.

OpenMV has a camera module named “OPENMV_AE3” which is based on Alif’s E3 SoC. Now we nither have your module nor the E3, but we have Alif’s E7 based development board named DevKit Gen2. As alif’s E7 and E3 are same, only E7 has more core and E3 has less.

What we are trying to achive is? run your python based example on our board. What we need is some handholding on this, as both openMV and Alif are fairly new for us.

Kindly anwer the below given questions for us and guide us.

  1. Do we need to flash firmware in to our board as per instructed in “docs/firmware.md”?
  2. As per the above discussion, we tried the linux build and docker build in both the cases we faced errors.
  3. How to run python examples on our board?

@Infitech - Sending you a PM.

I understand, but our firmware does Not support the devkit. The only thing that you can run on the devkit is the upstream/vanilla MicroPython, which gives you basic Python support, peripheral drivers (i2c, spi etc..). If that’s enough and you’d like to give that a try, please follow the instructions I posted before:

Thankyou so much for the help @iabdalkader, I will defenetenly try it. Now I understand, that AE3’s firmware is not directly supported for the devboard. The thing is I read it here “Add new port to Alif Ensemble MCUs by dpgeorge · Pull Request #17050 · micropython/micropython · GitHub” as the port discussion defines the supported boards are OpenMV AE3 as well as Alif devket with E7. So I thought just flash and it will work. And frankly I am vey new to all these things and I was looking for some hand holding to keep going.

I will check it, If any other help needed with ask you.

Thank you.

Few question from my end, before I try flashing micropython.

  1. Assuming you have Alif’s devkit, will the flashing micro python keep the system defaults as it is? Meaning devboard shows its memory and stuff, with use of security tool kit, so it will saty the same, right?

  2. As I told, I am new to all this, I understood the flashing, with your help. Now, how to run any basic example, lets say “hello world”. As in AE3 you have your own IDE to connect and flash.

Hope to see you product in market soon as flashing and running is far more easy than this.

Kindly help me this.

Thank you.

  1. Yes, the SE firmware will still be functional. The firmware doesn’t make any permanent changes.Note that you must update SE firmware to the same version we’re using (v1.104.0), which is something you should do anyway as previous releases are buggy.

  2. Once you flash MicroPython, and reset the board, it will enumerate as a mass storage device and CDC. You can use the CDC port to communicate with the VM (to run Python code etc..).

Thankyou so much for the help @iabdalkader.

Hi @iabdalkader,
We did the steps as per instructed and we were able to flash the micropython on the board, only issue is as you told that after resetting the board, it will be detected as mass storage device and CDC storage, but it did not so now we are confused weather its flashed or not? Can you guide us through this.

We tried reflashing too, but same results. The SE version is as suggested, all the versions of the tools are also exact as mentioned.

Thank you.