【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
前面我们说过spi nand驱动,但是这个驱动是建立在linux系统从sd卡加载的情况下进行的。开发测试的情况下,这么做或许是可以的,但是如果是最终量产的话,我们应该怎么做呢,肯定不可能要求客户再买一个sd卡进行操作处理了。所以这个时候,v3s的手册上提醒我们,完全可以通过usb otg的方法进行镜像烧入。
1、再次学习v3s的系统启动方式
上面这张图,我们已经看过几次了。但凡遇到boot方面的问题,这张图总要被拿出来说一说。从图中很明显的看出,v3s会在两种情况下进入usb boot状态。第一种,就是查看到v3s的一根pin状态为0的时候;第二种就是sdc0、spi0 nor、spi0 nand都失败的情况下,也会进入到usb boot状态。所以,对于我们来说,最好的方法就是拉低v3s的一根pin,直接进入usb boot operation。
从电路图上可以看出,这里有一个s6开关,如果需要v3进入usb状态,那么这一个s6肯定是需要按下的。所谓的SPI_MISO,其实就是master in slave out,这个master就是v3s,而slave就是spi nandflash。因此一旦s6被按下之后,信号接地,默认是0,那么v3s就没有办法从spi nandflash读取到数据,因为读不到数据,系统启动也就无从谈起了。
对于v3s来说,进入usb状态之后,一方面它会从usb otg获取数据,另外一方面可以把数据通过spi烧入到nand flash上面。大家可以把这个过程看成是v3s有一段默认的固化逻辑,这部分是芯片自带的流程,不需要外界的参与。
2、实操让v3s进入usb boot状态
我们的v3s是利用usb进行供电的,不管这种供电是来自于type c,或者usb otg,想让系统上电后马上就进入到usb boot状态,仅仅靠手快速按下s6,是很难实现的。所以,这个时候一般需要搭配上复位键一起操作。
为了保证v3s进入usb boot状态,最好按照下面这个操作步骤进行:
1)拔掉sd卡;
2)插入usb otg上电,系统启动,此时spi nand是否已经有镜像文件都不重要;
3)按住复位键s5和spi键s6;
4)先松开s5,让v3s复位;
5)5秒钟之后松开s6,让v3s进入usb state。
实际操作的时候,s5和s6同时按住不太容易,可以手搭在rj45的连接器上面,这样会比较方便一点。如果一切比较顺利的话,打开设备管理器,可以看到生成了一个新的设备节点,如下图黄色部分,只是这个设备还没有关联的windows驱动,
3、安装PhoenixSuit软件
为了给usb安装驱动,我们需要安装一下PhoenixSuit软件。这个软件不仅可以帮助安装usb驱动,最终下载也是利用的这个软件。PhoenixSuit的下载地址在这,
https://www.downkuai.com/soft/71844.html
下载后,正常安装就可以了,中间如果提示驱动安装,选择默认即可。安装好了PhoenixSuit之后,就可以用它目录下的驱动文件进行usb驱动安装了。
在设备管理器中选择好刚才未识别的设备节点,直接从指定目录安装驱动即可,这个目录就是PhoenixSuit软件在windows系统安装的一个位置,
安装后,如果没有大问题的话,就可以看到,新的usb节点已经被识别了,黄色的点也不见了,
上面VID_1f3a_PID_efe8这个设备,就是安装好驱动的usb节点。网上有很多提示,比如说用zadig安装驱动,这个方法其实不对。至少说,如果我们希望用PhoenixSuit进行镜像文件下载的话,最好还是选用PhoenixSuit提供的usb驱动,这样可以避免很多麻烦、少走很多的弯路。
对这一过程不太熟悉的朋友可以反复练习一下,比如删除驱动,重新安装驱动,这样可以加深一下印象,
4、安装下载镜像文件
因为我们自己还没有准备好对应的、基于nandflash的镜像文件,所以这个时候可以直接参考之前淘宝商家提供的镜像,也就是cherrypi-v3s-linux-2020-07-14.img。使用PhoenixSuit下载image也很简单,首先就是打开PhoenixSuit,选择一键刷机,设置好img文件的位置,注意最好同时选择格式化,单击立即升级,中间弹出的各种告警信息都可以忽略,
同时按下s5和s6,先松开s5,让v3s进入到复位模式。几秒之后,松开s6,这样就可以进入usb状态了。因为我们之前已经在PhoenixSuit点击了升级命令,所以这个时候软件自动就开始准备image下载了,
整个下载的过程还是很顺利的,一般的话几十秒钟就可以快速下载完。下载完之后,就可以拔掉sd卡,启动v3s系统,确认v3s是不是真的可以从spi nandflash启动。
5、总结
整个spi nandflash的下载有两个难点,第一个是如果正确地让v3s进入到usb状态;另外一个就是如何给usb节点安装正确的驱动。两者缺一不可,很容易犯错误。此外,由于整个开发板按键比较小,操作上面也着实不太方便,这个时候对练习的同学来说也是一种考验。