mp8313 mtd 分区配置

参照默认的配置,在配置树中修改那nand的分区大小后,编译,启动系统, 都正常,在u-boot中将kernel,dtb,roofs刷到对应分区以能正常启动, 现在要做系统升级,发现在linux中用mtd_debug, flash等工具对有些分区都写,有些不能, 进一步用mtd_debug info命令读出来的分区信息:

不能写的分区的flags有配置

而能写的分区的flags都为空, 怀疑是这些被设为只读了, 无籁没有相关配置说明, 只能开始研究mtd的代码了.

找着在driver/nand/fsl_elbc.c -->fsl_elbc_chip_probe()函数中去做的flash芯片及分区配置.在fsl_elbc_chip_probe()先做多芯片扫描, 如果配置了支持mtd分区, 开始做分区分析.由parse_flash_partitions()函数负责(maps/physmap_of.c中), parse_flash_partitions()函数主要是读取设备配置树的信息来识别分区的,其中这67行的注释提醒了我:


先前在看配置树的时候还迷惑为什么有些分获的大小后面一位是1, 没明白什么意思就先保留了:


看见这行,一想应该就是它来标识该分区是否可写了,立即修改测试,果然.

在一次的无籁,那有设备配置树,各配置项的详细说明啊.

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值