Files
skills-win/petalinux-emmc/references/hjx9009-tf.md
T

20 lines
3.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 的正式系统完成状态。