mtd 分区表计算方式

详细的MTD设备分析见opensource

https://www.opensourceforu.com/2012/01/working-with-mtd-devices/

下面主要介绍如何计算分区大小
mtd 分区表计算方式

dev 分区大小 erasesize
name 换算M mtd0 00100000 00020000 vnvm 1M
mtd1 00500000 00020000 uboot 5M
mtd2 00800000 00020000 boot 8M
mtd3 05500000 00020000 rootfs 85M
mtd4 00080000 00020000 misc 0.5M
mtd5 01000000 00020000 recovery 16M mtd6 089e0000
00020000 userdata 137.875M

parameter 分析
device/xx/parameter.txt

分区大小 @ 起始地址 sector = 512换算成M 公式:分区大小 * sector / 1024 / 1024
0x00000800@0x00001000(vnvm)0x800 = 2048sector/1024/1024 = 1M
0x00002800@0x00001800(uboot)0x2800=10240
512/1024/1024 = 5M
0x00004000@0x00004000(boot)0x4000 =…=8M
0x00014000@0x00008000(rootfs)… = 85M 0x00000400@0x0001c000(misc)…
= 0.5M 0x00008000@0x0001c400(recovery)… = 16M
-@0x00024400(userdata:grow)… = 137.875M

起始地址 = 前一个分区大小 + 前一个分区起始地址
eg:

(uboot)起始地址 = (vnvm)分区大小 + (vnvm)起始地址
= 0x00000800 + 0x00001000
= 0x00001800

你可能感兴趣的:(mcu)