Cómo obtener la dirección de grabación de la memoria flash del enrutador desde 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 p>
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