免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1210 | 回复: 0
打印 上一主题 下一主题

6410 调试系列1 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-05-08 16:27 |只看该作者 |倒序浏览
   最近换行转向做终端类型的产品,我之前没有这方面的经验啊。前些时候,买了一块S3C6410开发板,只可惜到手后发现只有WINCE的,没有linux, 所以我决定用JTAG 烧写一个试试。 首先wiggler并口JTAG连上开发板,这种ICE价格很低,到处有的买。然后安装一个并口的IO驱动,叫giveio.sys. 安装的方法,首先将GIVEIO目录下的GIVEIO.SYS文件复制到C:\WINDOWS\system32\drivers目录下面,然后打开控制面板里的添加硬件,选择“是,我已经连接了此硬件”,下一步,选择添加新的硬件设备,下一步,选择“安装我手动从列表选择的硬件”,下一步,选择“端口(COM和LPT)”,下一步,选择从磁盘安装,在路径中选择 GIVEIO目录下的giveio.inf文件,然后一直下去就OK了。在设备管理器的端口里能看到GIVEIO端口,就表示安装正常了。 接着是烧写程序,我从网上下载了一个SJF6410代码,只可惜不能用。不能测试到我的CPU。我下载网上有名的H-JTAG 程序试了一下,能测到这个CPU的ID,由于H—JTAG还不支持6410,所以不能烧写。这样证明硬件和IO驱动都好的,下载的JSF6410有问题,我开始从代码上找问题。 简单的说说JTAG,JTAG 有20个PINS,主要的用到的也就TMS,TCK,TDI, TDO  这几个。 所以应该在这几个PIN的定义上有问题,所在也不看其它的代码,找到JTAG。H 这个文件, 因为Wiggler ICE的定义如下:
// Pin Connections    (PIN)//   TCK   :DATA[1]   (3) 
//   TDI   :DATA[2]   (4) //   TMS   :DATA[3]   (5) //   TDO   :STATUS[7] (11)
所以,在JTAG。H改下面这样:
#define TDI_H                0x08 #define TCK_H                0x04                    #define TMS_H                0x02
#define TCK_L                0x00#define TDI_L                0x00              #define TMS_L                0x00
#define JTAG_SET(value)        OutputPpt(value)#define JTAG_GET_TDO()        ( (InputPpt()&(1       
编译后,能成功的测到 CPUID : 0x00eb509d.
中间有个小插曲: 因为网上下载的代码是VC6.0的,我的IDE是VS2005,会出现兼容问题。Linker时,会不找不到LIBCD。LIB。   只要这样,在properties -->Linker-->command line : 加入  /nodefaultlib:LIBCD.lib  这样就可以了。 


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/94443/showart_1922375.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP