Inference on Ambiq Apollo3 using Ambiq SDK

Im looking for an easy to port example so my impulse can run on one of sparkfuns artemis boards, with the Ambiq Apollo 3 uc. I am using the Ambiq SDK (GCC).

Has anyone succeeded in running either the Standalone CPP or Standalone C using Ambiqs SDK ?

As i read it, both examples builds a lib that needs linking with, in my case the SDK .
Currently i would guess the ECM standalone inferencing is the closet example to what i need ?

Flat C is preferred over CPP, since the SDK and BSP is written in C

br
Morten

Hi @opprud, no experience with the Ambiq SDK but C makes it more complicated, requires you to compile the library and then link against it. If you can switch over to C++ builds this makes it much easier. You can keep the SDK and BSP in C (the ST IoT Discovery Kit BSP is also in C), just your main file needs to be switched over to .cpp.

Quick response, thx :slight_smile: It seems the BSP will do C++, will try…

Does that mean CPP should just be built by including source files in the example, where only C builds requires a lib ?

@opprud correct, for C library:

  1. Build lib.
  2. Link against lib (there are C headers in the SDK).

F.e. see here how we first build the lib, then link against it: https://github.com/edgeimpulse/example-standalone-inferencing-c/blob/1067ca7dcdcbf59c9e9e7213a7c96328be99b5c9/Makefile.tflite#L51

@opprud

Have you got this up and running for the Artemis?