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…
概述终端用户界面(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…
概述固件解析是嵌入式刷写工具的核心功能。全志(Allwinner)芯片使用一种名为 IMAGEWTY 的专有固件格式,将多个组件(FES、U-Boot、MBR、DTB、分区数据等)打包成单一文件。OpenixCLI 的 Firmware 模块负责解析这种二进制格式,提取各组件数据供刷写流程使用。 模块结构src/firmware/├── mod.rs # 模块导出├── types.rs #…