``` . ├── arch --- Code of the kernel instruction architecture layer │   ├── arm --- ARM32 architecture │   │   ├── arm9 --- ARM9 architecture │   │   │ └── gcc --- Implementation of the GCC toolchain │   │   ├── cortex-m3 --- Cortex-m3 architecture │   │   │ └── keil --- Implementation of the keil toolchain │   │   ├── cortex-m33 --- Cortex-m33 architecture │   │   │ │── gcc --- Implementation of the GCC toolchain │   │   │ │ │── NTZ --- Cortex-m33 Non-TrustZone architecture │   │   │ │ └── TZ --- Cortex-m33 TrustZone architecture │   │   │ └── iar --- Implementation of the IAR toolchain │   │   │ │── NTZ --- Cortex-m33 Non-TrustZone architecture │   │   │ └── TZ --- Cortex-m33 TrustZone architecture │   │   └── cortex-m4 --- Cortex-m4 architecture │   │   │ │── gcc --- Implementation of the GCC toolchain │   │   │ └── iar --- Implementation of the IAR toolchain │   │   └── cortex-m7 --- Cortex-m7 architecture │   │   │── gcc --- Implementation of the GCC toolchain │   │   └── iar --- Implementation of the IAR toolchain │   ├── csky --- csky architecture │   │ └── v2 --- csky v2 architecture │   │   └── gcc --- Implementation of the GCC toolchain │   ├── xtensa --- xtensa architecture │   │ └── lx6 --- xtensa lx6 architecture │   │   └── gcc --- Implementation of the GCC toolchain │   ├── risc-v --- Risc-v architecture │   │ ├── nuclei --- Nuclei architecture │   │   │ └── gcc --- Implementation of the GCC toolchain │   │ └── riscv32 --- Riscv32 architecture │   │   └── gcc --- Implementation of the GCC toolchain │   └── include │   ├── los_arch.h --- Arch initialization │   ├── los_atomic.h --- Atomic operations │   ├── los_context.h --- Context switch │   ├── los_interrupt.h --- Interrupts │   ├── los_mpu.h --- Memory protection unit operations │   └── los_timer.h --- Timer operations ├── components --- Components available for porting and header files exposed externally │ ├── backtrace --- Backtrace support │ ├── cppsupport --- C++ support │ ├── cpup --- CPU percent (CPUP) │ ├── dynlink --- Dynamic loading and linking │ ├── exchook --- Exception hooks │ ├── fs --- File systems │ ├── lmk --- Low memory killer functions │ ├── lms --- Lite memory sanitizer functions │ ├── net --- Networking functions │ ├── power --- Power management │ ├── security --- Security isolation │ ├── shell --- Shell function │ ├── signal --- Signal support │ ├── fs --- File systems │ └── trace --- Trace tool ├── drivers --- driver Kconfig ├── kal --- Kernel Abstraction Layer, APIs exposed externally, including CMSIS APIs and part of POSIX APIs │   ├── cmsis --- CMSIS │   └── posix --- POSIX ├── kernel --- Code for defining the minimum kernel function set │   ├── include │   │   ├── los_config.h --- Configuration parameters │   │   ├── los_event.h --- Events management │   │   ├── los_membox.h --- Membox management │   │   ├── los_memory.h --- Heap memory management │   │   ├── los_mux.h --- Mutex │   │   ├── los_queue.h --- Queue │   │   ├── los_sched.h --- Scheduler │   │   ├── los_sem.h --- Semaphores │   │   ├── los_sortlink.h --- Sort link │   │   ├── los_swtmr.h --- Timer │   │   ├── los_task.h --- Tasks │   │   └── los_tick.h --- Tick │   └── src ├── testsuites --- Kernel testsuites ├── tools --- Kernel tools └── utils ├── internal ├── BUILD.gn --- Gn build config file ├── los_compiler.h --- Compiler configuration ├── los_debug.c --- Debugging facilities ├── los_debug.h ├── los_error.c --- Errors codes and definitions ├── los_error.h ├── los_hook.c --- Hook function facilities ├── los_hook.h ├── los_list.h --- Doubly linked list └── los_reg.h --- Register macros ```