1、早期问题排查
(1)参考博客:《韦东山D1S板子——烧录spi norFlash失败问题排查过程》;
(2)早期排查到xfel工具烧写spi norFlash显示成功,但是实际没有烧写进bin文件,怀疑是norFlash硬件有问题或者norFlash开启写保护,具体原因不能确认;
2、确认norFlash硬件没有问题
2.1、使用 AllwinnertechPhoeniSuit 刷机工具烧写D1S
(1)刷机相关文件都可以在韦东山的官网下载,网址:https://dongshanpi.com/DongshanPI-D1s/03-1_FlashSystem/;
(2)将AllwinnertechPhoeniSuit 工具解压缩后,里面有详细的操作文档说明《PhoenixSuit.pdf》;
2.2、刷机注意事项
(1)安装刷机用的UsbDriver驱动后,会导致xfel不能再识别到烧录模式下的D1S开发板,需要将UsbDriver驱动卸载后xfel才能识别到D1S开发板。这是我遇到的情况,不知道是不是必现情况;
(2)使用AllwinnertechPhoeniSuit 刷机后,再次用xfel工具烧录bin文件成功,但是只能成功一次,后面再用xfel工具烧录bin文件依旧失败;
结论:spi norFlash硬件没有问题,是xfel工具存在BUG
;
3、解决xfel工具BUG
3.1、xfel工具源码
源码网址:github地址:https://github.com/xboot/xfel;
3.2、xfel工具BUG分析
(1)从上面的分析可以知道,xfel工具烧写失败应该是和spi norFlash的写保护有关;
(2)全志论坛相关贴:《DongshanPI-D1s 烧录tina linux到spinor存储器后,无法通过xfel在编程了》、《d1s meils烧录导致xfel工具烧写失效》;
3.3、xfel工具BUG解决
(1)想解决xfel工具BUG就需要分析xfel工具的源码,去github下载源码并且在Windows中用gcc编译,我尝试过,在本机Windows中编译xfel源码会报各种缺少库或者工具的错误,不建议新手尝试;
(2)分享xfel烧录失败的原因需要扎实的代码功底,并且了解底层原理,特别是spi驱动部分;
(3)万幸有大神已经修复了该BUG,我将修复该BUG后的xfel工具上传到“我的资源”里了;
总结:该BUG比较底层,定位费时费力,解决更是考验能力,希望全志早日修改,还有韦东山团队提供的xfel工具也早点更新掉,初学者遇到这种问题可能就直接劝退了
;