Training
×

Low-Level Differences

In general, the low-level functions should be considered as a tool for the implementers of the INtime kernel. There are cases where low level functions may be useful for the RT programmer:
- when the handler - thread model for interrupt processing is too restrictive, an interrupt handler may use low level semaphores / mailboxes and other low-level functions (for an example, let the INtime Application wizard generate an interrupt handler using a low-level semaphore/mailbox).
- when the limit on the number of objects becomes a problem (8K objects per system; no limit on low level objects).
 
Before applying any low-level function, make sure that there is no regular alternative. Be aware that Low-level objects are not protected against unexpected deletion and there is no error checking on parameters to low level functions, such as the type of an object, or the size of a structure.
You must allocate memory for low-level objects and may allocate memory beyond low-level object needs. You can use this additional memory to store application-specific state information associated with the object.
 
Low level functions are identified by the prefix “kn”, e.g., knCreateSemaphore vs. CreateSemaphore