ATMEL9261的两个CE5.0不同版本号的BSP进行NAND驱动移植(将第二个BSP的NAND驱动移植到第一个BSP上,但都是9261 CE5.0BSP)
移植后,程序都进不了FMD_INIT函数,看了下代码,驱动是通过读NAND的ID然后判断是什么型号的NAND FLASH,用的是K9F1G08UOA,和第一个BSP的参数是一致的,不知道是什么原因??
只要注册表正确,第一个执行的就是FMD_Init。如果这个都不能执行,那么看看注册表什么的。
看你的NK编译好没有,你的NK有对应的FMD驱动没有。看FMD驱动有没加载,看执行到什么地方停了。
楼上说的有道理!
OS系统起来后的驱动加载是注册表负责的,如果FMD_Init都不执行,应该是注册表问题,驱动没有被正确加载
注册表没问题:
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\NandFlash]
"Profile"="FlashDisk"
"IClass"=multi_sz:"{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
"Order"=dword:0
"FriendlyName"="NAND Flash Driver"
"Dll"="AT91SAM9261EK_NandFlash.dll"
"Prefix"="DSK"
"MemBase"=dword:40000000
IF BSP_AT91SAM9261EK_SAVEDREGISTRY_NAND
"Flags"=dword:1000
ENDIF BSP_AT91SAM9261EK_SAVEDREGISTRY_NAND
"DSK"相关的程序在什么地方??
不知道会不会与HIVE有关,但是HIVE部分我都没动
哪位说说要怎么调试呀,我都不知道要从哪里查问题了?,一周了都没找到问题。
DSK在微软的代码里面。你看看它连接了什么lib就知道在哪里了。
谢谢楼上的兄弟。
请问如果NAND芯片的参数(比如,block大小,时钟廷时等等)设置不对,能否进FMD_INIT函数
引用: 引用楼主 sunny_hgh 的帖子:
ATMEL9261的两个CE5.0不同版本号的BSP进行NAND驱动移植(将第二个BSP的NAND驱动移植到第一个BSP上,但都是9261 CE5.0BSP)
移植后,程序都进不了FMD_INIT函数,看了下代码,驱动是通过读NAND的ID然后判断是什么型号的NAND FLASH,用的是K9F1G08UOA,和第一个BSP的参数是一致的,不知道是什么原因??
原因找到是HIVE引起的,以前的HIVE是好的,请问要怎样找问题??HIVE的注册表文件肯定是没问题的,那是不是NAND分区的问题??请做过的高手指点!!
我用 9261的BSP 1.0.3 也遇到这个问题 9261的,打开hive 就只能启动一次,谁解决了,能否交流一下经验!!感激不尽!!!