疫情封控在家实在无聊,就将手头上原有的A20板子给刷了个openwrt
但是openwrt官方提供的镜像,只支持tf卡,不支持nand,所以我就自己开始折腾了.
uboot和kernel还好,折腾了几天,修改dts文件和配置即可解决:
https://github.com/syabyr/allwinner_proj
但是所有都搞定后,下电再启动,发现uboot spl卡在了这里:
SPL 2022.01 (Mar 27 2022 - 21:28:38 +0800)
DRAM: 2048 MiB
CPU: 912000000Hz, AXI/AHB/APB: 3/2/2
Trying to boot from NAND
Loading U-Boot from 0x00800000 (size 0x00100000) to 0x43000000
原来,在调试的时候,是通过fel工具,将u-boot-dtb.bin加载到内存的,reset不会清空内存的数据,但是下电才会.
下电再上电后,内存里没了正常的u-boot程序,而spl又没有正常加载,所以才会卡死到这里.
在uboot spl里加了简单的调试日志,发现spl是可以读取nand数据的,而且还能分辨正常数据块和擦除数据块(擦除数据块的返回值和正常数据块的返回值不一致)
但是正常的数据块,spl从NFC的RAM0里读出的1024数据是全0,由于对NFC不了解,而且调试又非常麻烦(改一下日志刷一下机),只能暂时停下了.
离线