RTOS Layer-Architecture

μC/CAN assumes the presence of an RTOS but, the RTOS layer allows μC/CAN to be independent of any specific RTOS.

As a minimum, the RTOS you use needs to provide the following services:

  • Semaphore
  • Timer Services (to get time)

μC/CAN is provided with a μC/OS-II and μC/OS-III interface. If you use a different RTOS, you can use the can_os.* for μC/OS-II or μC/OS-III as a template to interface to the RTOS of your choice.

Its also possible to use μC/CAN without an RTOS. In this case the function to get time information needs to be supplied. Note that the supplied can_os.* files for NO OS ('NONE') is replacing the OS semaphore and is polling on the flags instead. This might result in a decrease of overall system performance.