Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

\Micrium
    \Software
        \uCOS-III
            \Cfg\Template
                \os_app_hooks.c
                \os_cfg.h
                \os_cfg_app.h
            \Source
                \os.h
                \os_cfg_app.c
                \os_core.c
                \os_dbg.c
                \os_flag.c
                \os_intmem.c
                \os_memmsg.c
                \os_msgmutex.c
                \os_mutexprio.c
                \os_pend_multiq.c
                \os_priosem.c
                \os_qstat.c
                \os_semtask.c
                \os_stattick.c
                \os_tasktime.c
                \os_ticktmr.c
                \os_timetrace.ch
                \os_tmrtype.ch
                \OS_VARos_var.c
            \TLS
                \os.h<tool>
                    \os_typetls.hc
            \TLSTrace
                \<tool>
                    \os_tls.cCfg
                        \Template
                            \*.h
                    \Source  
                        \os_trace_events.h
                    \ThirdPartyLibrary  
                        \*.*                      

\Micrium

Contains all software components and projects provided by Micriµm.

...

The directory containing the CPU-independent source code for µC/OS-III. All files in this directory should be included in the build. Features that are not required will be compiled out based on the value of #define constants in os_cfg.h and os_cfg_app.h.

os.h contains the main µC/OS-III header file, which declares constants, macros, µC/OS-III global variables (for use by µC/OS-III only), function prototypes, and more.

os_cfg_app.c declares variables and arrays based on the values in os_cfg_app.h.

os_core.c contains core functionality for µC/OS-III such as OSInit() to initialize µC/OS-III, OSSched() for the task level scheduler, OSIntExit() for the interrupt level scheduler, pend list (or wait list) management (see Pend Lists), ready list management (see Ready List in General Statistics - Run-Time), and more.

os_dbg.c contains declarations of constant variables used by a kernel aware debugger or µC/Probe.

os_flag.c contains the code for event flag management. See Synchronization for details about event flags.os_int.c contains code for the interrupt handler task, which is used when OS_CFG_ISR_POST_DEFERRED_EN (see os_cfg.h) is set to DEF_ENABLED. See Interrupt Management for details regarding the interrupt handler task.

os_mem.c contains code for the µC/OS-III fixed-size memory manager, see Memory Management API Changes.

...

os_mutex.c contains code to manage mutual exclusion semaphores, see Resource Management.os_pend_multi.c contains the code to allow code to pend on multiple semaphores or message queues. This is described in Pending On Multiple Objects API Calls.

os_prio.c contains the code to manage the bitmap table used to keep track of which tasks are ready-to-run, see The Ready List. This file can be replaced by an assembly language equivalent to improve performance if the CPU used provides bit set, clear and test instructions, and a count leading zeros instruction.

...

os_tick.c contains code to manage tasks that have delayed themselves or that are pending on a kernel object with a timeout. See Chapter 5 About Task Management.

os_time.c contains code to allow a task to delay itself until some time expires. See Time Management.

os_tmr.c contains code to manage software timers. See Timer Management.

os_vartrace.c contains the µC/OS-III global variables. These variables are for µC/OS-III to manage and should not be accessed by application code.os.h contains the main µC/OS-III header file, which declares constants, macros, µC/OS-III global variables (for use by µC/OS-III only), function prototypes, and moreh contains code to define the default trace macros. See Trace.

os_type.h contains declarations of µC/OS-III data types that can be changed by the port designer to make better use of the CPU architecture. In this case, the file would typically be copied to the port directory and then modified. See Appendix B, “µC/OS-III Configuration Manual”.

os_var.c contains the µC/OS-III global variables. These variables are for µC/OS-III to manage and should not be accessed by application code.

\TLS\<tool>

The directory containing the compiler interface functions that allow library functions to be thread safe. If this feature is not required then you can omit the files in this directory.

os_tls.c provides the compiler specific thread safe interface functions for the specific <tool>.  Note that the brackets are not included.

\Trace\<tool>\Cfg\Template\*.h

The directory containing the configuration template files to configure the third-party tool code of choice to record the µC/OS-III trace. If this feature is not required then you can omit the entire \Trace directory.

\Trace\<tool>\Source\os_trace_events.h

This file provides the interface between the trace macros called throughout µC/OS-III and the actual functions that record such events depending on your trace recorder tool of choice. If this feature is not required then you can omit the entire \Trace directory.

\Trace\<tool>\ThirdPartyLibrary\*.*

The directory containing the third-party tool code of choice to record the µC/OS-III trace. If this feature is not required then you can omit the entire \Trace directory.