这篇文章给大家介绍龙芯派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使用的。
如果不小心更新pmon失败了,那么板子变砖了,该如何恢复?
此时就需要把下面的一个SPI flash用电络铁取下来,然后用烧录器进行烧录。
具体的项目地址,可以根据这个编译出龙芯派lite需要的pmon。
https://github.com/FlyGoat/pmon-ls2k-edu
在release中可以下载已经编译好的固件。
然后用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