东山派壹号·SSD202D研究(踩坑)笔记

今日在韦东山老师淘宝店发现壹号派降价了,清仓价拿下~

二编: 又降价了

拿回来已经烧录好boot了,还需要自己烧录系统。

根据文档,下载系统镜像到fat32格式的tf卡,通过USB2(usb2uart)连接开发板,输入dstar下载系统。

结果第一句就失败了>_<

SPINAND: _MDrv_SPINAND_GET_INFO: Found SPINAND INFO

(0x9C) (0x1)

SPINAND: MDrv_SPINAND_SearchCIS_in_DRAM: Search CIS in DRAM

SPINAND: MDrv_SPINAND_SearchCIS_in_DRAM: SNI v:1.0.6

SPINAND: MDrv_SPINAND_SearchCIS_in_DRAM: No available SNI match with current SPI NAND flash

SPINAND: writeSpinandCIS: SearchCIS_in_DRAM fail

writecis - Search CIS in dram then write to spinand.

Usage:

writecis 0xSNI_ADDR 0xPNI_ADDR [BL0_PBA [BL1_PBA [UBOOT_PBA [COPIES]]]]

之后一直报错NAND read: no partitions allowed after a fill-up partition

经查,是因为论坛里的固件和板载SPI-NAND型号不兼容导致的...(应该是后期换flash了,但是没有更新系统就离谱)

板载的spinand是XCSP1AAWH,但是提供的文件并不包含它的配置

隔壁家的文档下载到了新版的SPINANDINFO.sni,替换boot/SPINANDINFO.sni,成功烧录

提示有坏块,但是两张板的坏块位置都是一样的,应该是保留区域,不管

 

系统启动又是一堆报错,经查是启动脚本写!错!了!修改/etc/profile的第15行,删掉mount前的-e,即可正常加载驱动,启动demo (怎么改?用vi改或者sed替换)

uboot到系统之间可以通过在串口一直输入Enter打断自动启动,进入u-boot命令行

网上资料好多都过期了,还是得自己研究啊(叹气)

开机发现内存只有64MB,这是因为部分内存被MMA保留了,参考这篇文章,修改bootargs,调节mma保留内存大小,重启后内存恢复 (修改bootargs既可以在uboot修改,也可以在系统内通过/etc/fw_setenv实现) 不需要显示功能可以直接删掉mma_heap到mtd_parts之前的内容,全部释放;如需要显示功能可适当调小保留区内存 mma_heap=mma_heap_name0,miu=0,sz=0x1000000(16MB)

内核驱动是在/customer/demo.sh加载,不需要的就注释掉吧,比如前几个是nfs相关,后面mi_打头的为多媒体模块(如果把mma删了就会加载失败)。我自己编译了一些常见的模块,也按照这个逻辑放进去了(config区空间好小,模块没strip之前根本放不进去Orz)

rgb888点屏成功!屏参直接在/config/fbdev.ini配置,很方便。具体内容可以看原厂在线docs

 

不要使用nand erase.chip,会擦除启动程序导致无法启动!芯片可没有usb-loader模式

接下来提供两种救砖方案

一.自带ISP下载(需要制作USB-I2C下载器),需要硬件rp2040(树莓派pico)/AtTiny85

可以通过SStar的ISP模式烧录,它的协议是I2C,可以通过特殊的工具(Download Tool/SNANDer-mstarddc)使用,下载器可以自制,参考项目一个是文档提供的社区下载器(基于AtTiny85),也可以参考这个项目(基于rp2040),测试可以正常烧录

ch341应该也可以,将tx/rx连接到i2c eeprom侧即可

二.外部编程器下载(需要ch341/ch347)

通过大名鼎鼎的CH341编程器+合适的上位机(我用的是SNANDer),可以直接对flash编程,算是终极救砖方案

踩坑: SNANDer有两个版本,分别支持这两款芯片。在Windows下,CH347可以直接使用wch的驱动,CH341需要使用Zadig工具安装winUSB驱动才可以使用(但是装完NeoProgrammer又无法使用了,还得装回原版驱动)

posted @ 2025-08-08 15:06  星如雨yu  阅读(122)  评论(0)    收藏  举报