1## 系统架构 2UniProton系统由Mem、Arch、Kernel、IPC、OM五大子系统构成,Mem、Arch是整个系统的基石。 3 4各子系统的职责如下: 5- Mem:实现内存分区的创建,内存块的申请和释放等功能。 6- Arch:实现和芯片强相关的硬件特性功能,如硬中断、异常接管等。 7- Kernel:实现任务、软中断、TICK中断、软件定时器等功能。 8- IPC:实现事件、队列、信号量等功能。 9- OM:实现cpup、hook等调测功能。 10 11## 代码目录结构说明 12 13| 一级目录 | 二级目录 | 三级目录 | 说明 | 14| ------- | -------- | -------- | -------------------------| 15| build | uniproton_ci_lib | | 编译框架的公共脚本 | 16| | uniproton_config | config_m4 | cortex_m4芯片的功能宏配置文件 | 17| cmake | common | build_auxiliary_script | 转换Kconfig文件为buildef.h脚本 | 18| | functions | | cmake的公共功能函数 | 19| | tool_chain | | 编译器和编译选项配置文件 | 20| demos | helloworld | apps | 示例程序的main函数文件以及业务代码 | 21| | | bsp | 板级驱动适配代码 | 22| | | build | demo构建及链接脚本 | 23| | | config | 用户配置文件,功能宏定制头文件 | 24| | | include | src/include/uapi及posix目录下头文件拷贝目录 | 25| | | libs | 源码编译静态库文件存放目录 | 26| | Hi3093 | | 与helloworld demo类似,详见对应目录下的readme文件 | 27| | RASPI4 | | 与helloworld demo类似,详见对应目录下的readme文件 | 28| doc | | | 项目配置、规范、协议等文档 | 29| | design | | UniProton系统架构和特性说明 | 30| platform | | | libboundscheck使用说明 | 31| | libboundscheck | | libboundscheck预留目录,用户将下载的源码放在此目录下 | 32| src | arch | cpu | cpu对应架构的功能适配代码 | 33| | | include | cpu对应架构的头文件 | 34| | config | | 用户main函数入口 | 35| | | config | 用户配置功能宏开关 | 36| | core | ipc | 事件、队列、信号量等功能 | 37| | | kernel | 任务、中断、异常、软件定时器等功能 | 38| | fs | littlefs | littlefs适配层代码,不包含完整littlefs代码 | 39| | | vfs | 文件系统vfs层接口代码 | 40| | include | uapi | 对外头文件 | 41| | | posix | posix接口头文件 | 42| | mem | | 内存管理基本功能 | 43| | | fsc | 内存管理FSC算法代码 | 44| | | include | 内存管理头文件 | 45| | net | lwip-2.1 | lwip适配层代码,不包含完整lwip代码 | 46| | om | cpup | cpu占用率统计功能 | 47| | | err | 错误处理功能 | 48| | | hook | 钩子函数功能 | 49| | | include | 系统管理头文件 | 50| | osal | posix | posix功能实现源码 | 51| | security | rnd | 随机化功能 | 52| | utility | lib | 公共库函数 | 53