Description: This is a transplant in the ATMEGA16 UCOS operating system on the example of the normal migration of different, the example of the system will interrupt the task stack and stack various tasks separately, and interrupt nesting protection when in the interrupt context and the allocation of All temporary variables only one break in the stack, the benefits can be smaller in the MCU memory use UCOS, disadvantages are also obvious, it increases the break time and complexity of switching to a choice based on the actual situation . This example uses the IAR EWAVR 5.30 open.
File list (Check if you may need any files):
IAR_UCOS_II\Debug\Exe\IAR_UCOS_II.d90
...........\.....\List\IAR_UCOS_II.map
...........\.....\....\main.lst
...........\.....\....\main.s90
...........\.....\Obj\IAR_UCOS_II.pbd
...........\.....\...\Interrup_vect.r90
...........\.....\...\main.r90
...........\.....\...\OS_CPU_A.r90
...........\.....\...\OS_CPU_C.r90
...........\.....\...\ucos_ii.r90
...........\IAR_UCOS_II.dep
...........\IAR_UCOS_II.ewd
...........\IAR_UCOS_II.ewp
...........\IAR_UCOS_II.eww
...........\Interrup_vect.S90
...........\main.c
...........\os_cfg_r.h
...........\os_core.c
...........\os_cpu.h
...........\OS_CPU_A.S90
...........\OS_CPU_C.C
...........\os_dbg_r.c
...........\os_flag.c
...........\os_mbox.c
...........\os_mem.c
...........\os_mutex.c
...........\os_q.c
...........\os_sem.c
...........\os_task.c
...........\os_time.c
...........\settings\IAR_UCOS_II.cspy.bat
...........\........\IAR_UCOS_II.dbgdt
...........\........\IAR_UCOS_II.dni
...........\........\IAR_UCOS_II.wsdt
...........\ucos_ii.c
...........\ucos_ii.h
...........\Debug\Exe
...........\.....\List
...........\.....\Obj
...........\Debug
...........\settings
IAR_UCOS_II