龙芯派lite是如何更新pmon

这篇文章给大家介绍龙芯派lite是如何更新pmon,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

龙芯派lite如何更新pmon

1.文章说明

主要描述龙芯派lite的固件更新相关的原理。在使用龙芯派lite时,要很清楚的理解龙芯派的执行流程。

对于现有的更新方式,可以更新的方式有U盘,网络等等。

例如当使用U盘更新时,在启动Pmon后输入

load -r -f 0xbfc00000 (usb0,0)/gzrom.bin

当然也可以通过设置网络更新方式

load -r -f 0xbfc00000 http://www.xxx.xx/gzrom.bin

从tftp服务器上更新

load -r -f 0xbfc00000 tftp://10.2.5.22/gzrom.bin

这两种办法本职上都是将固件烧录到了spi flash中。

需要注意的是,龙芯派lite上有两个型号都是GD25Q80的1MB大小的spi flash,其中存放pmon的在固态硬盘的下面,上面的一个是作为USB3.0使用的。

龙芯派lite是如何更新pmon

如果不小心更新pmon失败了,那么板子变砖了,该如何恢复?

此时就需要把下面的一个SPI flash用电络铁取下来,然后用烧录器进行烧录。

具体的项目地址,可以根据这个编译出龙芯派lite需要的pmon。

https://github.com/FlyGoat/pmon-ls2k-edu

在release中可以下载已经编译好的固件。

龙芯派lite是如何更新pmon

然后用spi flash编程器,将flash.bin烧录到spi flash中,焊接到板子上,就可以正常启动pmon了。这是板子变砖后的情况,其实并不复杂,只需要弄清楚流程即可。

2.龙芯派lite的固件更新

前面我们说了pmon的更新,以及板子变砖后,如何恢复的办法,下面来讲一下龙芯派lite固件的更新情况。

当启动完成pmon后,通过控制台输入可以加载内核固件。

从U盘加载

load /dev/fs/ext2@usb0/vmlinuxbootload (usb0,0)/vmlinuxboot

从硬盘加载

load /dev/fs/iso9660@wd0/boot/vmlinuxbootload (wd0,0)/boot/vmlinuxboot

这两种写法都是可行的。

当然也可以从网络加载,前提是网络模块可以正常访问。

load tftp://10.2.5.22/vmlinux

以上操作都是加载到内存中,下次断电后如果继续启动,那么就需要固化和设置pmon的启动环境变量。

用户可以通过设置龙芯派的al1来进行不同介质的启动

set al1 /dev/fs/fat@wd0/rtthread.elf

表示从磁盘启动rt-thread。

或者从nand flash的第一个分区开始启动。

devcp tftp://xxx.xxx.xx.xx/rtthread.elf /dev/mtd0

从TFTP中获取镜像,并且进行烧录到mtd0中。

然后设置

set al1 /dev/mtd0

此时就可以正常的执行了。

关于龙芯派lite是如何更新pmon就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

原创文章,作者:745907710,如若转载,请注明出处:https://blog.ytso.com/230575.html

(0)
上一篇 2022年1月15日
下一篇 2022年1月15日

相关推荐

发表回复

登录后才能评论