4

全志V3S嵌入式驱动开发(windows平台镜像烧入)

 10 months ago
source link: https://blog.csdn.net/feixiaoxing/article/details/131428976
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

全志V3S嵌入式驱动开发(windows平台镜像烧入)

嵌入式-老费 已于 2023-06-28 10:33:27 修改 41

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        对于很多第一次学习嵌入式linux和开发板的同学来说,如何烧入镜像文件常常成为他们要面对的第一个难题。从拿到板子开始,他们可能还没学会虚拟机、没有学会基本的linux操作,就迫不及待地想测试下版本烧入,这也是可以理解的。鉴于此,我们也给出了三种基于windows平台的镜像烧入方法。

        有的同学也许会说,为什么不用官方的PhoenixSuit软件?主要是因为PhoenixSuit需要pack命令的支持,但是pack命令是怎么建立img的,目前没有一个详细的文档,这对于开发者来说,十分为难。

1、利用sd卡烧入

        这种方法最大的好处就是简单、稳定,它唯一的要求,就是多一张micro sd卡。这样,版本烧入就只和这张micro sd卡有关。鉴于之前已经写过相关的文章,有兴趣的同学可以参考这个链接,这里也不再赘述了,

https://blog.csdn.net/feixiaoxing/article/details/130897035?spm=1001.2014.3001.5501

2、利用xfel工具烧入

        xfel工具我们并不陌生,刚刚spi-nand烧入的时候,我们就是用它在ubuntu的环境下面完成版本烧入的。其实,大家不熟悉的是,xfel也支持windows操作的,软件从这个地址下即可,

https://gitee.com/xboot/xfel/releases/tag/v1.3.1

        下载好之后,在准备烧入之前,同样需要v3s进入usb otg模式。因为xfel主要是利用libusb来实现的,所以这里需要给v3s usb安装驱动。它和之前PhoenixSuit安装的驱动不同,所以第一步就要把之前的PhoenixSuit usb驱动删除,

a02f1cf0c0924d70aecd9ba681d5d41e.png

        接下来,就是用zadig软件安装usb驱动。zadig软件可以从这里下载,

https://zadig.akeo.ie/

        打开zadig软件,选择要安装驱动的usb节点,直接安装libusbK即可。发现和检测到usb节点,这是使用xfel的前提,一定要注意下。另外,如果下次启动的时候,发现usb节点的驱动没有找到,再次安装即可,这个不用担心。

b4d5341bca5c4d7eb926c8366322b793.png

        安装好之后,就可以使用xfel命令了。目前xfel同时支持 spi-nor和spi-nand,这对我们来说就十分方便了。此外,xfel在烧入的时候,不需要自己再次erase,直接write即可,这也是很方便的。操作时,如果写入的是spi-nor,那么输入下面这条命令即可,

./xfel.exe spinor write 0x0 flashimg.bin

        同样,如果写入的是spi-nand,只需要把spinor修改成spinand就行,

./xfel.exe spinand write 0x0 flashimg.bin

        当然,在实际的执行过程中,我们发现命令执行也有一定的失败机会,一般来说多测试几次就好了。成功的概率还是不错的。上面说的flashimg.bin都是整个镜像文件,里面包含了uboot、kernel、dtb和rootfs,烧录一次即可。

3、利用xfel+y modem安装

        因为xfel有一定的失败率,所以另外一个比较好的烧入方法就是xfel+y modem。方法虽然有一点慢,也稍微有点繁琐,但是成功率几乎100%,没有失败的风险。它的操作步骤是这样,

        第一步还是用xfel烧入uboot文件,

        第二步,烧入好uboot之后,我们就可以重启板子,让板子进入boot状态,这个时候可以用loady下载文件,比如zImage下载。注意,此时需要选用SecureCRT软件,而不是minicom软件。这主要是因为,SecureCRT支持windows平台,也支持y modem协议,使用比较方便,

f5620f5f51cb46709557f7a7b608f57a.png

         第三步,下载到内存0x41000000之后,这个时候就可以借助于uboot的sf命令下载到spi-nor flash里面去了,输入下面这条命令即可,

sf write 0x41000000 0x120000 0x500000

        这条命令的意思是说,将0x41000000开始的ddr 5M空间内容,全部下载到spi-nor flash偏移地址为0x120000的位置去。完成了kernel的下载,其他dtb和rootfs也可以按照这个方法去做。甚至后期,对于uboot的下载和更新,也可以使用这个方法,但是uboot最好还是慎重一些,不是特别紧急的变更,最好不要修改。

        目前在window是平台上面,这三种对image进行烧入的方法还是比较实用的,主要的sd卡、spi-nor、spi-nand也都涉及到了,操作上面也不复杂,大家在实际使用中可以多多测试下。中间有的方法比较快,但是有失败的风险;有的方法虽然慢一点,但是成功的概率很高,中间的取舍,大家根据自己的情况灵活进行决定和判断。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK