海思3518E开发——4、uboot命令及启动配置

一、连接开发板与电脑

开发板使用的是cp2104的芯片,电脑安装cp210X的驱动程序,然后通过设备管理器查看连接的com口。我这里是com3。这里使用SecurCRT,其他软件类似配置波特率115200

二、进入uboot配置界面

开发板启动后会有很多打印信息,在出现倒计时后按任意键即可进入uboot控制台。如下图所示。

三、uboot一些常用命令

在uboot控制台终端输入?或者help可以查看所有的命令及说明,具体的命令可以自行百度查找用法,这里只介绍几个常用命令。
printenv命令(可以使用pri),打印所有环境命令信息;
setenv命令(可以使用set),添加、修改、删除环境变量信息;掉电丢失。(修改后是在内存中需要使用saveenv保存到存储中)
使用方法见下图
新增环境变量

修改环境变量

删除环境变量

saveenv(也可以使用save)将修改后的环境变量保存到存储中,掉电不丢失,不一定为flash也可以为sd卡emmc等。
reset 复位系统。
sf命令 用于flash和内存交互
sf read addr offset len
sf write addr offset len
注意使用之前必须先用sf probe激活初始化flash。然后才能进行读写操作。
bootm 从指定的位置启动内核,注意需要是uImage内核。例如boootm 0x82000000,表示从内存0x82000000的位置启动内核。
md 读内存md [内存地址] [长度],具体使用如下图
mw 写内存mw [内存地址] [值] [长度],具体使用如下图

tftp [拷贝到的内存地址] [文件名] 从tftp服务器端拷贝文件到内存中。开发板的地址在环境变量 ipaddr中服务器的地址在环境变量serverip中,可以通过set命令修改环境变量来修改配置。

四、启动配置

系统启动的配置主要在环境变量的bootcmd和bootargs中。bootargs,指定了启动的内存,启动的控制台。存储的地址空间分布等。这也是我们之后内核文件以及根文件系统放的位置。之后会细讲这块。先做了解。
bootcmd主要是系统启动的命令。一般是讲内核从存储中拷贝到内存中,然后使用bootm启动内核。这样linux系统就在开发板跑起来了。
bootargs=mem=32M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:1M(boot),3M(kernel),12M(rootfs)
bootcmd=sf probe 0;sf read 0x82000000 0x100000 0x300000;bootm 0x82000000
如上所示,就是默认环境变量中配置bootcmd就是先调用sf命令初始化,然后把flash 0x100000到0x300000的内容拷贝到内存0x82000000中。然后用bootm 从内存0x82000000的位置启动内核。

posted @ 2020-10-30 15:35  lxblog  阅读(1942)  评论(4编辑  收藏  举报