|
本帖最后由 极客新人 于 2023-1-11 16:23 编辑
NANDO开源编程器
作为垃圾佬折腾路由器刷固件是难免的,但是近些年大量路由器的闪存从SPI_FLASH转向了NAND_Flash,这就让折腾的时候犯了难,NAND编程器不像SPI_FLASH一样可以通过极其廉价的CH341来完成读取和编程,能够读写NAND的专业通用编程器价格动辄几百上千,着实让我们垃圾佬买不起!但是如果不备份完整的NAND数据总感存在不少风险,万一刷错bootloader没了可就真砖了!还好有一个性价比比较高的开源编程器方案:NANDO,楼主最近在开源的NANDO的基础上对PCB进行了折腾改进,现与大伙分享:
该方案的原理是使用一颗带NAND和USB接口的单片机(STM32F103VCT6);单片机内的固件将在USB初始化一个虚拟串口,可以接受上位机的命令和将NAND的数据通过串口上传给上位机;原版NANDO使用的是上下双板的结构,上层板是为测试座准备的连接板,下层包含单片机本体和外围接口(如下图)
但是楼主并不喜欢使用MicroUSB接口以及想要一体化(减少打板次数和BOM费用),遂在原版开源基础上做如下修改:
1:删除了原本上下板的叠层设计,删除串口排针(暂时无用)
2:修改USB接口为B型(结实耐造又便宜)
3:在NAND供电上添加Power_JP跳线,将NAND供电与主供电分开,方便后期外挂降压小板支持1.8V NAND芯片(未测试)
4:添加橡胶脚垫,防止磨损的同时还防滑
过了几天板子和元器件陆陆续续到了,焊接测试!
焊接完成后直接用下载器将程序从SWD接口刷入即可,刷完重新插拔应该可以在电脑上看到一个STM32 Virtual COM Port的串口(注:如果弹出USB设备工作不正常多半是固件没刷进去或者自己的板子有没有问题,如果插上没有任何反应请检查USB D+上的上拉电阻是否正常(当时因为没这个电阻查半天没查出来))
这个串口在Win10下是免驱的,接下来就是安装上位机,在上位机里设置编程器的COM号,不出意外的话点击连接后应该可以看到编程器连接成功并且汇报了编程器的固件版本
PS:开源提供了3.4.1和3.4.0两份编译好的固件,但是不知道什么原因3.4.1版本的固件在读取超过128M的NAND时会报IO错误,无法使用,刷入3.4.0版本固件则没有任何问题
值得一提的是,这个编程器自带的数据库内的芯片少的可怜,基本上需要自己根据芯片手册添加芯片数据;并且速度相对较慢:实测128MB的NAND_FLASH(S34ML01G2)全片读取耗时4分钟左右,但是写入却需要接近30分钟!只能说适合拿来救砖和完整备份使用。但是经过数据校验:读写的数据和源数据一致,功能还是没有问题的!
优缺点与总结:
优点:
价格便宜,功能够用(相比专业编程器动辄几百上千的价格)
上位机芯片参数可自行添加修改,可设置是否读取坏块,功能齐全
缺点:
DIY产品,对能力要求较高
上位机自带的数据库里面的芯片很少
速度慢
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
打赏
-
查看全部打赏
|