我的板子是mini2440 在移植官方的5.0 bsp,现在发现我的板子OEMEthGetSecs()这个函数时死机,我发现应该是我的板子应该有问,因为以前在wince系统下也发现他的时钟是不会走一秒的。接下来我把这个函数去掉,eboot就往下走了,
移植了dm9000的驱动 下面是部分出口打印信息
0) IP address: 192.168.17.112
1) Subnet mask: 255.255.255.0
2) DHCP: Disabled
3) Boot delay: 3 seconds
4) Reset to factory default configuration
5) Startup image: DOWNLOAD NEW
6) Program disk image into SmartMedia card: Disabled
7) Program CS8900 MAC address (12:23:34:45:56:67)
8) Kernel Debugger: ENABLED
9) Format Boot Media for BinFS
E) Erase Reserved Block
B) Mark Bad Block at Reserved Block
F) Low-level format the Smart Media card
D) Download image now
L) LAUNCH existing Boot Media image
R) Read Configuration
U) DOWNLOAD image now(USB)
W) Write Configuration Right Now
A) Erase All Blocks
Enter your selection: D
THE DM9000 ID_VALUE = 90000A46.
INFO: Probe: DM9000 is detected.
DM9000: MAC Address: 12:23:34:45:56:67
DM9000 Mac : 12
DM9000 Mac : 23
DM9000 Mac : 34
DM9000 Mac : 45
DM9000 Mac : 56
DM9000 Mac : 67
System ready!
Preparing for download...
OEMPreDownload
INFO: *** Device Name 'SMDK244022119' ***
BEFORE EbootInitEtherTransport
从串口打印的信息应该看出dm9000的id和mac都能识别出来了。但是当走到这个函数EbootInitEtherTransport时,系统就死机了。我可以看到dm9000已经和我的电脑连上了,但是我ping我的开发板就 是ping不通。各位大佬是什么问题呢
是实时时钟的问题 mini2440 的rtc晶振是坏的 换了个晶振就好了