详细的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

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐