OpenixCLI Process 模块深度解析:进度追踪与阶段管理
概述固件刷写是一个多阶段的复杂过程,涉及设备检测、DRAM 初始化、U-Boot 下载、分区刷写等步骤。OpenixCLI 的 Process 模块提供全局进度追踪系统,使用原子操作实现线程安全的状态管理,同时支持 CLI 进度条和 TUI 实时轮询两种模式。 模块结构src/process/├── mod.rs # 模块导出├── global_progress.rs # GlobalProgress…
概述固件刷写是一个多阶段的复杂过程,涉及设备检测、DRAM 初始化、U-Boot 下载、分区刷写等步骤。OpenixCLI 的 Process 模块提供全局进度追踪系统,使用原子操作实现线程安全的状态管理,同时支持 CLI 进度条和 TUI 实时轮询两种模式。 模块结构src/process/├── mod.rs # 模块导出├── global_progress.rs # GlobalProgress…
概述Flash 模块是 OpenixCLI 的核心刷写引擎,负责协调 FEL(USB Boot)和 FES(U-Boot)两种模式的固件刷写流程。它处理设备检测、DRAM 初始化、U-Boot 下载、设备重连、分区刷写、Boot 写入等完整流程,是嵌入式固件刷写的典型实现。 模块结构src/flash/├── mod.rs # Flasher 主控制器├── fel_handler/ …
概述终端用户界面(TUI)为固件刷写工具提供了直观的交互体验。OpenixCLI 使用 ratatui 框架构建事件驱动的 TUI 应用,通过 mpsc 通道实现异步事件通信,支持设备扫描、固件加载、选项配置和进度追踪的完整流程。 模块结构src/tui/├── mod.rs # 模块导出,run() 入口├── app.rs # App 状态、事件循环、键盘处理├── event.rs …
概述在嵌入式开发中,一个稳固的固件刷写工具必须具备完善的错误处理和日志系统。OpenixCLI 的 Utils 模块(src/utils/)正是为此而生,它提供了统一的错误类型定义和双模式日志架构,支持 CLI 和 TUI 两种交互模式。 模块结构src/utils/├── mod.rs # 模块导出├── error.rs # FlashError 错误枚举├── logger.rs # Logger…