我目前使用的是freescale m31+ce5.0系统,通过修改hive注册表后,512m的nandflash现在已经有fat分区,并且在系统启动后能现在nand flash的磁盘。
我现在想改成两个fat的分区,一个用与存放system.hv等注册表和系统的一些应用程序,另一个提供用户使用,请问这个改怎么做啊?
在网上找了一些帖子,说修改eboot分区,然后修改hive注册表,不过eboot还没找到在那动手,nand.c里面也没发现可以改动的地方。所以还在郁闷中。。。。
eboot里面总的有地址空间的划分吧?我只在inc文件夹里面的image_cfg.h里面看到有起始地址和大小。
这个驱动不同可以说做法完全不同的,自己研究一下Flash的驱动吧
不是吧?没有人回?说说在别的平台上是怎么做的也行呀,比如三星的平台,ce4.2版本的也行呀,给个参考也不错啊!
牛人们都跑那去了呢?
这种问题需要牛人出来回答吗?
再说估计牛人出来回答你也听不懂,因为觉得你自己都不知道问题在哪里呢?
在 EBoot 中查找 BP_OpenPartition 这个函数。
在eboot里面没找到BP_OpenPartition 函数,到是在2440的eboot里面的nand。cpp中找到了对binfs和fat的分区,地址分配2440也在eboot里面也能找到,freescale的却是在一个imagecfg.h或imagecfg.inc中有,说实在的,我在整个bsp包里都没有发现什么BP_OpenPartition函数,到是在微软提供的public文件夹下的某个子目录发现了,platform.reg以前里面的一个partitiondriver= "",我想是不是他们调用的自己分区和格式化的函数?我把改成partitiondriver="mspart.dll"也没问题。
我现在到是想在freescale与2440里面的相同的分区位置把这个函数加进去,看看效果。
[quote]引用 8 楼 songlin987 的回复:
在eboot里面没找到BP_OpenPartition 函数,到是在2440的eboot里面的nand。cpp中找到了对binfs和fat的分区,地址分配2440也在eboot里面也能找到,freescale的却是在一个imagecfg.h或imagecfg.inc中有,说实在的,我在整个bsp包里都没有发现什么BP_OpenPartition函数,到是在微软提供的public文件夹下的某个子目录发现了,platform.reg以前里面的一个partitiondriver= "",我想是不是他们调用的自己分区和格式化的函数?我把改成pa…
[/Quote
我觉得楼主可以把2440的BP_OpenPartition 函数以及高低格式化部分移植过来啊。要想分区,我觉得就要在这里做手脚。在文件系统里面才能识别这些分区。
很荣幸我的bootloader是ADS的,也没有BP_OpenPartition 函数,我现在正打算移植。你的bootloader是在BSP中的,可以很好的PB下的一些分区lib配合,难度应该比我的小。
快点尝试吧。说不定到时候要你帮忙呢。