
# 移植目录结构
表格列出了LiteOS源码的目录，其中加粗字体的目录/文件在移植过程中需要修改。
表1LiteOS源码目录 
| 一级目录        | 二级目录/文件                  | 说明                                                                 |
|:---|:---|:---|
| arch        |                          | 芯片架构支持                                                             |
| build       |                          | LiteOS编译系统需要的配置及脚本                                                 |
| compat      |                          | liteos提供的CMSIS-RTOS 1.0和2.0接口                                      |
| components  |                          | 组件代码                                                               |
| demos       |                          | 组件和内核的demo                                                         |
| doc         |                          | LiteOS使用文档                                                         |
| include     |                          | components中各模块的头文件                                                 |
| kernel      |                          | 内核代码                                                               |
| lib         |                          | libc/zlib/posix接口                                                  |
| osdepends   |                          | LiteOS提供的部分OS适配接口                                                  |
| targets     | bsp                      | 通用板级支持包                                                            |
|             | Cloud_STM32F429IGTx_FIRE | 野火STM32F429（ARM Cortex M4）开发板的开发工程源码包                              |
|             | qemu-virt-a53            | Coretex A53的qemu开发工程源码包                                            |
|             | realview-pbx-a9          | Coretex A9的qemu开发工程源码包                                             |
|             | STM32F072_Nucleo         | STM32F072_Nucleo（ARM Cortex M0）开发板的开发工程源码包                         |
|             | STM32F103_FIRE_Arbitrary | 野火STM32F103（ARM Cortex M3）霸道开发板的开发工程源码包                            |
|             | STM32F769IDISCOVERY      | STM32F769IDISCOVERY（ARM Cortex M7）开发板的开发工程源码包                      |
|             | ...                      | 其他开发板的开发工程源码包                                                      |
|             | Kconfig                  |                                                                    |
|             | Makefile                 |                                                                    |
|             | **targets.mk**           |                                                                    |
| tools       | **build/config**         | LiteOS支持的各开发板的编译配置文件，移植新的开发板时，需要在这个目录下增加这个新开发板的编译配置文件              |
|             | menuconfig               | LiteOS编译所需的menuconfig脚本                                            |
| Makefile    |                          | 整个LiteOS的Makefile                                                  |
| **.config** |                          | 开发板的编译配置文件，默认为Cloud_STM32F429IGTx_FIRE开发板的配置文件，移植时需要替换成新开发板的编译配置文件 |
   
target目录下保存了当前已经支持的开发板工程源码。当移植新开发板时，应该在target目录下增加该开发板的目录，目录结构和代码可以参考当前已支持的开发板的目录。例如：
- STM32F4系列的移植可以参考Cloud_STM32F429IGTx_FIRE工程。
- STM32F7系列的移植可以参考STM32F769IDISCOVERY工程。
- STM32L4系列的移植可以参考STM32L431_BearPi工程。
 
