阅读:1656回复:14
pxa255+cpld
请教各位大侠,我现在根据一款开发板自己做了个板子,串口数据已经出来,要求初始化cs8900,
当我将cpld的逻辑写进去后,串口居然不出数据,不知有没有哪位碰到过类似问题?请指教! cs8900的控制脚是通过cpld扩展出来的.数据线和地址线是通过245隔离的。 |
|
论坛版主
|
沙发#
发布于:2005-07-14 16:39
串口不出数据指的什么?CS8900的初始化代码中的打印信息,还是CPLD工作后串口就不能工作了?有没有在仿真器的DEBUGGER里面测试过CPLD的逻辑是否能满足CS8900的要求?
|
|
板凳#
发布于:2005-07-14 18:32
大哥,谢谢了!
没写cpld之前串口出来的数据如下: *******Beginning System Initialization******* SDCLK[1] = MemClk MemClk = 99.53 MHz Run Mode = 4 * MemClk Turbo Mode = Run Mode Mode: RUN Beginning SDRAM Scrub... SDRAM Scrub Complete ****************************************************** ****************************************************** ****************************************************** ****************************************************** ****************************************************** OEMInitDebugSerial using UART2 Microsoft Windows CE Ethernet Bootloader built Dec 1 2004 11:40:09 Copyright (c) 2001 Microsoft Corporation Portions copyright (c) 2001 Intel Corporation Press [ENTER] to download now or [SPACE] to cancel. Initiating image download in 3 seconds. Ethernet Boot Loader Configuration: 0) IP address: 192.168.0.66 1) Subnet mask: 255.255.255.0 2) # bootme's: 25 3) Boot delay: 5 seconds 4) DHCP: Disabled 5) Reset to factory default configuration 6) Download new image at startup 7) Program RAM image into FLASH (Disabled) 8) MAC address: 00-03-47-43-54-69 9) Download startup picture delay: 60 seconds D) Download image now L) Launch existing flash resident image now P) Download startup picture now Enter your selection: 0 Enter new IP address: 192.168.0.16 Ethernet Boot Loader Configuration: 0) IP address: 192.168.0.16 1) Subnet mask: 255.255.255.0 2) # bootme's: 25 3) Boot delay: 5 seconds 4) DHCP: Disabled 5) Reset to factory default configuration 6) Download new image at startup 7) Program RAM image into FLASH (Disabled) 8) MAC address: 00-03-47-43-54-69 9) Download startup picture delay: 60 seconds D) Download image now L) Launch existing flash resident image now P) Download startup picture now Enter your selection: d Erasing Flash B8340000 to B837FFFF: Please wait ... . Performing erase verification ... Flash erasing complete. ::: CS8900DBG_Init CS8900 Mac Address: 00:03:47:43:54:69 ::: CS8900 Probe() iobase=BF600300 IOREAD= 300 Signature Error Failed to initialize CS8900 Ethernet Chip.. 烧写cpld后,只能出现如下数据,但cpld的逻辑应该是没有问题的 *******Beginning System Initialization******* SDCLK[1] = MemClk MemClk = 99.53 MHz Run Mode = 4 * MemClk Turbo Mode = Run Mode Mode: RUN Beginning SDRAM Scrub... SDRAM Scrub Complete 请指教! 谢谢了 |
|
论坛版主
|
地板#
发布于:2005-07-15 12:59
你看看OEMINIT里面是不是来就有网卡的操作?你的CPLD除了给出网卡的控制信号外还有别的信号有可能在开始的时候就使用?特别注意你的CPLD的内部寄存器的访问使用的地址在OEMINIT里面应该是虚拟地址了。不管用什么方式,先确保你的代码运行到了OEMINIT。
|
|
论坛版主
|
地下室#
发布于:2005-07-15 13:05
喔,不好意思,刚才说错了,应该是到你的MAIN函数,不是OEMINIT
|
|
论坛版主
|
5楼#
发布于:2005-07-15 13:10
我这儿正好有个PXA250的BSP,我看了一下从SDRAM Scrub Complete打印结束到跳到MAIN的那些代码,只有些写LED的东西可能会有CPLD的操作,你确保这些代码不会出问题应该就可以顺利执行到MAIN,在MAIN里面只要调试串口初始化执行到就不会有太大问题了。
|
|
6楼#
发布于:2005-07-15 18:16
我也是这么这么考虑的,cpld还接了cf卡的控制信号,因为现在不用cf卡,我只是将cf卡的控制信号去掉了,难道问题出在这里?
|
|
论坛版主
|
7楼#
发布于:2005-07-18 14:33
嗯,你先做一个简单的,等系统跑起来后慢慢加吧
|
|
8楼#
发布于:2005-07-18 14:57
我现在是参考别人的板子做的,应该bsp和硬件都没有出错,唯一和别人有区别的就是将cpld出来控制cf卡的信号给去掉了,结果系统下载不了,要不大哥留个email,我将原理图发给你,帮我看看?
我的email是394180934◎163.com, 可是我分析结果就是初始化时地址映射的错误,可是cpld没有问题,那问题从那里来的? |
|
论坛版主
|
9楼#
发布于:2005-07-18 15:09
现在串口问题好了吗?下载不了的话你得确保你的CPLD功能是不是正常了阿,有没有在仿真器下测过网卡?收发包正确了再往BOOTLOADER里面加三。
WXL_50685330@163.COM 对了,你在改CPLD的VHDL的时候小心哈,CF接口信号可能和网卡的有关联的,你检查一下呢 |
|
10楼#
发布于:2005-07-19 09:48
老大,谢谢了!
我已经将原理图发给你了,麻烦帮忙看看! 要不将bsp也发给你? |
|
论坛版主
|
11楼#
发布于:2005-07-19 13:24
你忘加附件了:)
|
|
12楼#
发布于:2005-07-20 18:58
附件昨天已发,不知老兄看的如何?
|
|
论坛版主
|
13楼#
发布于:2005-07-21 13:21
你的两封信我都收到,但是没有附件,附件有多大?要不你先给我原理图吧,BSP可能有些大
|
|
14楼#
发布于:2005-07-26 11:07
问题解决了没有?
如果还没有,你查一下总线吧,尤其是SDRAM的读写控制信号,可能你的CPLD影响到了SDRAM的控制或者时序。 你的代码是结束在CodeInRAM之前,即代码从flash中被copy到RAM中,然后在RAM中运行,RAM中的代码没有跑起来,或者是copy的操作就没有正确完成。可以在copy之后加个校验测试代码看看。 |
|