跪求:S3c44b0单片机驱动ISP1161 USB 问题??

xuezi_duan 2008-06-25 11:55:01
各位大侠,小弟是硬件编程的新手,这里遇到了一个问题,急需求助:
MCU:s3c44b0X,USB:ISP1161 DC。
现在的问题是:程序编译以后通过JTAG烧录到单片机中可以征程枚举,但是只要一断点或者按44b0上的reset键,pc就不能识别该usb设备,枚举也不成功。给我感觉是好像读中断寄存器的值始终是乱七八糟的,实在不知道怎么回事,这个问题都困惑了我两个星期了,实在没有头绪,哪位高手有没有类似经历或者给点提示,谢谢啦!!!
附:管脚连接:
ISP1161A1引脚 功能描述 S3C44B0X 引脚
D0~D15 16 位数据总线 D0~D15
A0~A1 ISP1161A1 只使用两个地址线 ADR1~ADR2
INT1 HC 中断 EXINT1(33PIN)
INT2 DC 中断 EXINT2(36PIN)
/CS ISP1161A1 片选 nGCS2(19PIN)
/WR 写使能 nWE(16PIN)
/RD 读使能 nOE(15PIN)
/RESET 控制ISP1161A1 硬复位 GPC2(116PIN)
H_WAKEUP 控制ISP1161A1 HC 唤醒 不连接
H_SUSPEND 获取ISP1161A1 HC 挂起状态 不连接
D_WAKEUP 控制ISP1161A1 DC 唤醒 不连接
D_SUSPEND 获取ISP1161A1 DC 挂起状态 不连接

枚举程序是根据ZLG_USBD13软件包修改的!!
...全文
119 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuezi_duan 2008-06-25
  • 打赏
  • 举报
回复
TO shuiyan:
对的。jtag烧录完了以后程序会自动运行,但我也不太理解程序从哪里开始运行的,反正现象是烧录后pc能够正常枚举,而且只要不断电就可以随便热插拔都没有问题,只要一断电就不行。给我感觉就是读出的中断寄存器的值是乱七八糟,根本不是我想要的!感觉好像是跟我最后写入的数据有关,比如我在初始化时候先读芯片ID,则读中断寄存器就会返回芯片ID的值;假如我初始化后写一个AA37,则中断寄存器就会返回37,根本就是乱七八糟,真的很晕!!!
shuiyan 2008-06-25
  • 打赏
  • 举报
回复
你的问题是不是:只要断电再开机,或者reset重启,PC就不能识别,无法枚举?
只有通过JTAG烧录后的第一次能正常枚举,这次烧录完成是否会断电再开?还是reset(JTAG控制)?

开机无法识别,肯定是寄存器的配置以及状态机的问题。只是能识别一次,但是断电开机竟然也不行就比较少见了。
xuezi_duan 2008-06-25
  • 打赏
  • 举报
回复
刚才发贴不小心写了错别字,修改一下:
现在的问题是:程序编译以后通过JTAG烧录到单片机中可以正常枚举,但是只要一断电或者按44b0上的reset键,pc就不能识别该usb设备,枚举也不成功
xuezi_duan 2008-06-25
  • 打赏
  • 举报
回复
或者谁能帮我解释一下jtag烧录以后程序做什么事情?它是怎么驱动程序运行的?
xuezi_duan 2008-06-25
  • 打赏
  • 举报
回复
哪位大哥、大姐有什么提示?我已经焦头烂额了!

27,374

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧