The only thing that is required from the user is:
- A selection of interface routines to interact with the outside world.
- A specification of frequencies for the scheduling.
- A specification of the desired data reporting.
The user does not need to know the details of the processor in order to create an application. For fairly common applications, he can use the library of building blocks as such and even does not need to create additional building blocks.