20 lines
3.8 KiB
Markdown
20 lines
3.8 KiB
Markdown
# HJX9009:用 J1 TF 替代 PR26 的 eMMC
|
||
|
||
本 profile 依据项目 `Notes/PR26.md`、`Notes/Task-PR26-1.md`、`Notes/Result-PR26-1.md`、`Petalinux/delivery/pr26_tf_20260915/MANIFEST.md` 以及 `Notes/auto/pr26_qspi_20260915/tf_final_*` 实测记录。每次核对 PCB 版本与当前交付;下面的 CID、容量、IP、镜像字节数和 UUID 均为**历史证据,不是未来部署常量**。
|
||
|
||
## 硬件与启动
|
||
|
||
- XC7Z100FF900;BootROM 启动绑带 `MIO[5:4:3]=100` 选 QSPI。U5/U6 双级联 S25FL128S,历史 `sf probe` 为 `s25fl128s_64k`、32 MiB、128 KiB 擦除。先做现板探测再写任何偏移。
|
||
- 板上无 eMMC。J1 microSD 经 U12 MAX13035E 接 SD0,MIO40=CLK、41=CMD、42..45=DAT0..3,MIO13=`SDIO_SDDET`;SD1 的 MIO46..53 已有以太网/UART/MDIO用途。DT 应启用 `sdhci0`、4 bit、≤50 MHz、`no-1-8-v`、`disable-wp`,禁用 `sdhci1`;不要声明 `non-removable`。
|
||
- 历史 HDF/FSBL 把 `SD0_CD_SEL` 指向 EMIO56,与原理图不符。优先从新 HDF/FSBL修正,不能仅靠无效的 `cd-inverted` 属性。历史 U-Boot `sd0_cd_fix` 把 `0xF8000830` 写为 `0x000D0037`,但 MIO13 曾被复用为 QSPI1 IO3 输出,原生 Card Present 仍为 0。实际完成的正式系统先由 U-Boot 读取 TF FAT FIT,再在早期 Linux 桥接 initramfs 设置 SDHCI CDTEST、枚举 SD 卡、挂载 ext4 并切换 `/sbin/init`。**CDTEST 是这版硬件的受控兼容旁路,不证明卡检测硬件修复;若新版硬件/FSBL 可原生检测,优先删除旁路并做双冷启动验收。** 若需沿用旁路,桥接必须先验证 CID/容量/根分区 UUID,超时和身份不匹配时停止或转救援,不可静默挂错介质。
|
||
- 历史正式 `bootcmd` 为:`run phyfix; if mmc dev 0 && fatload mmc 0:1 0x02000000 image.ub; then run sd0_cd_fix; bootm 0x02000000; else sf probe 0 0 0 && sf read 0x02000000 0x00520000 0x00ED8E98 && run sd0_cd_fix && bootm 0x02000000; fi`。此处 `0x00ED8E98` 是**旧救援 FIT 的实际字节数**,未来必须从当前镜像/布局重算并验证 DDR 安全范围;不得照抄。先证明 TF 分支,再证明无卡/坏 FIT 救援分支;2026-09-15 交付的后一分支未独立实测。
|
||
|
||
## 介质边界与验收的真实结果
|
||
|
||
- 历史卡 15 GiB,CID `05000c61736466672200000012018c00`。原 1 GiB FAT32 BOOT + 14 GiB ext4 在约 8 GiB 及以上访问出现重复读写/文件系统不一致;无法唯一归咎卡或板端。因此最后采用低地址 p1 LBA 2048..2099199(1 GiB FAT32),p2 LBA 2099200..14682111(6 GiB ext4),尾部故意空置。**不要把这个历史保守布局应用于新卡,也不要把旧卡扩回 14 GiB;新介质要独立做拟用范围的重复块测试、fsck 和回读。**
|
||
- 历史 `pr26_tf_20260915` 已将新 FSBL/U-Boot 写 QSPI boot,558976 字节写后全长 `cmp.b`/CRC 通过;TF p1 放 `image.ub`,p2 为 ext4 正式根。三次断电启动均显示 FAT FIT 读取、FIT hash 校验、桥接挂载 `/dev/mmcblk0p2`、sysvinit/Dropbear/联网;第三次证实跨断电持久化文件回读。日志含非致命 BusyBox mount/switch_root 与 RTC 警告,不可描述为“零警告”。
|
||
- `rootfs.tar.bz2` 最终归档晚于 p2 写入;历史对照有 23 个构建元数据/包数据库/版本或认证记录差异,因此不能把最终归档宣称为板上逐字节版本。新交付应让上卡内容与冻结归档同源并核对关键文件。
|
||
- 旧 QSPI kernel 救援 FIT 保留在 `0x520000`;2026-09-15 的最终 BOOT 更新后,**无卡实物冷启动回退尚未独立验证**。后续完整 E4 必须补上该门禁。
|
||
|
||
网络历史实测为板 `192.168.1.50/24`、Windows TFTP `192.168.1.126`;Notion 的 `192.168.1.140`/`.66` 是例子。每次由 live interface、TFTP 文件及 SHA-256 重新确认。PL FPGA manager 注册不等于最新 bit 已转换/加载;不要混入此 skill 的正式系统完成状态。
|