AIfES functions explicitly work with pointer arithmetic and only declare the most necessary variables in a function. This means, the storage areas for the training data and the weights are provided by the main program. AIfES functions access these storage areas by transferring a pointer without the need of great resources themselves.
Platform independent and compatible
By using the compatible programming with GCC porting on nearly any platform is possible. This enables the completely self-sufficient integration including the learning algorithm on an embedded system. Depending on the customer's request, the Fraunhofer IMS can support in compiling the source code for the respective platform.
For the use with Windows for example the source code is compiled as »Dynamic Link Library« (DLL), to be able to integrate them in software tools such as LABVIEW or MATLAB. Especially the direct connection to MATLAB is useful to test different kinds of data processing.
The integration in different software development environments like Visual Studio or a Python-IDE is also possible. The main program, which binds the DLL can therefore also be in a different programming language such as C++, C#, Python, VB.NET, Java, …
For the first development of the individual ANN the Computer as a platform is a suitable choice to perform fast calculations. After the right configuration is completed the porting to the embedded system can be conducted.
A small selection of platforms and microcontrollers AIfES was already tested with:
- Windows (DLL)
- Raspberry Pi with Raspbian
- Arduino UNO
- STM32 F4 Series (ARM Cortex-M4)