迅为龙芯iTOP2K1000开发板NAND FLASH启动(烧写系统到nand)
发布时间:2022-1-21 10:19
发布者:就是塔塔
核心板上板载了一个大小为 512mb 的 nand flash,所以我们可以直接将系统烧写到 nand 上,从 nand上来启动系统,这样就不用通过固态或者 U 盘了。 这里我们使用 tftp 来烧写系统,我们需要在 Ubuntu 系统上搭建 tftp 服务,如大家不清楚要如何在 Ubuntu上安装 tftp,请参考手册 4.4 章节。 这里大家也可以使用别的媒介来烧录,如果 U 盘,烧写思路为将 U 盘或者 tftp 中的镜像拷贝到对应的nand flash 分区,所以使用 tftp 烧写的本质是通过网络将 pmon,内核,文件系统等镜像拷贝到 nand flash分区。 1、准备系统镜像 搭建好 tftp 服务后,我们需要将要烧写的 PMON 镜像,内核镜像,文件系统镜像拷贝到虚拟机 Ubuntu 的 tftp 目录下,如下图所示: ![]() 2、设置网络 首先,我们需要进到 PMON 命令行下,使用命令 ifaddr syn0 192.168.1.10 设置开发板的 IP 地址和虚拟机 Ubuntu 的 IP 在同一个网段下,并可以 ping 通虚拟机,如下图所示: ![]() 烧写完成后重启开发板 PMON 即可更新成功。 3、加载 PMON 镜像 注意:这里不建议大家在没有 Ejtag 的情况下对 PMON 进行操作,以免开发板变砖。 设置完网络后,我们输入命令 load -f 0xbfc00000 -r tftp://192.168.1.38/gzrom-dtb.bin,其中 192.168.1.38北京迅为电子有限公司 基于国产龙芯 SOC 为虚拟机 Ubuntu 的 IP 地址,如下图所示 ![]() 烧写完成后重启开发板 PMON 即可更新成功。 4、分区格式化 nand flash 在 pmon 命 令 行 下 输 入 命 令 mtd_erase /dev/mtd0 , 分 区 格 式 化 分 区 mtd0 , 如 下 图 所 示 : ![]() 在 pmon 命令行下输入命令 mtd_erase /dev/mtd1 分区格式化分区 mtd1,如下图所示: ![]() 5 、拷贝文件系统镜像 在 PMON 目录下输入命令 devcp tftp://192.168.1.38/rootfs.yaffs2 /dev/mtd1y 拷贝内核镜像到开发板nand flash 的/dev/mtd1 分区,其中 y 是以 yaffs2 格式拷贝,192.168.1.38 为虚拟机 Ubuntu 的 IP 地址,拷贝成功如下图所示: ![]() 6、拷贝内核镜像 在 PMON 目录下输入命令 devcp tftp://192.168.1.38/vmlinuz /dev/mtd0 拷贝内核镜像到开发板 nand flash 的 mtd0 分区,其中 192.168.1.38 为虚拟机 Ubuntu 的 IP 地址,拷贝成功如下图所示:、 ![]() 7、设置环境变量 设置环境变量 al1 的值,使用命令 set al1 /dev/mtd0。设置完如下图所示: ![]() 设置环境变量 append 的值,使用命令 set append "console=ttyS0,115200 init=/linuxrc rootfstype=yaffs2 rwroot=/dev/mtdblock1",设置完如下图所示: ![]() 然后输入 saveenv 保存,如下图所示: ![]() 设置完成以后,重启开发板,登录账号为 root,密码为 topeet,启动成功如下图所示: ![]() 至此,给 nand flash 烧写系统完毕。 |
网友评论