Static initialization
These mechanisms are provided, so that various structures are generated into application image. These replace need to call os routines manually. Currently it is possible to statically initialize processes and threads.
Function-like Macros
VTABLE
OS_APPLICATION_MMIO_RANGE(application, from, to)
OS_APPLICATION_MMIO_RANGES(application, from, to, from2, to2)
OS_APPLICATION(application)
This will create userspace process entry in process table. Process is used to contain information on MPU configuration all threads bound to this process can use.
OS_THREAD_CREATE(application, entrypoint, data, priority, core)
Use this to automatically create thread upon kernel start. With this you don’t need to call thread_create()
application name of process/application you want to bind your thread to.
entrypoint entrypoint function name. This function will be given control once thread starts.
data user-defined data passed to entrypoint function.
priority thread priority of newly created thread
- application name of process/application you want to bind your thread to.
- entrypoint entrypoint function name. This function will be given control once thread starts.
- data user-defined data passed to entrypoint function.
- priority thread priority of newly created thread