对linux内核创建flash上的各分区源码进行分析

本文详细解析了Linux内核版本4.9中MTD(Multi-Temperature Data)分区加载的具体流程。从关键字符串partitionsfoundonMTDdevice入手,深入分析了mtd_device_parse_register()函数如何调用parse_mtd_partitions()进行分区解析,并最终通过add_mtd_partitions完成设备分区的创建过程。

1.注意:内核源码版本为4.9

2.首先注意关键字符串"partitions found on MTD device

这句话在drivers/mtd/mtdpart.c的parse_mtd_partitions()中出现

3.mtd_device_parse_register()调用了parse_mtd_partitions()

4.发现mtd_device_parse_register()中的mtd_add_device_partitions()

5.mtd_add_device_partitions

  -->add_mtd_partitions

    这里面就有一句 printk(KERN_NOTICE "Creating %d MTD partitions on \"%s\":\n", nbparts, master->name);

6.add_mtd_partitions

  -->allocate_partition() drivers/mtd/mtdpart.c (对mtd结构体进行初始化)

  -->add_mtd_device()  drivers/mtd/mtdcore.c

  -->mtd_add_partition_attrs() drivers/mtd/mtdpart.c

 

转载于:https://www.cnblogs.com/dakewei/p/10083613.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值