阅读:2162回复:2
哪位高人做过基于MDD+PDD架构的MLC驱动,支持多分区的?
注册表要如何设置?我在EBOOT里面分了2个区,但是在OS里面不识别,被重新分区格式化了。
注意,是新的ce6.0 R2版本的MDD+PDD架构的驱动。分区程序变成了flashpart.dll,而不是FAL架构的mspart 多谢了。 |
|
沙发#
发布于:2008-09-26 17:30
用bootpart.lib在EBOOT里面进行分区,发现在OS里面是不能识别的。原来R2的分区程序已经变成了flashpart.dll,而以前的是mspart.dll,这条路走不通
后来发现在flashmdd.h里面有多个IO_CTRL,里面有对分区的支持。于是在应用程序里面对nand进行了分区。先将整个NAND用flashpart自动分区,只是预留了一部分空间来做新的分区之用。 应用程序是这样写的 memset(&flashPart, 0, sizeof(flashPart)); flashPart.RegionIndex = 1; strcpy((char*)(flashPart.PartitionName), "PART01"); flashPart.PartitionFlags = FLASH_PARTITION_FLAG_RESERVED; flashPart.CreationTime.dwLowDateTime = 41323392; flashPart.CreationTime.dwHighDateTime = 29909073; flashPart.PartitionType = 0; flashPart.LogicalBlockCount = dwFreeBlock; if (!DeviceIoControl(hStore, IOCTL_FLASH_CREATE_PARTITION, &flashPart, sizeof(FLASH_PARTITION_CREATE_INFO), &PartInfo, sizeof(FLASH_PARTITION_INFO), 0, NULL)) { RETAILMSG( 1, (TEXT("\r\n IOCTL_FLASH_CREATE_PARTITION111 error = %d.\r\n"),GetLastError())); } else { RETAILMSG (1,(_T( "\r\n IOCTL_FLASH_CREATE_PARTITION OK"))); } 但是在运行的时候总是出现87号错误,非法参数。查看了很多帮助,实在没有找到啥原因 |
|
板凳#
发布于:2008-10-10 17:21
居然连一个回复的都没有,估计都没有人做过
|
|