但是系统起来,flash扫描完之后,系统就不动了。
不知道是什么原因?注册表是放在HIVE BOOT SECTION区的
注册表如下:
; HIVE BOOT SECTION
[HKEY_LOCAL_MACHINE\Drivers\BlockDevice\SMFLASH]
"Dll"="smflash.dll"
"Order"=dword:2
"Prefix"="DSK"
"Ioctl"=dword:4
"Profile"="SMFLASH"
"IClass"="{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
"Flags"=dword:1000
[HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\SMFLASH]
"DriverPath"="Drivers\\BlockDevice\\SMFLASH"
"LoadFlags"=dword:1
"Order"=dword:0
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SMFLASH]
"Name"="Microsoft Flash Disk"
"Name"="SMFLASH"
"Folder"="NandFlash"
"MountFlags"=dword:0
"AutoMount"=dword:1
"AutoPart"=dword:1
"AutoFormat"=dword:1
"FileSystem"="fatfsd.dll"
"PartitionDriver"="mspart.dll"
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SMFLASH\FATFS]
"FriendlyName"="TFAT FileSystem"
"Dll"="fatfsd.dll"
"Flags"=dword:00680034
"Paging"=dword:1
"CacheSize"=dword:0
"FormatTfat"=dword:1
; END HIVE BOOT SECTION
;-------------------------------------HIVE END------
麻烦大家帮帮忙
谢谢
17 个解决方案
#1
具体执行到了哪个环节?
是执行完这个驱动还是进入了WINCE?
是不是HIVE REG的问题?没有读到注册表?
改成RAM REG试试
是执行完这个驱动还是进入了WINCE?
是不是HIVE REG的问题?没有读到注册表?
改成RAM REG试试
#2
驱动加载之后,系统会对nandflash进行一次扫描,有erase,read,write等操作
执行完之后就没有下文了,系统就卡死在哪儿了
估计是没有读到注册表
我刚才看到网上有一些文章,说是要在eboot里面使用BP_OpenPartition,创建分区。
这步是不是必须得
执行完之后就没有下文了,系统就卡死在哪儿了
估计是没有读到注册表
我刚才看到网上有一些文章,说是要在eboot里面使用BP_OpenPartition,创建分区。
这步是不是必须得
#3
OEMInitDebugSerial using UART1
Windows CE Kernel for ARM (Thumb Enabled) Built on Aug 4 2008 at 18:38:38
ProcessorType=0411 Revision=7
sp_abt=ffff5000 sp_irq=ffff2800 sp_undef=ffffc800 OEMAddressTable = 96cb97d0
XSCDBG:Trace initialized: CFG:98570b9c Buffer: 9856f648, 14f0
OEMInit done.
Sp=ffffc7cc
Load NandFlash Driver(ActiveReg=Drivers\BlockDevice\SMFLASH) ... ... OK
FMD_GetInfo : _ReadXID() nMID=0xEC, nDID=0xDA
FMD_GetInfo : NUMBLOCKS : 32(0x20), SECTORSPERBLOCK = 256(0x100), BYTESPERSECTOR = 512(0x200)
FMD_OEMIoControl: unrecognized IOCTL (0x71c24).
FMD_OEMIoControl: unrecognized IOCTL (0x71c54).
FMD_OEMIoControl: unrecognized IOCTL (0x71c54).
FMD_OEMIoControl: unrecognized IOCTL (0x71c54).
FMD_OEMIoControl: unrecognized IOCTL (0x71c54).
FMD_OEMIoControl: unrecognized IOCTL (0x71c54).
FMD_OEMIoControl: unrecognized IOCTL (0x71c54).
#4
没用过EBOOT的分区,我使用的是CE启动的时候分区。
所以我建议你先暂时去掉HIVE注册表的功能,这样启动的时候不会去读FAT中的注册表,是从NK中读取并加载执行,如果能够正常启动说明很有可能是NAND的分区问题,如果仍然不能启动就要再找其它原因了。
所以我建议你先暂时去掉HIVE注册表的功能,这样启动的时候不会去读FAT中的注册表,是从NK中读取并加载执行,如果能够正常启动说明很有可能是NAND的分区问题,如果仍然不能启动就要再找其它原因了。
#5
在EBOOT中分区看看吧
#6
去掉HIVE注册表功能就OK了,终于能挂载上去了。
但是我的目标是要实现HIVE注册表才行,所以现在只是验证了驱动的完整性。继续调试
现在的注册表如下:没有HIVE功能
但是我的目标是要实现HIVE注册表才行,所以现在只是验证了驱动的完整性。继续调试
现在的注册表如下:没有HIVE功能
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SMFLASH]
"Dll"="smflash.dll"
"Order"=dword:2
"Prefix"="DSK"
"Ioctl"=dword:4
"Profile"="SMFLASH"
"IClass"="{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
"Flags"=dword:1000
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SMFLASH]
"Name"="SMFLASH"
"Folder"="SMFLASH"
"MountFlags"=dword:0
"AutoMount"=dword:1
"AutoPart"=dword:1
"AutoFormat"=dword:1
"FileSystem"="fatfsd.dll"
"PartitionDriver"="mspart.dll"
[HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\SMFLASH]
"DriverPath"="Drivers\\BuiltIn\\SMFLASH"
"LoadFlags"=dword:1
"Order"=dword:0
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SMFLASH\FATFS]
"FriendlyName"="TFAT FileSystem"
"Dll"="fatfsd.dll"
"Flags"=dword:00680034
"Paging"=dword:1
"CacheSize"=dword:0
"FormatTfat"=dword:1
#7
现在nandflash是找到了
但是SD卡却找不到了,郁闷啊
SD卡能检测到,但是就是找不到盘
但是SD卡却找不到了,郁闷啊
SD卡能检测到,但是就是找不到盘
#8
SD卡加载的时候出现如下异常
Data Abort: Thread=9a5ec400 Proc=981d7e50 'filesys.exe'
AKY=00000003 PC=03fd5c80(coredll.dll+0x00055c80) RA=03fd71c0(coredll.dll+0x000571c0) BVA=36363829 FSR=00000003
Data Abort: Thread=9a5ec400 Proc=981d7e50 'filesys.exe'
AKY=00000003 PC=03fd5c80(coredll.dll+0x00055c80) RA=03fd71c0(coredll.dll+0x000571c0) BVA=36363829 FSR=00000003
#9
楼主是把WinCE操作系统烧录到NAND中吗?
以前调试PXA270+NAND+MultiBIN时也发现类似的问题,
系统启动时总是莫名其妙的出现Data Abort,
后来放弃使用MultiBIN了。
由于PXA270没有NAND控制器,
自己扩展出来的效果还是要差很多的。
以前调试PXA270+NAND+MultiBIN时也发现类似的问题,
系统启动时总是莫名其妙的出现Data Abort,
后来放弃使用MultiBIN了。
由于PXA270没有NAND控制器,
自己扩展出来的效果还是要差很多的。
#10
我没有将系统烧录到NAND,
只是将NAND作为一个扩展的磁盘而已
现在连HIVES也都还没有实现。
只是将NAND作为一个扩展的磁盘而已
现在连HIVES也都还没有实现。
#11
WinCE启动的时候,会扫描nandflash,这个时间好像非常的长,
我用的是256M bytes的Nandflash
有什么方法可以提高他扫描的速度吗?
我用的是256M bytes的Nandflash
有什么方法可以提高他扫描的速度吗?
#12
有人知道这个扫描怎么处理吗,开机太慢了
#13
WinCE启动的时候,会扫描nandflash,这个时间好像非常的长,
我用的是256M bytes的Nandflash
有什么方法可以提高他扫描的速度吗?
----------》256M是很快的。估计程序写的不好,或者卡有问题。如果用hive需要在eboot中创建分区。
我用的是256M bytes的Nandflash
有什么方法可以提高他扫描的速度吗?
----------》256M是很快的。估计程序写的不好,或者卡有问题。如果用hive需要在eboot中创建分区。
#14
做过NAND FLASH和SD卡驱动,两个是不冲突的。除非你硬件上有冲突,有寄存器控制,初始化的时候,需要加锁一个。
#15
"MountFlags"=dword:0 这个注册表的键值可以让你的HIVE放到nand上去,估计就是你启动停住的原因
要想让你启动加快,可以避免启动的时候来扫描你的整个nand,你的FAT的分区越大,启动就越慢,所以,在FAT分区下有个flags里面有个disablesacan的键值,你仔细看看help,有一个键值
要想让你启动加快,可以避免启动的时候来扫描你的整个nand,你的FAT的分区越大,启动就越慢,所以,在FAT分区下有个flags里面有个disablesacan的键值,你仔细看看help,有一个键值
#16
PXA270没有NAND控制器,因此都是用总线模拟的,通过总线发送命令来实现的,ECC校验我也没有做,案例说应该很快的。
分区是在eboot里面进行的,因为系统是烧写到norflash里面的,所以nandflash只是在第一次使用时格式化了一下。
而且现在还没有实现hives,无法保存更改的注册表
分区是在eboot里面进行的,因为系统是烧写到norflash里面的,所以nandflash只是在第一次使用时格式化了一下。
而且现在还没有实现hives,无法保存更改的注册表
#17
"Flags"=dword:00680034
disablesacan应该是有效的,不会扫描,还是很慢!
disablesacan应该是有效的,不会扫描,还是很慢!
#1
具体执行到了哪个环节?
是执行完这个驱动还是进入了WINCE?
是不是HIVE REG的问题?没有读到注册表?
改成RAM REG试试
是执行完这个驱动还是进入了WINCE?
是不是HIVE REG的问题?没有读到注册表?
改成RAM REG试试
#2
驱动加载之后,系统会对nandflash进行一次扫描,有erase,read,write等操作
执行完之后就没有下文了,系统就卡死在哪儿了
估计是没有读到注册表
我刚才看到网上有一些文章,说是要在eboot里面使用BP_OpenPartition,创建分区。
这步是不是必须得
执行完之后就没有下文了,系统就卡死在哪儿了
估计是没有读到注册表
我刚才看到网上有一些文章,说是要在eboot里面使用BP_OpenPartition,创建分区。
这步是不是必须得
#3
OEMInitDebugSerial using UART1
Windows CE Kernel for ARM (Thumb Enabled) Built on Aug 4 2008 at 18:38:38
ProcessorType=0411 Revision=7
sp_abt=ffff5000 sp_irq=ffff2800 sp_undef=ffffc800 OEMAddressTable = 96cb97d0
XSCDBG:Trace initialized: CFG:98570b9c Buffer: 9856f648, 14f0
OEMInit done.
Sp=ffffc7cc
Load NandFlash Driver(ActiveReg=Drivers\BlockDevice\SMFLASH) ... ... OK
FMD_GetInfo : _ReadXID() nMID=0xEC, nDID=0xDA
FMD_GetInfo : NUMBLOCKS : 32(0x20), SECTORSPERBLOCK = 256(0x100), BYTESPERSECTOR = 512(0x200)
FMD_OEMIoControl: unrecognized IOCTL (0x71c24).
FMD_OEMIoControl: unrecognized IOCTL (0x71c54).
FMD_OEMIoControl: unrecognized IOCTL (0x71c54).
FMD_OEMIoControl: unrecognized IOCTL (0x71c54).
FMD_OEMIoControl: unrecognized IOCTL (0x71c54).
FMD_OEMIoControl: unrecognized IOCTL (0x71c54).
FMD_OEMIoControl: unrecognized IOCTL (0x71c54).
#4
没用过EBOOT的分区,我使用的是CE启动的时候分区。
所以我建议你先暂时去掉HIVE注册表的功能,这样启动的时候不会去读FAT中的注册表,是从NK中读取并加载执行,如果能够正常启动说明很有可能是NAND的分区问题,如果仍然不能启动就要再找其它原因了。
所以我建议你先暂时去掉HIVE注册表的功能,这样启动的时候不会去读FAT中的注册表,是从NK中读取并加载执行,如果能够正常启动说明很有可能是NAND的分区问题,如果仍然不能启动就要再找其它原因了。
#5
在EBOOT中分区看看吧
#6
去掉HIVE注册表功能就OK了,终于能挂载上去了。
但是我的目标是要实现HIVE注册表才行,所以现在只是验证了驱动的完整性。继续调试
现在的注册表如下:没有HIVE功能
但是我的目标是要实现HIVE注册表才行,所以现在只是验证了驱动的完整性。继续调试
现在的注册表如下:没有HIVE功能
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SMFLASH]
"Dll"="smflash.dll"
"Order"=dword:2
"Prefix"="DSK"
"Ioctl"=dword:4
"Profile"="SMFLASH"
"IClass"="{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
"Flags"=dword:1000
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SMFLASH]
"Name"="SMFLASH"
"Folder"="SMFLASH"
"MountFlags"=dword:0
"AutoMount"=dword:1
"AutoPart"=dword:1
"AutoFormat"=dword:1
"FileSystem"="fatfsd.dll"
"PartitionDriver"="mspart.dll"
[HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\SMFLASH]
"DriverPath"="Drivers\\BuiltIn\\SMFLASH"
"LoadFlags"=dword:1
"Order"=dword:0
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SMFLASH\FATFS]
"FriendlyName"="TFAT FileSystem"
"Dll"="fatfsd.dll"
"Flags"=dword:00680034
"Paging"=dword:1
"CacheSize"=dword:0
"FormatTfat"=dword:1
#7
现在nandflash是找到了
但是SD卡却找不到了,郁闷啊
SD卡能检测到,但是就是找不到盘
但是SD卡却找不到了,郁闷啊
SD卡能检测到,但是就是找不到盘
#8
SD卡加载的时候出现如下异常
Data Abort: Thread=9a5ec400 Proc=981d7e50 'filesys.exe'
AKY=00000003 PC=03fd5c80(coredll.dll+0x00055c80) RA=03fd71c0(coredll.dll+0x000571c0) BVA=36363829 FSR=00000003
Data Abort: Thread=9a5ec400 Proc=981d7e50 'filesys.exe'
AKY=00000003 PC=03fd5c80(coredll.dll+0x00055c80) RA=03fd71c0(coredll.dll+0x000571c0) BVA=36363829 FSR=00000003
#9
楼主是把WinCE操作系统烧录到NAND中吗?
以前调试PXA270+NAND+MultiBIN时也发现类似的问题,
系统启动时总是莫名其妙的出现Data Abort,
后来放弃使用MultiBIN了。
由于PXA270没有NAND控制器,
自己扩展出来的效果还是要差很多的。
以前调试PXA270+NAND+MultiBIN时也发现类似的问题,
系统启动时总是莫名其妙的出现Data Abort,
后来放弃使用MultiBIN了。
由于PXA270没有NAND控制器,
自己扩展出来的效果还是要差很多的。
#10
我没有将系统烧录到NAND,
只是将NAND作为一个扩展的磁盘而已
现在连HIVES也都还没有实现。
只是将NAND作为一个扩展的磁盘而已
现在连HIVES也都还没有实现。
#11
WinCE启动的时候,会扫描nandflash,这个时间好像非常的长,
我用的是256M bytes的Nandflash
有什么方法可以提高他扫描的速度吗?
我用的是256M bytes的Nandflash
有什么方法可以提高他扫描的速度吗?
#12
有人知道这个扫描怎么处理吗,开机太慢了
#13
WinCE启动的时候,会扫描nandflash,这个时间好像非常的长,
我用的是256M bytes的Nandflash
有什么方法可以提高他扫描的速度吗?
----------》256M是很快的。估计程序写的不好,或者卡有问题。如果用hive需要在eboot中创建分区。
我用的是256M bytes的Nandflash
有什么方法可以提高他扫描的速度吗?
----------》256M是很快的。估计程序写的不好,或者卡有问题。如果用hive需要在eboot中创建分区。
#14
做过NAND FLASH和SD卡驱动,两个是不冲突的。除非你硬件上有冲突,有寄存器控制,初始化的时候,需要加锁一个。
#15
"MountFlags"=dword:0 这个注册表的键值可以让你的HIVE放到nand上去,估计就是你启动停住的原因
要想让你启动加快,可以避免启动的时候来扫描你的整个nand,你的FAT的分区越大,启动就越慢,所以,在FAT分区下有个flags里面有个disablesacan的键值,你仔细看看help,有一个键值
要想让你启动加快,可以避免启动的时候来扫描你的整个nand,你的FAT的分区越大,启动就越慢,所以,在FAT分区下有个flags里面有个disablesacan的键值,你仔细看看help,有一个键值
#16
PXA270没有NAND控制器,因此都是用总线模拟的,通过总线发送命令来实现的,ECC校验我也没有做,案例说应该很快的。
分区是在eboot里面进行的,因为系统是烧写到norflash里面的,所以nandflash只是在第一次使用时格式化了一下。
而且现在还没有实现hives,无法保存更改的注册表
分区是在eboot里面进行的,因为系统是烧写到norflash里面的,所以nandflash只是在第一次使用时格式化了一下。
而且现在还没有实现hives,无法保存更改的注册表
#17
"Flags"=dword:00680034
disablesacan应该是有效的,不会扫描,还是很慢!
disablesacan应该是有效的,不会扫描,还是很慢!