S3C6410 nand FLASH 不能启动问题
我自己制作的核心板,通过SD卡烧写程序到NAND FLASH。硬件如下 核心板NAND k9f2G08 ,MDDR-256M,金士顿8G SD卡
软件: 飞凌IROM_SD_EBOOT_SDFUSER.nb0 ,STEPLDR.NB0,EBOOT.BIN,STEPLDR.BIN,NK.BIN
SD卡烧写后,看飞凌的资料知道是烧写成功了。
但是,将开关设置为OM=11111 EINT=101,通过NAND FLASH启动
重新启动,没有任何显示;
查看EINT15(就是GPN15)得到占空比为85%左右方波。
根据三星的资料可以知道
When NAND uncorrectable ECC error detected, GPN15 is toggled for more information refer to Figure 10.
Duty rate is 90% high duration, 10% Low (High Toggle)
原来我的ECC校验有问题,没有通过。
我现在想请教各位:
1.ECC校验问题主要是什么原因?
2.我怎么判断是否是硬件问题?
3.我怎么判断我的软件没有问题?
4.我该如何调试?
5.由于手头没有其他工具?老大们能否提供一个能在SD卡启动,能烧录程序的工具,或者能够查看我的NAND FLASH里面是否已经有程序写进去了?是否正确?
6.我的OM=11111 EINT=101 NAND FLASH启动设置对于K9F2G08是否正确?
SD卡烧写得到最后如下信息:
Welcome! This tool just for TE/OK6410
+OALArgsInit()
SocID:0x36410101
Arguments area is initialized
-OALArgsInit()
INFO: (unsigned)C_IsrHandler : 0x80066598
INFO: (unsigned)ASM_IsrHandler : 0x80069A70
INFO: (unsigned)pISR : 0xEA01A694
HSMMC init
Setting registers for the EPLL (for SDCLK) : SYSCon.
Setting registers for the GPIO.
Setting registers for the EPLL : HSMMCCon.
#### this SD card is made on SPEC 2.0
This SD card is made on SPEC 2.0
This SD card is High Capacity
CardSize: 15564800 sector
ClockConfig() Card Working Frequency = 24MHz
BP_Init
++FMD_Init() ****
FMD_Init() : Read ID = 0x0000ecda
FMD_Init() : NUM_OF_BLOCKS = 2048
FMD_Init() : PAGES_PER_BLOCK = 64
FMD_Init() : SECTORS_PER_PAGE = 4
--FMD_Init()
FMD_GetInfo() : NUMBLOCKS = 2048(0x800), SECTORSPERBLOCK = 64(0x40), BYTESPERSECTOR = 2048(0x800)
FMD_GetInfo() : NUMBLOCKS = 2048(0x800), SECTORSPERBLOCK = 64(0x40), BYTESPERSECTOR = 2048(0x800)
wNUM_BLOCKS : 2048(0x800)
TOC_Read ERROR: INVALID_TOC Signature: 0xFFFFFFFF
TOC_Init: dwEntry:1, dwImageType: 0x2, dwImageStart: 0x0, dwImageLength: 0x0, dwLaunchAddr: 0x0
+BootConfigInit
-BootConfigInit
TOC {
dwSignature: 0x434F544E
BootCfg {
ConfigFlags: 0x10020
BootDelay: 0x2
ImageIndex: 1
IP: 0.0.0.0
MAC Address: 00:00:00:00:00:00
Port: 0.0.0.0
SubnetMask: 255.255.255.0
}
ID {
dwVersion: 0x20004
dwSignature: 0x45424F54
String: 'eboot.nb0'
dwImageType: 0x2
dwTtlSectors: 0x100
dwLoadAddress: 0x80030000
dwJumpAddress: 0x80030000
dwStoreOffset: 0x0
sgList.dwSector: 0x80
sgList.dwLength: 0x100
}
ID {
dwVersion: 0x1
dwSignature: 0x43465348
String: ''
dwImageType: 0x2
dwTtlSectors: 0x0
dwLoadAddress: 0x0
dwJumpAddress: 0x0
dwStoreOffset: 0x0
}
chainInfo.dwLoadAddress: 0X00000000
chainInfo.dwFlashAddress: 0X00000000
chainInfo.dwLength: 0X00000000
}
++InitializeDisplay()
--InitializeDisplay()
Press to download image stored on boot media, or to enter boot monitor.
Initiating image download in 0 seconds.
Starting auto-download ...
Erasethe block '0..3'
System ready!
Preparing for download...
IsCardInserted
f_mount return = 0x0
FileInfo.fsize = 0x2000
FileInfo.fsize = 0x2000
FileInfo.fsize = 0x2000
g_pDownPt = 0xA300211B
BL_IMAGE_TYPE_MANIFEST
BL_IMAGE_TYPE_UNKNOWN
Download BIN file information:
-----------------------------------------------------
: Base Address=0x0Length=0x2000
-----------------------------------------------------
Stepldr image
ImageStart = 0x0, ImageLength = 0x2000, LaunchAddr = 0x0
Completed file(s):
-------------------------------------------------------------------------------
: Address=0x0Length=0x2000Name="stepldr.nb0" Target=RAM
dwImageLength = 0x2000
dwNumBlocks = 0x1
dwBlock(0x0) X g_FlashInfo.wSectorsPerBlock(0x40) = 0x0
dwBytesPerBlock : 131072
INFO: Step loader image stored to Smart Media.Please Reboot.Halting...
IsCardInserted
FileInfo.fsize = 0x1C3DB
FileInfo.fsize = 0x1C3DB
g_pDownPt = 0xA301C3DB
BL_IMAGE_TYPE_BIN
Download BIN file information:
-----------------------------------------------------
: Base Address=0x80030000Length=0x1db3c
-----------------------------------------------------
Eboot image
rom_offset=0x0.
ImageStart = 0x80030000, ImageLength = 0x1DB3C, LaunchAddr = 0x80041D3C
Completed file(s):
-------------------------------------------------------------------------------
: Address=0x80030000Length=0x1DB3CName="" Target=RAM
ROMHDR at Address 80030044h
dwImageLength = 0x1db3c
dwNumBlocks = 0x1
dwBlock(0x2) X g_FlashInfo.wSectorsPerBlock(0x40) = 0x80
dwBytesPerBlock : 131072
TOC {
dwSignature: 0x434F544E
BootCfg {
ConfigFlags: 0x20830
BootDelay: 0x2
ImageIndex: 1
IP: 0.0.0.0
MAC Address: 00:00:00:00:00:00
Port: 0.0.0.0
SubnetMask: 255.255.255.0
}
ID {
dwVersion: 0x20004
dwSignature: 0x45424F54
String: 'eboot.nb0'
dwImageType: 0x2
dwTtlSectors: 0x3C
dwLoadAddress: 0x80030000
dwJumpAddress: 0x80041D3C
dwStoreOffset: 0x0
sgList.dwSector: 0x80
sgList.dwLength: 0x3C
}
ID {
dwVersion: 0x1
dwSignature: 0x43465348
String: ''
dwImageType: 0x2
dwTtlSectors: 0x0
dwLoadAddress: 0x0
dwJumpAddress: 0x0
dwStoreOffset: 0x0
}
chainInfo.dwLoadAddress: 0X00000000
chainInfo.dwFlashAddress: 0X00000000
chainInfo.dwLength: 0X00000000
}
INFO: Eboot image stored to Smart Media.Please Reboot.Halting...
Reserving Blocks ...
...reserve complete.
Enter LowLevelFormat .
Erasing flash block(s) (please wait): EraseBlocks: found a bad block (0x332) - skipping...
EraseBlocks: found a bad block (0x3ce) - skipping...
EraseBlocks: found a bad block (0x3d5) - skipping...
EraseBlocks: found a bad block (0x484) - skipping...
EraseBlocks: found a bad block (0x4f0) - skipping...
EraseBlocks: found a bad block (0x5d1) - skipping...
Done.
WriteMBR: MBR block = 0x6.
Done.
BinFS format done.
IsCardInserted
FileInfo.fsize = 0x25536AF
FileInfo.fsize = 0x25536AF
g_pDownPt = 0xA55536AF
BL_IMAGE_TYPE_BIN
Download BIN file information:
-----------------------------------------------------
: Base Address=0x80100000Length=0x25ede80
-----------------------------------------------------
RAM image
rom_offset=0x0.
ImageStart = 0x80100000, ImageLength = 0x25EDE80, LaunchAddr = 0x80107734
Completed file(s):
-------------------------------------------------------------------------------
: Address=0x80100000Length=0x25EDE80Name="" Target=RAM
ROMHDR at Address 80100044h
+WriteOSImageToBootMedia: g_dwTocEntry =1, ImageStart: 0x80100000, ImageLength: 0x25ede80, LaunchAddr:0x80107734
INFO: OEMLaunch: Found chain extenstion: '' @ 0x80100000
Writing single region/multi-region update, dwBINFSPartLength: 39771776
IsValidMBR: MBR sector = 0x180 (valid MBR)
OpenPartition: Partition Exists=0x0 for part 0x21.
CreatePartition: Enter CreatePartition for 0x21.
LastLogSector: Last log sector is: 0x1fcff.
CreatePartition: Start = 0x1c0, Num = 0x4c00.
Log2Phys: Logical 0x1c0 -> Physical 0x340
WriteMBR: MBR block = 0x6.
BP_SetDataPointer at 0x0
WriteData: Start = 0x0, Length = 0x25ede80.
Log2Phys: Logical 0x1c0 -> Physical 0x340
Writing Image ......
###############################################################################################################################################################################################################################################################################################################Updated TOC!
IsValidMBR: MBR sector = 0x180 (valid MBR)
OpenPartition: Partition Exists=0x0 for part 0xb.
CreatePartition: Enter CreatePartition for 0xb.
FindFreeSector: FreeSector is: 0x4dc0 after processing part 0x21.
CreatePartition: Num sectors set to 0x1ae00 to allow for compaction blocks.
CreatePartition: Start = 0x4dc0, Num = 0x1ae00.
WriteMBR: MBR block = 0x6.
TOC {
dwSignature: 0x434F544E
BootCfg {
ConfigFlags: 0x20830
BootDelay: 0x2
ImageIndex: 1
IP: 0.0.0.0
MAC Address: 00:00:00:00:00:00
Port: 0.0.0.0
SubnetMask: 255.255.255.0
}
ID {
dwVersion: 0x20004
dwSignature: 0x45424F54
String: 'eboot.nb0'
dwImageType: 0x2
dwTtlSectors: 0x3C
dwLoadAddress: 0x80030000
dwJumpAddress: 0x80041D3C
dwStoreOffset: 0x0
sgList.dwSector: 0x80
sgList.dwLength: 0x3C
}
ID {
dwVersion: 0x1
dwSignature: 0x43465348
String: ''
dwImageType: 0x2
dwTtlSectors: 0x4BDC
dwLoadAddress: 0x80100000
dwJumpAddress: 0x80107734
dwStoreOffset: 0x0
sgList.dwSector: 0x340
sgList.dwLength: 0x4BDC
}
chainInfo.dwLoadAddress: 0X00000000
chainInfo.dwFlashAddress: 0X00000000
chainInfo.dwLength: 0X00000000
}
waitforconnect
INFO: using TOC dwJumpAddress: 0x80107734
Success!
SpinForever... 无语了
页:
[1]