软件架构
XWOS的软件架构以及源码结构
Categories:
少于1分钟
XWOS在设计初期就充分考虑了代码的复用性、移植性以及与第三方软件的兼容性。
代码被架构成多层结构:构建系统、BSP、操作系统内核、中间件和应用。
构建系统
xwbs
: 用户集成第三方软件时,只需在xwmo.mk
中设置源码列表、头文件路径、编译选项。
BSP
xwcd
: 编译器、CPU、SOC、外设驱动相关的代码xwcd/ds
: 玄武设备栈。XWOS的驱动框架xwcd/perpheral
: 基于玄武设备栈,实现的各种外设驱动,代码可被不同SOC共享xwcd/soc
: 不同SOC的XWOS移植实现层的代码
xwbd
: 不同电路板的工程配置、调试脚本、链接脚本、驱动与应用。
操作系统内核
xwos
: 内核xwos/osal
: 操作系统抽象层。它统一了单核与多核内核的API。xwos/ospl
: 操作系统移植层。其中定义了内核提供给BSP的函数,以及需要BSP提供实现给内核的虚函数。xwos/lib
: 基本C函数库。包括原子操作库、位操作库、数据结构等xwos/mm
: 内存管理xwos/mp
: 多核(mp)内核xwos/up
: 单核(up)内核
中间件
xwmd
: 中间件xwmd/isc
: 系统间的通讯机制xwmd/isc/xwcq
: 线程间的循环队列xwmd/isc/xwmq
: 线程间的消息队列xwmd/isc/xwssc
: SOC与SOC间的点对点通讯协议xwmd/libc
: 标准C库的适配代码xwmd/xwrust
: XWOS RUST框架
xwem
: 第三方开源软件xwem/fs
: 各种开源的文件系统xwem/serializing
: 序列化与反序列化xwem/serializing/nanopb
: protocol-buffer
xwem/vm
: 解释型语言的虚拟机xwem/vm/lua
: Lua语言
应用
xwam
: 参考代码以及应用代码
文档
xwxr
: API文档生成配置