Red de conocimiento informático - Material del sitio web - Cómo obtener la dirección de grabación de la memoria flash del enrutador desde uboot

Cómo obtener la dirección de grabación de la memoria flash del enrutador desde uboot

Primero, obtenga la dirección base de la partición flash de uboot.

Primero, busque el archivo bootstrap.map o u-boot.map compilado por uboot y busque la siguiente oración:

.text 0x000000009f000000 0x3520

Entre ellos, 0x9f000000 es la dirección base de la partición de memoria flash

2. Vea el código fuente de uboot, tomando el chip qca9531 como ejemplo; La dirección base de la partición de memoria flash se define en el siguiente archivo de encabezado Medio;

u-boot\include\configs\board953x.h

/* Dirección inicial de memoria flash NOR*/

#define CFG_FLASH_BASE 0x9f000000

Ver información de la partición flash del enrutador

~ # cat /proc/mtd

dev: tamaño borrartamaño nombre

mtd0: 00040000 00010000 "u-boot "

mtd1: 00010000 00010000 "u-boot-env"

mtd2: 00630000 00010000 "rootfs"

mtd3.00160000 00010000 "uImage"

mtd4: 00010000 00010000 "mib0"

mtd5: 00010000 00010000 "ART"

~ # cat / proc/partitions

mayor menor #nombre de bloques

31 0 256 mtdblock0

31 1 64 mtdblock1

31 2 6336 mtdblock2

31 3 1408 mtdblock3

31 4 64 mtdblock4

31 5 64 mtdblock5

Comience a calcular la dirección de memoria flash y el comando de grabación de cada módulo

Grabando uboot:

tftp 0x80060000 u-boot.bin

borrar 0x9f000000 0x40000

cp.b 0x80060000 0x9f000000 0x40000

Grabar jffs2

tftp 0x80060000 ap143-jffs2

borrar 0x9f050000

cp.b 0x80060000 0x9f050000 0x630000

Grabar vmlinux

tftp 0x80060000 v mlinux.lzma.uImagen

borrar 0x9f680000 0x160000

cp.0x80060000 0x9f680000 0x160000

grabar arte:

tftp 0x80060000 art.bin

borrar 0x9f7f0000 0x10000

cp.b 0x80060000 0x9f7f0000 0x10000