ax-display
路径:
os/arceos/modules/axdisplay类型:库 crate 分层:ArceOS 层 / ArceOS 内核模块 版本:0.5.0文档依据:当前仓库源码、Cargo.toml与 未检测到 crate 层 README
ax-display 的核心定位是:ArceOS graphics module
架构设计
- 目录角色:ArceOS 内核模块
- crate 形态:库 crate
- 工作区位置:子工作区
os/arceos - feature 视角:该 crate 没有显式声明额外 Cargo feature,功能边界主要由模块本身决定。
- 关键数据结构:可直接观察到的关键数据结构/对象包括
AxDeviceContainer、MAIN_DISPLAY。
模块结构
- 当前 crate 未显式声明多个顶层
mod,复杂度更可能集中在单文件入口、宏展开或下层子 crate。
核心机制
- 实现重心偏向接口组织和模块协作。
核心功能
- 功能定位:ArceOS graphics module
- 对外接口:从源码可见的主要公开入口包括
init_display、has_display、framebuffer_info、framebuffer_flush。 - 典型使用场景:主要作为仓库中的专用支撑 crate 被上层组件调用。
- 关键调用链示例:按当前源码布局,常见入口/初始化链可概括为
init_display()。
依赖关系
直接依赖
ax-driverax-syncax-lazyinit
间接依赖
ax-arm-pl031axaddrspaceax-allocax-allocatoraxbacktraceax-cpuax-dmardif-display- 另外还有
41个同类项未在此展开
3.3 被依赖情况
ax-apiax-runtimeax-runtimestarry-kernel
被依赖情况
arceos-affinityarceos-displayarceos-exceptionarceos-fs-shellarceos-irqarceos-memtestarceos-net-echoserverarceos-net-httpclientarceos-net-httpserverarceos-net-udpserverarceos-parallelarceos-priority- 另外还有
15个同类项未在此展开
外部依赖
log
开发指南
接入方式
[dependencies]
ax-display = { workspace = true }
# 如果在仓库外独立验证,也可以显式绑定本地路径:
# ax-display = { path = "os/arceos/modules/axdisplay" }
初始化
- 在
Cargo.toml中接入该 crate,并根据需要开启相关 feature。 - 若 crate 暴露初始化入口,优先调用
init/new/build/start类函数建立上下文。 - 在最小消费者路径上验证公开 API、错误分支与资源回收行为。