首先看龙芯的原理图,上面有它的启动配置
开发板默认使用SPI0启动uboot,所以需要将uboot镜像烧录到SPI FLASH,也就是硬件介绍章节里面提到的那个GD25Q80器件。
底板上面有一个SPI烧录的座子,在这个位置
这里需要一个USB转SPI的转接板,比如CH341的
接线后不要给开发板通电,避免CPU对FLASH进行操作影响烧录器烧录固件,烧录器的
电源引脚可以给SPI FLASH供电
启动SPI FLASH编程工具,点击此按钮,识别SPI FLASH型号
然后点文件-打开,选择上一章节编译生成的u-boot-with-spl.bin文件
然后先点击擦除,擦除之后,再读取一次,应该可以看到全部内容都是FF
再点编程,即可完成固件烧录
之后断开编程器,再接开发板电源上电。
按龙芯默认方案,SPI NOR里面除了有uboot,还有设备树文件,需要将设备树也烧录进去,uboot下面有工具可以完成这一操作。
找一个U盘,将
linux-5.10/arch/loongarch/boot/dts/loongson/ls2k300_mini_dp.dtb
拷贝到U盘update目录下,并重命名为dtb.bin,然后将U盘插到开发板USB口,上电
在uboot下通过串口输入c阻止其自动运行,然后输入命令bootmenu ,进入此界面
然后选择Update dtb - Update DTB (dtb.bin) to spi flash (by usb),会出现如下信息,说明烧录完成
然后需要烧录kernel镜像和rootfs镜像到EMMC。
拔出U盘,将
linux-5.10/arch/loongarch/boot/uImage
buildroot/output/loongson2k300_pure_busybox/images/rootfs.tar.gz
两个文件,放到U盘根目录的update目录里面,另外还要从网盘下载一个ramdisk.gz,这个文件是用于从U盘启动一个ramdisk系统,并在里面执行系统安装的,类似windows的PE。目前龙芯没有开放这个ramdisk.gz的制作方法,只能用官方构建好的。也是放到install目录
再将U盘插板子USB口
选择System install or recover - System install to mmc device (by usb)
然后它会启动这个ramdisk.gz,并在里面执行系统安装相关操作。看到如下信息,说明系统已经安装完成
然后板子会自动重启,重启之后注意到uboot的编译日期和kernel的编译日期已经变了
说明烧录已经完成