面向君正 X2600M / HALLEY7-M-KIT 的裸机与 FreeRTOS 开发仓库,包含基础 Hello 程序、GBA 掌机应用,以及 MIPS + RISC-V AMP 本地音视频播放器。仓库提供交叉编译、源码适配、产物核验、主机回归、MIPS 指令模拟和实板运行工具。
日常开发以 Windows + PowerShell 为入口;MIPS 应用使用官方 XBurst2 ELF 工具链,播放器小核当前通过 WSL2 Ubuntu 22.04 使用官方 Victory0 工具链。应用由 U-Boot 从 NOR 或串口加载到 DDR 后执行。
以下状态截至 2026-10-21;Flash 安装状态指本次开发使用的 HALLEY7-M-KIT,不代表克隆源码后会自动安装固件。
| 项目 | 当前能力与验证情况 | 详细说明 |
|---|---|---|
| Hello 裸机示例 | Windows / WSL 交叉构建,基础串口与启动环境验证入口 | 源码、构建脚本 |
| 云端 AI 终端(2026-10-23) | 独立MIPS FreeRTOS基础工程、中文全拼/词组、TF资源、音频/网络核心;DeepSeek电脑端真实文字验收通过,板端云连接尚未完成 | AI工程与阶段状态、验证记录 |
| ReGBA 掌机 | MIPS FreeRTOS、ReGBA JIT、中文游戏库、蓝牙手柄、原生存档、读档与设置、CPU/FPS;已有 RAM 与历史 NOR 验收 | 掌机工程、GUI 记录 |
| mGBA 引擎 | 同一掌机工程的独立编译选项,固定 mGBA 0.10.5;软件、RAM 实板及独立 660 秒联合测试通过,性能限制单列 | 引擎分离记录 |
| AMP 播放器 | MIPS / RISC-V 各运行 FreeRTOS,H.264 硬解、音频主时钟、LVGL 中文三页、三键操作;支持 AVI/WAV、MP3、AAC/M4A、MP4 | 播放器工程、输入格式 |
| 当前实板 Flash | GT911触摸版(2026-10-21,候选R8),NOR 包 2,326,528B / CRC32 286de5e5;完整回读与软件复位自动启动通过 |
当前安装与更新 |
当前播放器沿用 R9 已验证的视频空闲约 3 秒隐藏上下 UI / 进度条、任意键唤出,以及 MP4 总时长提前显示;默认音量为 7%。暂停、菜单和播放结束时控制条常显。
播放器 GT911 与新版触摸界面已按用户要求从 RAM 候选部署到 Flash:用户已在 RAM 阶段确认实板方向、点选、菜单及新版布局正常,实体三键继续保留。驱动从本板原始设备树核实 I2C0 / PC0、PC1、PC7、PC8;已修复 I2C 传输被媒体任务抢占后的误超时和静止 GUI 无效重绘,实板静止媒体库保持绘制/呈现 1/1。协议、生产传输及真实 LVGL 主机回归通过,R8 完整播放/UI 序列因 TF 读取错误未通过。此次 Flash 安装完整回读和首次软件复位自动启动通过,显示、GUI、三键及 GT911 初始化成功;尚未验证本版物理断电冷启动。详见触摸驱动及GUI说明。
播放器以完整横屏1280×720 / 30fps作为目标规格。当前 MP4 支持普通横屏文件,无需电脑预旋转;采用 H.264 Baseline/Main/High、8bit YUV420 逐行视频和 AAC-LC 音频,支持真实 PTS/DTS、CABAC、B 帧、常见尺寸/SAR 及 BT.601/BT.709 有限/全范围。具体参考帧、重排、尺寸和封装边界以格式说明为准。进度跳转、字幕、HE-AAC、多声道和 1080p 尚未接入。
当前没有运行时应用启动选择器,也没有运行时 ReGBA/mGBA 引擎切换。历史 AVI 30 分钟长跑、各版模拟器验收、R9 短片结果分别保留,不合并为所有版本和所有片源的性能保证。2026-10-20 的历史兼容性 R8 冷暖启动复查曾未复现整屏频闪,R9 安装后该轮只做软件复位;2026-10-21 的 Flash/RAM 对照已再次复现,原 Linux 从 RAM 显示有效白灰静态图时也仍闪,根因尚未定位。静止 GUI 不再重绘不能视作频闪修复。最新结果见播放器验收记录及 docs/validation。
X2600/
├─ projects/
│ ├─ halley7m-hello/ # 基础裸机示例
│ ├─ halley7m-regba/ # 掌机应用:公共会话、GUI、平台驱动及两种引擎适配
│ │ ├─ core/ # 公共会话、游戏库、菜单与播放策略
│ │ ├─ engines/ # regba / mgba 引擎适配
│ │ └─ platform/ # 存储、显示、按键、音频、蓝牙、FatFs 等
│ └─ halley7m-player/ # 独立 AMP 播放器
│ ├─ mips/ # 主核运行时、媒体会话、子核启动与诊断
│ ├─ riscv/ # 小核 FreeRTOS 运行时与音频服务入口
│ ├─ common/ # 共享协议、媒体解析、输入及纯 C 逻辑
│ ├─ audio/ # 音频硬件服务
│ ├─ audio-decode/ # MP3 / AAC 解码、裁剪与 PCM 转换
│ ├─ codec/ # FELIX / libh264 硬解适配
│ ├─ display/ # DPU、NV12、旋转及帧所有权
│ ├─ storage/ # TF、预读与文件访问适配
│ └─ gui/ # LVGL 三页、字体与显示表面
├─ scripts/ # 环境准备、构建、核验、测试、RAM 加载与 NOR 更新
├─ tests/ # 主机夹具、模拟器诊断与测试数据
├─ cmake/ # XBurst2 / Victory0 交叉工具链配置
├─ configs/ # 早期 Cloner 板级配置模板
├─ patches/ # 可复现的 U-Boot 补丁
├─ docs/ # 硬件、实施记录及精选验收摘要
├─ libbare-cpu/ # 固定版本 SDK 子模块
├─ third_party/ # ReGBA/mGBA 子模块及播放器固定音频依赖
└─ u-boot-ingenic/ # 可选启动器子模块
build/、toolchains/、tools/、.venv/、Halley7/、usb_cloner_release/ 等为本地目录,不随源码分发。仓库没有统一的根 CMake 应用目标,请使用下面对应项目的构建脚本。
在 PowerShell 中执行:
git clone https://github.com/PKM-Bai/x2600.git
cd x2600
git submodule update --init libbare-cpu third_party/ReGBA
python -m venv .venv
.\.venv\Scripts\python.exe -m pip install -r requirements.txt
.\scripts\enter-env.ps1后续示例均在仓库根目录运行,python 指激活后的虚拟环境。每次打开 PowerShell 后运行 .\scripts\enter-env.ps1,它会激活已有 .venv、设置当前进程 PYTHONUTF8=1,并在 tools/ffmpeg/bin 存在时前置到 PATH,同时报告 Python、CMake、Ninja 与交叉工具链状态;不会安装工具或修改全局配置。不能激活时,可使用 .\.venv\Scripts\python.exe 的完整路径。Python 依赖固定为 PySerial 3.5、PyUSB 1.3.1。
只有选择 mGBA 或重编启动器时,再分别初始化对应子模块:
git submodule update --init third_party/mGBA
git submodule update --init u-boot-ingenic应用构建不需要初始化 U-Boot。其远程使用厂商旧 HTTP 地址,避免因这项可选依赖阻塞其余项目部署。
| 工具 | 用途与要求 |
|---|---|
| Git | 获取仓库与固定版本子模块 |
| Python >= 3.10 | 构建生成器、产物核验、媒体和串口工具;本轮 Windows 实测 3.14.3 |
| CMake、Ninja | Windows Hello 及 ReGBA/mGBA/player 默认构建后端;工程最低 CMake 3.16,当前开发机 CMake 4.3.2 |
| MinGW Make | Windows Hello 可选 -Generator 'MinGW Makefiles',需能找到 mingw32-make |
| Visual Studio C++ / Build Tools | 主机测试使用 MSVC x64;安装 C++ 桌面开发工具和 Windows SDK |
| WSL2 Ubuntu 22.04 | 当前 Linux Victory0、Linux XBurst2 指令模拟器和可选 U-Boot 构建 |
| FFmpeg / FFprobe 9.0.2 essentials | 播放器转码、片源分析及完整媒体主机回归;准备脚本会核验版本 |
MSVC 编译的是主机测试程序;目标固件仍由官方交叉工具链生成。CMake、Ninja、Python 和所需 Make 应加入对应系统的 PATH。
2026-10-23 已完成本机环境复验:Windows / Linux XBurst2 R5.1.6、Victory0 r1.1.1 和 FFmpeg 9.0.2 均可用,11 组目标构建、两套主机回归及三项 MIPS 指令模拟通过。包散列、目标配置、产物身份和验收范围见环境复验摘要。
使用官方 XBurst2 ELF R5.1.6 / GCC 7.2.0,不要替换为面向 Linux 用户态的 MIPS 工具链。自行取得对应安装包后执行,示例中的 D:\Packages 换成本机路径:
.\scripts\install-toolchain.ps1 -ArchivePath 'D:\Packages\mips-ingenic-xburst2-elf-tools-x86_64-w64.r5.1.6.zip'默认安装到 toolchains/xburst2-windows/。安装脚本遇到已有目标目录会停止;已安装环境直接使用,无需重复解包。MIPS 应用采用小端、MIPS32r2、32 位 ABI;FreeRTOS 应用使用 hard-float。
此 Windows R5.1.6 ZIP 未附带 cc1.exe 所需的 64 位 zlib1.dll;若 PATH 中先找到 32 位同名 DLL,编译会报 0xC000007B,即使 gcc --version 正常也不能证明可以编译。本轮使用已安装的 64 位 Git for Windows 所带 DLL,复制到工具链私有 bin 目录。以下示例从唯一 GCC 路径定位目标,已有目标时保留原文件;Git 安装在其他位置时调整 $zlibSource:
$gcc = @(Get-ChildItem -LiteralPath .\toolchains\xburst2-windows -Recurse -File -Filter 'mips*-gcc.exe' |
Where-Object { $_.Directory.Name -eq 'bin' })
if ($gcc.Count -ne 1) { throw '应找到唯一的 MIPS GCC,请核对工具链目录。' }
$zlibSource = Join-Path $env:ProgramFiles 'Git\mingw64\bin\zlib1.dll'
$zlibTarget = Join-Path $gcc[0].Directory.FullName 'zlib1.dll'
if (-not (Test-Path -LiteralPath $zlibTarget)) {
if (-not (Test-Path -LiteralPath $zlibSource -PathType Leaf)) { throw '请提供 64 位 Git for Windows 的 zlib1.dll 路径。' }
Copy-Item -LiteralPath $zlibSource -Destination $zlibTarget -ErrorAction Stop
}
.\scripts\enter-env.ps1上述操作不修改厂商归档或全局 PATH;enter-env.ps1 在当前 PowerShell 会话前置工具链 bin,之后再运行构建脚本。
如需 WSL Hello、U-Boot 或 MIPS 指令模拟,另准备 Linux R5.1.6 包。已安装 WSL2 Ubuntu 22.04 后,在 PowerShell 执行:
wsl -d Ubuntu-22.04 -- sudo apt update
wsl -d Ubuntu-22.04 -- sudo apt install -y build-essential cmake ninja-build python3 libssl-dev zlib1g-dev libncurses-dev
wsl -d Ubuntu-22.04 -- bash scripts/install-toolchain.sh /mnt/d/Packages/mips-ingenic-xburst2-elf-tools-r5.1.6.tar.bz2Linux 工具链默认在 toolchains/xburst2-linux/。Windows 与 Linux 的工具链目录、CMake 缓存和构建输出分开使用。
当前验证环境使用官方 Victory0 r1.1.1 Linux 包 / GCC 11.1.0,由 WSL 调用;工程目标为 rv32imc / ilp32。归档文件名中的 rv32emc 不代表工程改用 E ABI,准备脚本会实际编译验证所需指令与寄存器。
.\scripts\prepare-player-tools.ps1 `
-RiscvArchive 'D:\Packages\riscv-ingenic-victory0-rv32emc-elf-tools-r1.1.1.tar.bz2' `
-FfmpegArchive 'D:\Packages\ffmpeg-9.0.2-essentials_build.7z' `
-WslDistribution Ubuntu-22.04脚本处理已下载归档,不自动下载;识别 Linux / Windows Victory0,安装到 toolchains/victory0-linux/ 或 toolchains/victory0-windows/,媒体工具放到 tools/ffmpeg/。版本、来源路径、SHA256 与最小编译结果写入 build/player-tools/dependencies.json。若已安装,可不传归档重新核验。
小核工程使用自有最小运行时和 libgcc,不依赖随包 libc 的 E ABI。只构建 MIPS 单核对照版本时可使用 -MipsOnly,无需 Victory0。
下列 PowerShell 构建均默认 Release,加 -Configuration Debug 可生成调试版本。构建只生成本地产物,不加载开发板、不写 TF 或 Flash。
.\scripts\build.ps1
.\scripts\build.ps1 -Configuration Debug
.\scripts\build.ps1 -Generator 'MinGW Makefiles'Windows 默认使用 Ninja,产物仍为 build/windows-Release/halley7m_hello.{bin,elf,map},Debug 对应 windows-Debug。已有 CMake 缓存的生成器必须与 -Generator 一致;如不一致,沿用原生成器,或用 -BuildDirectory build/windows-ninja-Release 指定新目录,脚本不会删除旧缓存。WSL 入口为:
wsl -d Ubuntu-22.04 -- bash scripts/build.sh
wsl -d Ubuntu-22.04 -- bash -c 'bash scripts/build.sh "$PWD/toolchains/xburst2-linux" Debug'Debug 示例通过 WSL 当前仓库的 $PWD 传入绝对工具链目录;手动指定目录时也应使用绝对路径。WSL 产物在 build/linux-{Release,Debug}/,程序入口见 main.c。Hello 用于基础启动与串口检查,不运行 FreeRTOS。
.\scripts\build-regba.ps1
.\scripts\build-regba.ps1 -Engine mgba| 选择 | 产物目录 | 固件文件名 |
|---|---|---|
| 默认 ReGBA | build/regba-Release/ |
halley7m_regba.bin、.elf、.map |
| mGBA | build/mgba-Release/ |
同名,位于独立目录 |
-Engine 是编译时选择,共用平台与会话层;mGBA 仍使用 ReGBA 来源的公共字体和诊断资源,因此仍需初始化 third_party/ReGBA。构建脚本自动调用 verify-regba.py,并在 build/sdcard/GBA/ 生成拷卡暂存资源。
.\scripts\build-player.ps1
.\scripts\build-player.ps1 -Configuration Debug默认 -AudioOwner riscv,先编译、核验小核,再把小核 BIN 紧凑嵌入主核镜像。主核产物位于 build/player-riscv-Release/mips/halley7m_player.{bin,elf,map};小核位于同级 riscv-wsl/player_riscv.{bin,elf,map},使用 Windows Victory0 时为 riscv/。合包清单在 build/player-riscv-Release/manifest.json。
可选构建:
.\scripts\build-player.ps1 -AudioOwner mips
.\scripts\build-player.ps1 -MipsOnly前者生成 build/player-mips-Release/,音频服务改在 MIPS 运行;后者生成 build/player-mips-only-Release/,不编译或嵌入小核,RISC-V 保持复位。-DiagnosticsOnly 生成串口探针版本,-ProbeMedia <本地片源> 可嵌入受控测试媒体;普通 GUI 构建不需要嵌入片源。
verify-player.py 检查两核架构、入口、私有区与共享区边界、嵌入内容及 6MiB 合包上限。播放器的内存图和协议见工程说明。
wsl -d Ubuntu-22.04 -- bash scripts/build-uboot.sh需先初始化 u-boot-ingenic 并安装 Linux XBurst2 工具链。板级目标为 x2600m_halley7_uImage_sfc_nor,输出 build/uboot-halley7m/u-boot-with-spl.bin。脚本核对并应用仓库中两项补丁,再串行编译。日常应用更新保留当前 SPL/U-Boot,不需要重编或重新烧写它。
.\scripts\test-regba-host.ps1
.\scripts\test-player-host.ps1两者需要 MSVC x64,可通过 -VisualStudioPath 指定安装目录。ReGBA 结果主要在 build/regba-host/,播放器结果分布在 build/player-host/、GUI 和音频测试目录。播放器完整回归还使用 FFmpeg/FFprobe;先完成工具准备。
这些测试编译实际 C 逻辑,以虚拟时间、内存文件、替代 DMA/RTOS/MMIO 边界验证输入、协议、存档、媒体、会话和生命周期,不连接开发板。
先分别完成对应引擎的 Release 构建,并安装 Linux XBurst2 工具链:
wsl -d Ubuntu-22.04 -- python3 scripts/test-regba-sim.py --timeout 45
wsl -d Ubuntu-22.04 -- python3 scripts/test-regba-sim.py --depth-regression --output build/regba-depth-sim --timeout 45
python scripts/test-mgba-sim.py --mode cpu --timeout 360
python scripts/test-mgba-sim.py --mode flash --timeout 900ReGBA 推荐使用 WSL 中的官方 Linux 模拟器,Windows run.exe 曾发生宿主崩溃;mGBA 的 Windows 入口会转交 WSL。mGBA 还支持 sram、eeprom、mirror、all 模式。诊断 ROM 由仓库脚本生成。
这类模拟验证核心逻辑和 MIPS 指令执行,不模拟完整 X2600 板卡、FreeRTOS、缓存一致性、TF、DPU 或音频 DMA,不能用模拟耗时推算真机 FPS。
python scripts/test-player-gui.py
python projects/halley7m-player/mips/test-session.py
python scripts/test-player-source.pyGUI 直接运行生产 LVGL 8.3.10,以内存显示驱动和注入按键生成 PNG,默认在 build/player-gui-host/screenshots/,不需要 SDL。会话测试验证播放、暂停、停止、EOF、时间戳和回收;source 测试使用真实编码文件核对解析与解码。
仓库未提供完整 X2600 整机模拟器。FELIX 硬解、双核启动、邮箱中断、缓存、真实屏幕和发声仍由实板验证。
开发板正常供电,连接 UART0 调试口并插入 FAT32 TF 卡。当前 TF 访问使用 SPI/SSI 驱动。
| 应用 | TF 目录与资源 |
|---|---|
| ReGBA/mGBA | /GBA/ROMS 放自备 .gba,/GBA/CONFIG/game_config.txt 使用构建暂存资源;ReGBA 存档在 /GBA/SAVES,mGBA 在 /GBA/SAVES/mGBA |
| 播放器 | 当前测试资源放 /multimedia/video 和 /multimedia/audio;媒体库可以浏览目录,不限定这两个路径 |
播放器可直接播放范围内的 MP4/MP3/AAC/M4A;固定 AVI/WAV 测试媒体可用 scripts/prepare-player-media.py 生成,该脚本不是通用 MP4 转码入口。格式范围见 FORMATS.md。停止播放后再断电取卡;需要复制的文件由读卡器写入,构建脚本不会写真实 TF。
.\scripts\serial-monitor.ps1
.\scripts\serial-monitor.ps1 -Port COM52第一条列出端口;当前开发机使用 COM52、115200、8N1,其他电脑应换成实际端口。终端用 Ctrl+] 退出,上传和测试前关闭占用同一串口的监视器。
先构建固件,再运行 RAM 加载脚本,监听就绪后按一次开发板复位键:
python scripts/ramload-regba.py --port COM52 --wait-boot --execute `
--file build/player-riscv-Release/mips/halley7m_player.bin `
--log build/ram-player-local.log该脚本名称沿用 ReGBA,但 --file 可选择播放器、ReGBA/mGBA 或 Hello BIN。主核装载地址固定为 0x80600000,上传后核对长度和 CRC,再跳转;日志应使用新文件。若当前运行播放器,先 stop 并确认音频关闭,也可将 --wait-boot 换为 --reboot-player,由串口命令执行软件复位。
AMP 只上传紧凑主核合包。U-Boot 仍占用高端 DDR 时,不单独向小核私有区或共享区上传;主核接管后再复制小核并释放复位。RAM 测试不改 Flash,断电后仍由已安装的 NOR 应用启动。
播放器串口可查询 status、session、audio、gui、heap,通过 play <路径>、pause、resume、stop 控制会话。视频播放空闲隐藏、三键、中文、目录、暂停/尾段和实际发声需同时检查;测试默认音量为7%。
| 测试入口 | 用途 |
|---|---|
scripts/test-engine-gui.py |
掌机 GUI、设置、读档和 ROM 切换实板回归 |
scripts/soak-regba.py |
掌机持续运行与存储/音频/显示统计 |
scripts/run-player-formats-board.py |
播放器固定格式矩阵实板验收 |
scripts/run-player-codec-board.py、scripts/run-player-geometry-board.py |
硬解与尺寸/颜色片源检查 |
scripts/run-player-board.py |
已运行播放器的 600/1800 秒采集与 GUI 操作序列 |
scripts/analyze-player-board.py |
分析板测日志、播放完成证据及单核/AMP对照 |
这些入口会实际控制当前应用,有的会写原生存档;先核对其 --help、对应片源和日志路径。播放器正式运行器不加载或烧写固件,要求当前音量已为7%;命令与操作顺序见板测运行说明和统计口径。
当前实板保留原 SPL/U-Boot,自动从 NOR 读取播放器到 DDR。更新播放器使用 scripts/flash-player-nor.py,默认只生成和核对安装计划;显式 --execute 才写 Flash,需匹配实际上一版派生包和安装记录,写后完整回读并核对保护区。
当前 GT911触摸版(2026-10-21,候选R8)的包、CRC、上一版参数及后续更新示例见播放器 NOR 安装说明。掌机历史安装及 USB Boot/接线说明见烧录步骤。早期 Cloner 整段配置属于环境实验记录,不作为当前应用更新流程;首次部署到另一块板也不能直接套用本板备份和安装身份。
| 项目 | 本次实板与软件使用情况 |
|---|---|
| 开发板 / SoC | HALLEY7-M-KIT / X2600M |
| 供电 | 底板5V,当前外接TF模块使用3.3V;接线按实际板版核对 |
| MIPS 主核 | XBurst2;当前启动配置 CPU/APLL 1.152GHz,MPLL 1.8GHz |
| RISC-V 小核 | Victory0;播放器已通过双 FreeRTOS 启动,计时器校验约576MHz |
| DDR | 64MiB DDR2,物理范围 0x00000000–0x03FFFFFF,当前 DDR CK 600MHz |
| 启动存储 | 普冉 PY25Q128H,SPI NOR 16MiB,实读 JEDEC ID 0x852018 |
| 屏幕 | 2-lane MIPI-DSI,原生720×1280、当前扫描约30Hz,横置使用1280×720;沿原Linux zc50289hshd02 配置,面板实物型号未据此认定 |
| 播放器显示 | FELIX H.264 → NV12 → DPU;普通横屏视频使用硬件旋转,LVGL 为独立 ARGB 图层 |
| 音频 | AIC / Codec / PDMA,播放器最终输出48kHz、S16LE、单声道;AMP默认由RISC-V独占音频硬件 |
| TF | 当前使用SPI/SSI + FatFs、FAT32,支持中文路径转换 |
| 三键 | A=PE14/SW3,B=PE15/SW4,Start=PE13/SW6;5ms扫描、20ms去抖 |
| 屏幕触摸 | GT911;I2C0 100kHz,SCL=PC0、SDA=PC1,INT=PC7、RST=PC8;RAM 候选的方向、点选和菜单已获用户确认,Flash R9 尚无触摸 |
| 调试串口 | UART0,SoC侧1.8V逻辑、115200/8N1;当前Windows枚举COM52,端口号不固定 |
| USB Boot | A108:EAEF Cloner设备;与日志串口是不同通道 |
主核应用入口为 0x80600000。播放器AMP为主核、小核和共享区分别链接及核验;MIPS负责存储、解封装、硬解、GUI与呈现,RISC-V负责PCM消费及音频硬件。更完整的参考电路、供电和Flash资料见硬件规格,其中早期“未烧录/待验证”状态以当前项目验收更新为准。
| 依赖 | 固定版本 / 来源 | 使用关系 |
|---|---|---|
libbare-cpu |
子模块 9500d2ec…,君正SDK |
Hello、掌机、播放器的平台基础;含FreeRTOS V10.5.1、HAL/LL及播放器所用LVGL 8.3.10、FELIX/libh264源 |
third_party/ReGBA |
子模块 7f379052… |
ReGBA核心/JIT、兼容配置、开放替代BIOS;mGBA复用公共字体/诊断资源,播放器复用Unifont字体 |
third_party/mGBA |
子模块 26b7884b…,0.10.5 |
可选GBA解释器、软件渲染与音频核心 |
third_party/player-minimp3 |
固定 ea99364f…,随仓库保存源码 |
播放器MP3解码,CC0-1.0 |
third_party/player-faad2 |
FAAD2 2.11.2,固定 673a22a3…,随仓库保存源码 |
播放器固定点AAC-LC解码,GPL-2.0-or-later及原Nero通知 |
u-boot-ingenic |
可选子模块 50117795… |
重编SPL/U-Boot及早期DDR辅助流程 |
| XBurst2 / Victory0 / FFmpeg | 开发机安装,版本及校验记录在本地 | 目标编译、指令模拟、媒体准备与参考解码;不嵌入源码仓库 |
子模块完整固定提交和来源见依赖清单、子模块配置及Git记录;音频源码清单与许可证见解码模块说明。scripts/prepare-*.py 在构建目录生成派生源码、资源和校验清单,保留上游源码及其来源,不要求手工修改固定依赖。
根 LICENSE 为GPL v2文本;各组件保留自己的许可证和后续版本授权,FreeRTOS/LVGL为MIT,mGBA为MPL-2.0,不能把整个SDK或所有第三方目录统一重新声明。商业游戏ROM、厂商BIOS转储、用户存档、NOR/TF原始备份、录像、工具链和厂商硬件资料不随仓库分发;测试使用脚本生成的诊断资源,自有ROM等由使用者准备。
阶段文档保留各自固件身份、测试范围与未完成项;当前状态优先看本页总览和最新验收条目。主机测试、指令模拟、RAM板测、NOR回读、软件复位和物理冷启动分别记证据。
每完成一个阶段或独立功能并通过相关验证后,按仓库协作规则创建中文标题和正文的提交,并推送至 origin/main。提交源码、脚本、说明及精选摘要;构建产物、原始日志、备份、媒体和工具包保留本地。