Framework for embedded heterogenous devices software development.
- Software development for specific hardware:
- Real-time (code for MCU: bare-metal or with FreeRTOS).
- Application (general-purpose code to run under Linux).
- Control system interface to hardware (EPICS IOC (DeviceSupport)).
- Establishing a communication between previous components.
- Automation of building, testing and deployment processes.
- NXP/Freescale i.MX7 (deprecated)
- NXP/Freescale i.MX8M Nano
To use the framework you need:
- Include Ferrite to your project as submodule.
- Specify your project components derived from Ferrite component templates.
- Add
managescript to your project.
You may look at Tornado project for reference usage examples.
Framework also provides some libraries with common routines:
- C - for real-time code (including HAL).
- C++ - for application code and IOC.
- Python - for processes automation and CI integration.
The framework contains tests for common use cases along with libraries unit tests.
g++cmakepython3perl
poetry
At first you need to install python dependencies. Run the following command in the project root:
poetry installThis command will build software and run all tests:
poetry run python -m ferrite.manage all.test