Loading
柚木鉉の空間
0%
INITIALIZING
首页 文章 标签 归档 关于 友链 推广 搜索
YUZUKITSURU_SPACE YUZUKITSURU_SPACE YUZUKITSURU_SPACE YUZUKITSURU_SPACE YUZUKITSURU_SPACE YUZUKITSURU_SPACE YUZUKITSURU_SPACE
2026-04-30

libefex 模块架构深度解析:分层设计与核心数据结构

libefex 模块架构层级架构libefex 采用清晰的分层架构设计,从底层 USB 驱动到高层 API 逐层抽象: graph TB subgraph Application["应用层"] A1[CLI Tools] A2[Test Programs] A3[Rust Bindings] end subgraph API["API 层"] …

#USB #嵌入式 #C
访问
2026-04-30

libefex FEL 模式操作详解:内存读写与代码执行

libefex FEL 模式操作FEL 模式简介FEL (Firmware Extraction Level) 是全志芯片 BootROM 中内置的低级子程序模式。在 FEL 模式下,主机可以通过 USB 直接访问设备内存,实现: 内存读取 (sunxi_efex_fel_read) 内存写入 (sunxi_efex_fel_write) 代码执行 (sunxi_efex_fel_exec) FEL 代码执行实现源码位置:…

#嵌入式 #C #libefex
访问
2026-04-30

libefex FES 模式操作详解:闪存访问与数据传输

libefex FES 模式操作FES 模式简介FES (Firmware Extraction Stage) 是 FEL 模式的升级版本,提供更高级的闪存操作能力。FES 模式需要先在 FEL 模式下加载特定固件才能进入。 FES vs FEL 对比 特性 FEL 模式 FES…

#嵌入式 #C #libefex
访问
2026-04-30

libefex Payload 技术:ARM 与 RISC-V 机器码注入

libefex 架构 PayloadPayload 技术概述Payload 是一种机器码注入技术,用于在 FEL 模式下执行复杂的硬件操作。由于 FEL 只提供基础的内存读写和代码执行能力,要实现寄存器读写等高级操作,需要将特定的机器码写入设备内存并执行。 flowchart TD A[需要硬件操作] --> B[选择 CPU 架构] B --> C{架构类型?} C…

#RISC-V #ARM #嵌入式
访问
2026-04-30

libefex 跨平台 USB 后端:libusb 与 WinUSB 实现

libefex 跨平台 USB 后端USB 后端概述libefex 需要跨平台支持 Linux、macOS 和 Windows。由于不同平台的 USB 驱动接口不同,项目采用后端抽象层设计: libusb: 开源跨平台 USB 库(Linux、macOS、可选 Windows) WinUSB: Windows 专用 USB 驱动框架 graph TB subgraph Application["应用层"] …

#嵌入式 #C #libefex
访问
2026-04-30

libefex USB 协议层详解:数据包结构与通信流程

libefex USB 协议层USB 数据包结构libefex 使用特定的数据包格式与 Sunxi 设备通信。所有通信基于 USB 批量传输。 请求包结构 (sunxi_usb_request_t)源码位置: includes/efex-protocol.h:115-127 EFEX_PACKED_BEGINstruct sunxi_usb_request_t { union { char magic[4]; …

#嵌入式 #C #libefex
访问
2026-04-26

OpenixCLI CLI 模块深度解析:命令行接口设计

概述命令行接口(CLI)是嵌入式工具与用户交互的第一道关卡。OpenixCLI 使用 Rust 最流行的 CLI 解析库 clap(Command Line Argument Parser),通过 derive 宏模式实现声明式的命令定义,让开发者专注于业务逻辑而非参数解析细节。 模块结构src/├── cli.rs # CLI 定义(derive 宏)├── main.rs #…

#Rust #嵌入式 #OpenixCLI
访问
2026-04-26

OpenixCLI Commands 模块深度解析:设备扫描与刷写命令

概述Commands 模块是 CLI 与核心刷写逻辑之间的桥梁。它实现了 scan 和 flash 两个主要命令,负责设备检测、固件加载、参数转换等准备工作,然后将任务交给 Flash 模块执行实际的刷写流程。 模块结构src/commands/├── mod.rs # 模块导出├── scan.rs # 设备扫描命令├── flash.rs # 固件刷写命令└── types.rs #…

#Rust #嵌入式 #OpenixCLI
访问
2026-04-26

OpenixCLI Config 模块深度解析:Boot 头、MBR 与配置解析

概述嵌入式固件刷写涉及多种配置格式的解析:Boot 头(boot0/U-Boot)、分区表(MBR/GPT)、系统配置(sys_config)等。OpenixCLI 的 Config 模块负责解析这些与硬件初始化密切相关的数据结构,为刷写流程提供存储类型、分区信息、DRAM 参数等关键数据。 模块结构src/config/├── mod.rs # 模块导出├── boot_header.rs #…

#Rust #嵌入式 #OpenixCLI
访问
2026-04-26

OpenixCLI Firmware 模块深度解析:IMAGEWTY 固件格式解析

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

#Allwinner #Rust #嵌入式
访问
1/12
目录