打印

有关wince6.0分区驱动flashpart.dll的问题

[复制链接]
372|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
石头张|  楼主 | 2018-9-5 10:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
(板子是OK6410A,256MB DDR,2GB NAND FLASH)

       最近看了wince的nandflash驱动,采用的是MDD+PDD+FMD的架构,分区驱动是flashpart.dll,在网上查了好久,发现flashpart.dll是无法识别由mspart创建的MBR的。在eboot中采用的是mspart的函数来创建分区,实际上在nandflash上有三个分区:boot分区(这个在内核中略过),binfs分区(存储NK.bin),FAT32分区(用于永久存储用户数据以及应用程序)。

       既然flashpart.dll无法识别MBR的分区表,那它是如何识别nandflash上的分区的?实际上是无法识别的,只是flashpart分区驱动却能跳过binfs分区前的区域,把后面的nandflash空间当成是一个分区挂载在根目录的nandflash目录下。系统起来后去查看这个分区的类型,会发现是0x07(MSIFS),而不是0x0B(FATFS),大小是516224个扇区(我的nandflash总共有524288个扇区);如果对这个分区进行分区操作(即把它分成两个或更多),是无法成功的。

       我的问题是:这个过程是怎么实现的(即跳过binfs前面的区域,把后面的空间格式化成一个分区),因为微软没有公开flashpart的源码,不知道分区驱动的工作过程是怎样的,如果我要把后面的区域再分区,或者是扩大binfs分区的容量,需要修改哪些地方?

       希望能尽快得到回答,有哪位大神研究过的也希望能给予指导,小弟无比感谢!:handshake

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

446

主题

446

帖子

0

粉丝