如何从uboot中推算路由器flash烧写地址
1个回答
展开全部
首先从uboot中得到flash分区的基地址
一、找到uboot编译生成的bootstrap.map或者u-boot.map文件,找到下面这句,
.text 0x000000009f000000 0x3520
其中 0x9f000000 就是flash分区的基地址;
二、查看uboot的源代码,例如qca9531芯片,其flash分区的基地址就定义在下面这个头文件中;
u-boot\include\configs\board953x.h
/* NOR Flash start address */
#define CFG_FLASH_BASE 0x9f000000
查看路由器flash分区信息
~ # cat /proc/mtd
dev: size erasesize name
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
major minor #blocks name
31 0 256 mtdblock0
31 1 64 mtdblock1
31 2 6336 mtdblock2
31 3 1408 mtdblock3
31 4 64 mtdblock4
31 5 64 mtdblock5
开始计算各自模块的flash地址及烧写命令
烧写uboot:
tftp 0x80060000 u-boot.bin
erase 0x9f000000 +0x40000
cp.b 0x80060000 0x9f000000 0x40000
烧写jffs2
tftp 0x80060000 ap143-jffs2
erase 0x9f050000 +0x630000
cp.b 0x80060000 0x9f050000 0x630000
烧写vmlinux
tftp 0x80060000 vmlinux.lzma.uImage
erase 0x9f680000 +0x160000
cp.b 0x80060000 0x9f680000 0x160000
烧写art:
tftp 0x80060000 art.bin
erase 0x9f7f0000 +0x10000
cp.b 0x80060000 0x9f7f0000 0x10000
一、找到uboot编译生成的bootstrap.map或者u-boot.map文件,找到下面这句,
.text 0x000000009f000000 0x3520
其中 0x9f000000 就是flash分区的基地址;
二、查看uboot的源代码,例如qca9531芯片,其flash分区的基地址就定义在下面这个头文件中;
u-boot\include\configs\board953x.h
/* NOR Flash start address */
#define CFG_FLASH_BASE 0x9f000000
查看路由器flash分区信息
~ # cat /proc/mtd
dev: size erasesize name
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
major minor #blocks name
31 0 256 mtdblock0
31 1 64 mtdblock1
31 2 6336 mtdblock2
31 3 1408 mtdblock3
31 4 64 mtdblock4
31 5 64 mtdblock5
开始计算各自模块的flash地址及烧写命令
烧写uboot:
tftp 0x80060000 u-boot.bin
erase 0x9f000000 +0x40000
cp.b 0x80060000 0x9f000000 0x40000
烧写jffs2
tftp 0x80060000 ap143-jffs2
erase 0x9f050000 +0x630000
cp.b 0x80060000 0x9f050000 0x630000
烧写vmlinux
tftp 0x80060000 vmlinux.lzma.uImage
erase 0x9f680000 +0x160000
cp.b 0x80060000 0x9f680000 0x160000
烧写art:
tftp 0x80060000 art.bin
erase 0x9f7f0000 +0x10000
cp.b 0x80060000 0x9f7f0000 0x10000
深圳市容大彩晶科技有限公司
2024-11-20 广告
2024-11-20 广告
作为深圳市容大彩晶科技有限公司的工作人员,对于公司广告机的功能有一定的了解。公司的广告机是否支持多语言显示,具体需根据产品型号和功能配置来确定。但一般而言,现代广告机通常具备多语言显示的功能,以适应不同国家和地区的需求。建议直接查阅产品说明...
点击进入详情页
本回答由深圳市容大彩晶科技有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询