启动linux系统需要将Linux镜像文件和设备树拷贝到DRAM中,有以下几种方式可以实现:
一、从EMMC或者NAND等存储设备中将Linux镜像文件和设备树文件拷贝到DRAM中
首先进去boot模式
mmc dev 1//切换1通道
ext4ls mmc 1:2//查看分区2中有没有镜像文件和设备树文件,两个文件要设置成可用模式
ext4load mmc 1:2 c2000000 uImage //拷贝镜像文件到指定地址
ext4load mmc 1:2 c4000000 stm32mp157d-atk.dtb //拷贝设备树到指定地址
bootm c2000000 - c4000000 //启动Linux的命令
二、通过nfs或者tftp将Linux镜像文件和设备树文件下载到DRAM中
首先进去boot模式
搭建好tftp环境或者nfc环境,将镜像文件放到Ubuntu的tftpboot文件夹中,给予镜像文件和设备树响应的权限,通过MobaXterm,使用tftp命令把镜像文件和设备树文件下载到开发板DRAM的地址处,命令如下:
tftp c2000000 uImage
tftp c2000000 stm32mp157d-atk.dtb
bootm c2000000 - c4000000
bootm命令:启动linux系统 bootm [addr [arg …]]
一般有三个参数,addr是Linux镜像文件uImage在DRAM中的地址,第二个参数是initrd根文件系统在DRAM中的地址(不用的话要写"-"),第三个参数是Linux内核使用设备树的话,用来指定设备树在DRAM中的地址。