nand flash分区问题

时间:2022-05-12 16:36:04
大家好!
    我的平台是ATMEL 的ARM9 9G45的;现在想把wince挂载的nand flash分区分成两个。
    请问我是要在平台的BSP的NAND驱动里修改,还是在WINCE的内核修改才成达到目地。
大家给给意见!
谢谢!

14 个解决方案

#1


在BSP里面,你要做什么格式的分区呀.

#2


做FAT或exfat都行。

#3


我在BSP里没找着关于分区的操作。

#4


引用 3 楼 qqwangbalu 的回复:
我在BSP里没找着关于分区的操作。

在eboot\nand.cpp下面的WriteOSImageToBootMedia函数中,楼主看看

#5


引用 3 楼 qqwangbalu 的回复:
我在BSP里没找着关于分区的操作。

在eboot\nand.cpp下面的WriteOSImageToBootMedia函数中,楼主仔细看看。

#6


hPartEx = BP_OpenPartition( NEXT_FREE_LOC,
                                USE_REMAINING_SPACE,
                                PART_DOS32,
                                TRUE,
                                PART_OPEN_ALWAYS);
上面是我的eboot\nand.cpp下面的WriteOSImageToBootMedia函数的分区部分,上面是把除NK占用的nandflash之外的空间创建一个FATFS格式的分区。

#7


我的BSP包没有nand.cpp或nand.c之类的文件。
只有一个flash.c;且里面函数为:
EBOOT_InitFlash;
EBOOT_ReadFlash;
EBOOT_WriteFlash;
EBOOT_EraseFlash;
跟分区没一点关系。
而且我用Source Insight搜索也没在我的BSP包里调用到
WriteOSImageToBootMedia,BP_OpenPartition
这样的函数。

不知道自己怎么开头修改。

#8


我的CE系统的存储管理里只有一块part00分区。
应该是没有分binfs和FAT。

#9


在EBOOT中作分区啊。。其他的地方做分区不好。窒息的看看EBOOT中的代码,主要是看看你的nand的分配格局,比如说,前几个block放的是NBOOT,前几个BOLCK放的是EBOOT,前多少个放的是NK,后面的那一段都是干了什么不就都看出来了。。BP_OpenPartition这个函数比较关键。也有可能是直接调用的库你找不到。。但是慢慢看source就能发现其中的端倪

祝你好运

#10


该回复于2011-01-05 17:00:04被版主删除

#11


引用 7 楼 qqwangbalu 的回复:
我的BSP包没有nand.cpp或nand.c之类的文件。
只有一个flash.c;且里面函数为:
EBOOT_InitFlash;
EBOOT_ReadFlash;
EBOOT_WriteFlash;
EBOOT_EraseFlash;
跟分区没一点关系。
而且我用Source Insight搜索也没在我的BSP包里调用到
WriteOSImageToBootMedia,BP_O……

因为我们的CPU是三星的,和楼主的不一样,不同的CPU的BSP有差别,但你们bsp的eboot中应该也有,你仔细看看

#12


引用 11 楼 loongembedded 的回复:
引用 7 楼 qqwangbalu 的回复:
我的BSP包没有nand.cpp或nand.c之类的文件。
只有一个flash.c;且里面函数为:
EBOOT_InitFlash;
EBOOT_ReadFlash;
EBOOT_WriteFlash;
EBOOT_EraseFlash;
跟分区没一点关系。
而且我用Source Insight搜索也没在我的BSP包里调用到
Writ……
UP

#13


参考这个链接
http://hi.baidu.com/sunkanghome/blog/item/45c42a8b8570d2dbfd1f10d1.html

#14


关注这个问题

#1


在BSP里面,你要做什么格式的分区呀.

#2


做FAT或exfat都行。

#3


我在BSP里没找着关于分区的操作。

#4


引用 3 楼 qqwangbalu 的回复:
我在BSP里没找着关于分区的操作。

在eboot\nand.cpp下面的WriteOSImageToBootMedia函数中,楼主看看

#5


引用 3 楼 qqwangbalu 的回复:
我在BSP里没找着关于分区的操作。

在eboot\nand.cpp下面的WriteOSImageToBootMedia函数中,楼主仔细看看。

#6


hPartEx = BP_OpenPartition( NEXT_FREE_LOC,
                                USE_REMAINING_SPACE,
                                PART_DOS32,
                                TRUE,
                                PART_OPEN_ALWAYS);
上面是我的eboot\nand.cpp下面的WriteOSImageToBootMedia函数的分区部分,上面是把除NK占用的nandflash之外的空间创建一个FATFS格式的分区。

#7


我的BSP包没有nand.cpp或nand.c之类的文件。
只有一个flash.c;且里面函数为:
EBOOT_InitFlash;
EBOOT_ReadFlash;
EBOOT_WriteFlash;
EBOOT_EraseFlash;
跟分区没一点关系。
而且我用Source Insight搜索也没在我的BSP包里调用到
WriteOSImageToBootMedia,BP_OpenPartition
这样的函数。

不知道自己怎么开头修改。

#8


我的CE系统的存储管理里只有一块part00分区。
应该是没有分binfs和FAT。

#9


在EBOOT中作分区啊。。其他的地方做分区不好。窒息的看看EBOOT中的代码,主要是看看你的nand的分配格局,比如说,前几个block放的是NBOOT,前几个BOLCK放的是EBOOT,前多少个放的是NK,后面的那一段都是干了什么不就都看出来了。。BP_OpenPartition这个函数比较关键。也有可能是直接调用的库你找不到。。但是慢慢看source就能发现其中的端倪

祝你好运

#10


该回复于2011-01-05 17:00:04被版主删除

#11


引用 7 楼 qqwangbalu 的回复:
我的BSP包没有nand.cpp或nand.c之类的文件。
只有一个flash.c;且里面函数为:
EBOOT_InitFlash;
EBOOT_ReadFlash;
EBOOT_WriteFlash;
EBOOT_EraseFlash;
跟分区没一点关系。
而且我用Source Insight搜索也没在我的BSP包里调用到
WriteOSImageToBootMedia,BP_O……

因为我们的CPU是三星的,和楼主的不一样,不同的CPU的BSP有差别,但你们bsp的eboot中应该也有,你仔细看看

#12


引用 11 楼 loongembedded 的回复:
引用 7 楼 qqwangbalu 的回复:
我的BSP包没有nand.cpp或nand.c之类的文件。
只有一个flash.c;且里面函数为:
EBOOT_InitFlash;
EBOOT_ReadFlash;
EBOOT_WriteFlash;
EBOOT_EraseFlash;
跟分区没一点关系。
而且我用Source Insight搜索也没在我的BSP包里调用到
Writ……
UP

#13


参考这个链接
http://hi.baidu.com/sunkanghome/blog/item/45c42a8b8570d2dbfd1f10d1.html

#14


关注这个问题