NanoEdge AI integration
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-08-01 6:38 AM
Hi,
I am a research intern working on edge AI for anomaly detection.
I am trying to integrate my anomaly detection NEAI model with a Network Management Card project which is in C++(cpp) running on STM32MP1.
I would like to know the possibility of integration NEAI anomaly detection static library with a C++ project running on ST MCU.
Thanks in advance!
Solved! Go to Solution.
- Labels:
-
NanoEdge AI Studio
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-08-05 1:44 AM
Hi,
There are no restrictions on using the NEAI static library in a C++ project.
Sam
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-08-05 1:44 AM
Hi,
There are no restrictions on using the NEAI static library in a C++ project.
Sam
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-08-05 5:49 AM
Thank you Sam for the solution.
Do I need to take any precautions for using neai static library and its functions while integrating in a C++ project or I do it as I would to integrate with a C project.
Mansi
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-08-05 6:16 AM
Hi Mansi,
I don't see any specific precautions to take when integrating the NEAI library into a C++ project.
Just make sure to follow the Studio's documentation:
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-08-14 2:55 AM
Hi Sam,
After integrating neai lib with my C++ project, I am getting the below incompatible error when I build my project locally on my Ubuntu VM.
Due to the error I skipped the local build and went ahead to build my neai integrated Yocto based project on STM32MP1 target with Linux .
I need some help to understand the cause of the incompatibility build error on my VM and confirm if neai library can run on my STM32MP1 target with Yocto based C++ firmware and Linux.
Thanks in advance!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-08-14 3:58 AM
Hello Mansi,
The incompatibility issue could have multiple causes.
Can you please check if the float ABI settings are matching ?
And activate the verbose mode in Yocto, and provide me with the linker log files ?
Thanks,
Sam
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-08-14 5:03 AM
Hi Sam,
Thank you for the prompt response.
I am attaching the screenshot of error linker logs for Cortex A7 (STM32MP1) target and warning related to floatABI and architecture.
While exporting the neai library I have selected hard-float ABI and checked fshort nums which gives below output.
- error - "conflicting architecture profiles M/A " and
- warning " (NanoEdgeAI.o) uses variable-size enums yet the output is to use 32-bit enums; use of enum values across objects may fail"
Thanks,
Mansi
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-08-14 7:36 AM - edited ‎2024-08-14 7:43 AM
Hi Sam,
Adding to the above message, as my target is an STM32MP1 (Cortex A7 + Cortex M4) and my NEAI project was created for cortex - M4 as STM32MP1 target was not available but I intend to deploy it on Cortex A7 because -
- AI model inputs are available on Cortex A7 (for my target) so running AI model on Cortex M4 requires inter processor communication between CA7 and CM4 via RPMsgs and OpenAMP which is complicated.
I could see a solution to my problem could be to create NEAI project for Cortex A7 as a target but unfortunately it seems that NanoEdge AI doesn't have support for Cortex A7 in target selection.
Can you please advise the way around for my case?
