Software Defined Hardware (in this case) gives the possibility to have more flexible hardware interfaces that can be configured completely via software.
This repository contains a prototype to a completely modular approach of such a system. It is designed to be configured only via Devicetree without any further configuration.
The Prototype is structured into multiple components:
-
Coprocessor part: In this case this Zephyr application with a module for every type of hardware interface (e.g. uart, i2c, spi) handling n instances of that device
-
Linux part: A kernel module for every hardware interface. The kernel module needs to listen to the RPMsg nameservice of the coprocessors module
Both parts are connected via OpenAMP / RPMsg for communication. That implies, that the Linux starts the coprocessor via remoteproc.