1. arranque de arranque
Cuando el dispositivo se enciende y se inicia, debe presionar la tecla Intro de inmediato, y el inicio de la placa de desarrollo se detendrá en el momento de la información de registro de inicio de uboot.
Este es el modo de comando de uboot, es decir, puede ingresar comandos de uboot para realizar algunas operaciones.
2. Comandos básicos de uboot
1. comando de ayuda
Cuando la placa de desarrollo esté encendida, presione la tecla Intro inmediatamente para ingresar al modo de comando uboot, ingrese el comando de ayuda o ingrese el signo de interrogación "?" para ver todos los comandos admitidos por uboot en la placa de desarrollo.
De la siguiente manera (a continuación solo se muestra una parte de los comandos):
=> help
? - alias for 'help'
base - print or set address offset
bdinfo - print Board Info structure
bmode - sd1|sd2|qspi1|normal|usb|sata|ecspi1:0|ecspi1:1|ecspi1:2|ecspi1:3|esdhc1|esdhc2|esdhc3|esdhc4 [noreset]
boot - boot default, i.e., run 'bootcmd'
bootd - boot default, i.e., run 'bootcmd'
bootelf - Boot from an ELF image in memory
bootm - boot application image from memory
Si necesita ver la información de ayuda para un determinado comando: ? + nombre de comando
Por ejemplo, para ver la información de ayuda del comando echo , puede ingresar: ?eco
=> ? echo
echo - echo args to console
Usage:
echo [args..]
- echo args to console; \c suppresses newline
=>
2. Comando de consulta de información
Comando printenv: vea el comando de variable de entorno actual de la placa de desarrollo
Comando bdinfo: ver el comando de información de uboot
Imprima todos los valores de las variables de entorno de la siguiente manera:
=> printenv
author=wangtian
baudrate=115200
board_name=EVK
board_rev=14X14
bootargs=console=ttymxc0,115200 ubi.mtd=5 root=ubi0:rootfs rootfstype=ubifs mtdparts=gpmi-nand:4m(u-boot),128k(env),1m(logo),1m(dtb),8m(kernel),-(rootfs)
bootcmd=nand read ${loadaddr} 0x620000 0x800000;nand read ${fdt_addr} ${fdt_offset} 0x20000;bootz ${loadaddr} - ${fdt_addr}
bootcmd_mfg=run mfgtool_args;bootz ${loadaddr} ${initrd_addr} ${fdt_addr};
bootdelay=3
3. Comandos relacionados con variables de entorno
Comando setenv: Establece todas las variables de entorno. También puede personalizar las variables de entorno. Las variables de entorno también se pueden eliminar.
Comando saveenv: Guarde las variables de entorno de la placa de desarrollo, es decir, guarde todos los valores de las variables de entorno en Nand-Flash o EMMC.
Por ejemplo, el uso del comando saveenv :
Cuando la placa de desarrollo permanece en el momento de inicio de uboot, se imprime la siguiente información:
La información impresa anterior significa: No guardamos las variables de entorno predeterminadas en la placa de desarrollo, por lo que usamos las variables de entorno predeterminadas.
En este punto, ingrese el comando saveenv para guardar el valor de la variable de entorno predeterminada de uboot en Nand-Flash (o EMMC) de la placa de desarrollo. Después de ejecutar el comando saveenv, la información de advertencia anterior no se imprimirá después de reiniciar el dispositivo.
Haz lo siguiente:
Uso del comando setenv :
Por ejemplo, aquí queremos cambiar el valor de bootdelay.Podemos saber a través del comando printenv que el valor de bootdelay ahora es 1, es decir, el kernel de Linux se inicia después de un retraso de 1 segundo después de que se inicia uboot.
Aquí quiero cambiar el valor de bootdelay a 3. Introduzca el comando de la siguiente manera:
setenv bootdelay 3 //这里只是在代码更改了 bootdelay的值,并没有保存到Nand-Flash中
También debe guardar el bootdelay modificado , ingrese el comando de la siguiente manera:
saveenv //将更改的 bootdelay的值保存到 Nand_flash中
El funcionamiento es el siguiente:
=> setenv bootdelay 3
=> saveenv
Saving Environment to NAND...
Erasing NAND...
Erasing at 0x400000 -- 100% complete.
Writing to NAND... OK
En este momento, el valor de bootdelay se ha guardado en Nand-Flash y puede usar el comando printenv para verlo. También puede volver a encender la placa de desarrollo y verificar si se produce la cuenta regresiva de 3 segundos después de que se inicie uboot.
4. Crear nuevas variables de entorno/eliminar variables de entorno
(1) Variables de entorno personalizadas
Se define una variable de entorno personalizada para agregar una nueva variable de entorno.
El funcionamiento es el siguiente:
=> setenv author wangtian
=> saveenv
Saving Environment to NAND...
Erasing NAND...
Erasing at 0x400000 -- 100% complete.
Writing to NAND... OK
Luego use el comando printenv para verificar si se ha creado correctamente. como sigue:
=> printenv
author=wangtian
(2) Eliminar la variable de entorno
El comando setenv puede eliminar variables de entorno.
Establecer el valor de una variable de entorno en un valor nulo elimina la variable de entorno.
=> setenv author
=> saveenv
Saving Environment to NAND...
Erasing NAND...
Erasing at 0x400000 -- 100% complete.
Writing to NAND... OK
Luego use el comando printenv para verificar que la variable de entorno autor haya sido eliminada.
Como sigue:
=> printenv
baudrate=115200
board_name=EVK
board_rev=14X14
bootargs=console=ttymxc0,115200 ubi.mtd=5 root=ubi0:rootfs rootfstype=ubifs