# Phytium-static-tools **Repository Path**: simamunan/phytium-static-tools ## Basic Information - **Project Name**: Phytium-static-tools - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-04 - **Last Updated**: 2025-12-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Phytium Static Tools 本仓库整理了一套在 Phytium 平台上常用的静态工具、脚本与示例源码,便于在裸机/UEFI、内核、以及 OP-TEE 等环境下进行硬件调试与验证。现已按目录结构完成归档,并将历史备份与临时文件集中放入 `unused/` 目录,便于在 Gitee 发布。 ## 目录结构 - `bin/`:可直接运行的二进制工具与可执行文件 - 示例:`serialreply-static`、`iperf3-static`、`busybox`、`ethtool`、`lspci`、`mdio` 等 - `scripts/`:常用运维与硬件测试脚本 - 示例:网络转发设置、硬件监控、PWM 控制、串口测试等脚本 - `src/`:示例源码与工具源码 - 顶层 C 源:`serialreply.c`、`gpiodetect-ty.c`、`read_regs_c_tool.c` - `src/smc/`:SMC/驱动相关示例与 Makefile - `configs/`:配置文件(如 `config.ini`) - `docs/`:文档材料(如工具清单、组织说明) - `unused/`:历史备份、编译产物、旧版本与不再使用的文件 - 包含 `unused/old/` 与 `unused/smcbackup/` ## 文件清单 - `bin/` 常用工具: - `serialreply-static`、`serial-tester-static`:串口收发与测试 - `serialreply`:串口工具(非静态版) - `gpiodetect-static`、`gpiodetect-ty`:GPIO 探测/厂商定制版 - `mdio-tool-static`、`mdio`:MDIO 总线读写工具 - `iperf3-static`:网络吞吐测试 - `busybox`:通用命令集合 - `ethtool`:网卡配置与诊断 - `lspci`、`setpci`:PCI 设备查看与配置 - `memtester_arm64_static`、`memtester`:内存压力测试 - `rwmem`、`rw`:内存/寄存器读写 - `lsz`、`lrz`:ZMODEM 传输工具 - `flashcp`、`flash_erase`、`mtd_debug`:MTD/闪存操作 - `read_regs_c_tool`:寄存器读取示例工具 - `scripts/` 测试与运维脚本: - `hardware_monitor_unified.sh`、`hardware_monitor{2..5}.sh`、`hardware_monitor.sh`:硬件传感器监控 - `read_regs_tool.sh`、`read_regs_tool_V2.sh`:寄存器读取脚本 - `ipforward_setup.sh`:开启与配置 IP 转发 - `pwm_control_demo.sh`、`pwm3_control_demo.sh`、`pwm3_control_demo_ok.sh`、`pwm_test_fixed8_ok.sh`:PWM 控制示例 - `serial_test.sh`、`uartautotest.sh`:串口测试与自动化 - `gpiodetect.sh`:GPIO 探测脚本 - `gettempV1.sh`、`KylinHardware_Temprature.sh`:温度采集脚本 - `phytium-tools.sh`:工具集合/入口脚本 - `publish_gitee.sh`:推送到 Gitee 的辅助脚本 - `test.sh`:通用测试占位脚本 - `src/` 示例源码: - `serialreply.c`:串口工具源码 - `gpiodetect-ty.c`:GPIO 探测源码(定制) - `read_regs_c_tool.c`:寄存器读取工具源码 - `src/smc/` SMC/驱动示例: - `phytium_pbf.c`、`phytium_pbf2.c`:示例源文件 - `my_test.c`、`my_test.mod.c`:测试与生成文件示例 - `Makefile`:模块构建文件 - `configs/`: - `config.ini`:示例配置(脚本/工具按需引用) - `docs/`: - `tools_organization.txt`:工具与组织说明 - `unused/`: - 历史备份(`unused/smcbackup/`)、旧版本(`unused/old/`)与编译产物(`.ko`、`.o`、`Module.symvers`、`modules.order`、各类 `.cmd`) ## 快速开始 - 环境建议: - `ARCH=arm64`,交叉编译器 `aarch64-linux-gnu-` 已在脚本中假定 - 如需在宿主机直接运行,请确保二进制与目标平台 ABI 匹配 - 常用工具: - 网络与 PCI:`ethtool`、`lspci`、`setpci` - 存储 MTD:`flashcp`、`flash_erase`、`mtd_debug` - 内存与设备:`memtester`、`rwmem`、`mdio` - 传输与通用:`busybox`、`lsz`、`lrz` - 示例脚本: - `scripts/ipforward_setup.sh`:开启 IP 转发并设置简单转发规则 - `scripts/hardware_monitor*.sh`:硬件传感器轮询与日志输出 - `scripts/pwm*_demo*.sh`:PWM 通道控制示例 - `scripts/serial_test.sh`、`scripts/uartautotest.sh`:串口功能测试 - `scripts/gpiodetect.sh`:GPIO 探测脚本 ## 构建与编译 - 顶层源码(如 `src/*.c`)可使用 `aarch64-linux-gnu-gcc` 进行交叉编译: ```sh aarch64-linux-gnu-gcc -O2 -static -o bin/serialreply src/serialreply.c ``` - SMC/驱动示例: - 进入 `src/smc/`,根据 `Makefile` 指引进行编译,需在有内核头文件与交叉编译工具链的环境下执行 - 编译生成的 `.ko`、中间文件等不应提交到仓库;请放入 `unused/` 或清理 ## 使用示例 - 查看网卡信息: ```sh bin/ethtool eth0 bin/lspci -vv ``` - 读写 MDIO: ```sh bin/mdio read bin/mdio write ``` - 测试内存: ```sh bin/memtester 128M 1 ``` ## 发布到 Gitee - 建议流程: - 检查 `unused/`:确认无敏感信息或仅保留必要备份,其他可清理 - 在根目录保留 `README.md`、`.gitignore`,并确保 `bin/`、`scripts/`、`src/`、`configs/`、`docs/` 结构完整 - 推送前可运行 `scripts/publish_gitee.sh`(如存在)或按以下通用步骤: ```sh git init git add . git commit -m "整理目录结构与文档" git remote add origin <你的 Gitee 仓库地址> git push -u origin master ``` ## 维护建议 - 新增工具时放入 `bin/`,对应源码置于 `src/` - 新增脚本统一放入 `scripts/` 并注明用途与依赖 - 编译产物与临时文件不要提交,统一移入 `unused/` 或清理 - 文档更新放入 `docs/`,重要变更同步更新 `README.md` ## 许可说明 - 若工具或源码来源于第三方,请在 `docs/` 中保留其许可与来源说明 - 自行编写的脚本与示例可采用合适的开源许可证(如 MIT/BSD),按需补充