From cf439885234e0955bab09834b3b876d627c81605 Mon Sep 17 00:00:00 2001
From: rtos_shang <614371500@qq.com>
Date: Fri, 21 May 2021 11:33:24 +0800
Subject: [PATCH] fix: update arch_spec.md
update arch_spec.md, add Chinese edition of arch_spec_zh.md and add link to readme files
close https://gitee.com/openharmony/kernel_liteos_m/issues/I3QQ93 https://gitee.com/openharmony/kernel_liteos_m/issues/I3J7RS
---
README.md | 8 ++++-
README_zh.md | 8 ++++-
arch_spec.md | 90 +++++++++++++++++++++++++++++++------------------
arch_spec_zh.md | 76 +++++++++++++++++++++++++++++++++++++++++
4 files changed, 147 insertions(+), 35 deletions(-)
create mode 100644 arch_spec_zh.md
diff --git a/README.md b/README.md
index a3d1d4ca..b024ee82 100644
--- a/README.md
+++ b/README.md
@@ -15,11 +15,17 @@ The OpenHarmony LiteOS Cortex-M is the kernel designed for the lightweight opera
## Directory Structure
+The directory structure is listed as below, for the detailed directories, please refer to [arch_spec.md](https://gitee.com/openharmony/kernel_liteos_m/blob/master/arch_spec.md).
+
```
/kernel/liteos_m
├── components # Optional components
+│ ├── backtrace # backtrace support
│ ├── cppsupport # C++ support
-│ └── cpup # CPU possession (CPUP)
+│ ├── cpup # CPU possession (CPUP)
+│ ├── exchook # Exception hook
+│ ├── fs # File system
+│ └── net # Network support
├── kal # Kernel abstraction layer
│ ├── cmsis # CMSIS-compliant API support
│ └── posix # POSIX API support
diff --git a/README_zh.md b/README_zh.md
index 9e9e8489..f3db5440 100644
--- a/README_zh.md
+++ b/README_zh.md
@@ -15,11 +15,17 @@ OpenHarmony LiteOS-M内核是面向IoT领域构建的轻量级物联网操作系
## 目录
+目录结构如下,详细目录请参考[arch_spec_zh.md](https://gitee.com/openharmony/kernel_liteos_m/blob/master/arch_spec_zh.md)。
+
```
/kernel/liteos_m
├── components # 可选组件
+│ ├── backtrace # 回溯栈支持
│ ├── cppsupport # C++支持
-│ └── cpup # CPUP功能
+│ ├── cpup # CPUP功能
+│ ├── exchook # 异常钩子
+│ ├── fs # 文件系统
+│ └── net # Network功能
├── kal # 内核抽象层
│ ├── cmsis # cmsis标准接口支持
│ └── posix # posix标准接口支持
diff --git a/arch_spec.md b/arch_spec.md
index 2ce739e4..e125e0bd 100644
--- a/arch_spec.md
+++ b/arch_spec.md
@@ -1,52 +1,76 @@
```
.
-├── components --- Optional components
+├── components --- Components available for porting and header files exposed externally
+│ ├── backtrace --- Backtrace
│ ├── cppsupport --- C++
-│ └── cpup --- CPUP
-├── kal --- Kernel Abstraction Layer
-│ ├── cmsis --- cmsis
+│ ├── cpup --- CPUP
+│ ├── exchook --- Exception hook
+│ ├── fs --- File System
+│ └── net --- Network
+├── kal --- Kernel Abstraction Layer, APIs exposed externally, including CMSIS APIs and part of POSIX APIs
+│ ├── cmsis --- CMSIS
│ └── posix --- posix
-├── kernel --- Minimalistic kernel funtionalities
-│ ├── arch --- Support for hardware architectures
-│ │ ├── arm --- arm32
-│ │ │ └── cortex-m4 --- cortex-m4
-│ │ │ └── iar
-│ │ │ ├── los_atomic.h
-│ │ │ ├── los_context.h
-│ │ │ ├── los_interrupt.h
-│ │ │ └── los_mpu.h
+├── kernel --- Code for defining the minimum kernel function set
+│ ├── arch --- Code of the kernel instruction architecture layer
+│ │ ├── arm --- ARM32 architecture
+│ │ │ ├── cortex-m3 --- cortex-m3 architecture
+│ │ │ │ └── keil --- Implementation of the Keil toolchain
+│ │ │ ├── cortex-m33 --- cortex-m33 architecture
+│ │ │ │ │── gcc --- Implementation of the GCC toolchain
+│ │ │ │ └── iar --- Implementation of the IAR toolchain
+│ │ │ └── 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
+│ │ ├── 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_atomic.h --- Atomic operations
-│ │ ├── los_arch_context.h --- Context switch
│ │ ├── los_arch.h --- Initialization
-│ │ └── los_arch_interrupt.h --- Interrupts
+│ │ ├── 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
│ ├── include
│ │ ├── los_config.h --- Configuration parameters
│ │ ├── los_event.h --- Events management
-│ │ ├── los_liteos.h --- Kernel types and functions
+│ │ ├── los_membox.h --- Membox management
│ │ ├── los_memory.h --- Heap memory management
-│ │ ├── los_mutex.h --- Mutex
+│ │ ├── los_mux.h --- Mutex
│ │ ├── los_queue.h --- Queue
-│ │ ├── los_scheduler.h --- Scheduler
+│ │ ├── los_sched.h --- Scheduler
│ │ ├── los_sem.h --- Semaphores
+│ │ ├── los_sortlink.h --- Sort link
+│ │ ├── los_swtmr.h --- Timer
│ │ ├── los_task.h --- Tasks
-│ │ └── los_timer.h --- Timer
+│ │ └── los_tick.h --- Tick
│ └── src
├── targets
│ └── targets
-│ └── cortex-m4_stm32f429ig_fire-challenger_iar
-│ ├── board
-│ ├── dprintf.c
-│ ├── Libraries
-│ ├── main.c
-│ ├── project
-│ ├── target_config.h --- Hardware target configuration
-│ └── Utilities
+│ └── riscv_nuclei_demo_soc_gcc
+│ │ ├── GCC --- compilation config
+│ │ ├── OS_CONFIG --- board config
+│ │ ├── SoC --- SOC codes
+│ │ └── Src --- application codes
+│ └── riscv_nuclei_gd32vf103_soc_gcc
+│ └── riscv_sifive_fe310_gcc
└── utils
- ├── include
- │ ├── los_compiler.h --- Compiler configuration
- │ ├── los_debug.h --- Debugging facilities
- │ ├── los_error.h --- Errors codes and definitions
- │ └── los_list.h
+ ├── 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
└── src
```
+
diff --git a/arch_spec_zh.md b/arch_spec_zh.md
new file mode 100644
index 00000000..53922224
--- /dev/null
+++ b/arch_spec_zh.md
@@ -0,0 +1,76 @@
+```
+.
+├── components --- 移植可选组件,依赖内核,单独对外提供头文件
+│ ├── backtrace --- 回溯栈支持
+│ ├── cppsupport --- C++支持
+│ ├── cpup --- CPUP功能
+│ ├── exchook --- 异常钩子
+│ ├── fs --- 文件系统
+│ └── net --- 网络功能
+├── kal --- 内核抽象层,提供内核对外接口,当前支持CMSIS接口和部分POSIX接口
+│ ├── cmsis --- CMSIS标准支持
+│ └── posix --- POSIX标准支持
+├── kernel --- 内核最小功能集代码
+│ ├── arch --- 内核指令架构层代码
+│ │ ├── arm --- arm32架构
+│ │ │ ├── cortex-m3 --- cortex-m3架构
+│ │ │ │ └── keil --- Keil编译工具链实现
+│ │ │ ├── cortex-m33 --- cortex-m33架构
+│ │ │ │ │── gcc --- GCC编译工具链实现
+│ │ │ │ └── iar --- IAR编译工具链实现
+│ │ │ └── cortex-m4 --- cortex-m4架构
+│ │ │ │ │── gcc --- GCC编译工具链实现
+│ │ │ │ └── iar --- IAR编译工具链实现
+│ │ │ └── cortex-m7 --- cortex-m7架构
+│ │ │ │ │── gcc --- GCC编译工具链实现
+│ │ │ │ └── iar --- IAR编译工具链实现
+│ │ ├── risc-v --- risc-v架构
+│ │ │ ├── nuclei --- nuclei架构
+│ │ │ │ └── gcc --- GCC编译工具链实现
+│ │ │ └── riscv32 --- riscv32架构
+│ │ │ │ └── gcc --- GCC编译工具链实现
+│ │ └── include
+│ │ ├── los_arch.h --- 定义arch初始化
+│ │ ├── los_atomic.h --- 定义通用arch原子操作
+│ │ ├── los_context.h --- 定义通用arch上下文切换
+│ │ ├── los_interrupt.h --- 定义通用arch中断
+│ │ ├── los_mpu.h --- 定义通用arch内存保护
+│ │ └── los_timer.h --- 定义通用arch定时器
+│ ├── include
+│ │ ├── los_config.h --- 功能开关和配置参数
+│ │ ├── los_event.h --- 事件
+│ │ ├── los_membox.h --- 静态内存管理
+│ │ ├── los_memory.h --- 动态内存管理
+│ │ ├── los_mux.h --- 互斥锁
+│ │ ├── los_queue.h --- 队列
+│ │ ├── los_sched.h --- 调度算法
+│ │ ├── los_sem.h --- 信号量
+│ │ ├── los_sortlink.h --- 排序链表
+│ │ ├── los_swtmr.h --- 定时器
+│ │ ├── los_task.h --- 任务
+│ │ └── los_tick.h --- Tick时钟
+ └── src
+├── targets
+│ └── targets
+│ └── riscv_nuclei_demo_soc_gcc
+│ │ ├── GCC --- 编译相关
+│ │ ├── OS_CONFIG --- 开发板配置功能开关和配置参数
+│ │ ├── SoC --- SOC相关代码
+│ │ └── Src ---application相关代码
+│ └── riscv_nuclei_gd32vf103_soc_gcc
+│ └── riscv_sifive_fe310_gcc
+└── utils
+ ├── internal
+ ├── BUILD.gn --- gn构建文件
+ ├── los_compiler.h --- 编译工具配置,类型定义
+ ├── los_debug.c --- debug,printf相关
+ ├── los_debug.h
+ ├── los_error.c --- 错误处理
+ ├── los_error.h
+ ├── los_hook.c --- 钩子函数注册和调用
+ ├── los_hook.h
+ ├── los_list.h --- 双向链表
+ └── los_reg.h --- 寄存器读写宏定义
+ └── src
+```
+