PCI转并口SJF配置全过程

1114阅读 0评论2009-07-11 enjoying-spring
分类:嵌入式

摘要:比较详细的介绍了SJF软件在PCI转并口卡上的应用。(转帖整理)

PCI转并口SJF 配置全过程

前几天高高兴兴地从电子城买了友善之臂的QQ2440 ARM开发板,急急忙忙冲回寝室对此板进行功能测试。在往PC机连JTAG并口线的时候我彻底傻了眼!!!PC机上没有并口,甚至连一个串口都没有!!!于是赶紧上百度找谷歌,令我失望的是几乎没找的一个完整的解决方案。即使有也大多是代价过于昂贵的办法,相信没有并口的朋友也是很郁闷,为什么配电脑的时候…………

在此参考了一些网络资料整理出了这篇文章,希望对你有所帮助。我用的是PCI转并口卡,其中还附带两个串口——正合我意。不过我买的卡是被黑了,没办法这边卖这种卡的太少了(带并口+串口的),在淘宝几十块钱能搞定。

 好了,现在切入正题。完整步骤如下。

1 安装GiveIo驱动

(如果此驱动已安装可跳至下一步,PCI转并口的驱动安装看安装说明,在此略过)

²  下载GiveIo驱动程序

²  GIVEIO.SYS拷贝到C:\WINDOWS\system32\drivers目录下。

²  依次点击 控制面板->添加硬件->下一步->……->下一步->添加新的硬件设备->安装我手动从…->端口(COM/LPT->从磁盘安装->浏览->保存有文件giveio.inf的目录->完成。安装成功后可以在设备管理器->端口中看到一个名为giveio端口。

 2 H-Jtag端口设置

(如果已经按开发板用户手册配置好的可以跳至下一步)

A.        jtag settings

根据jtag的调试板的原理图对H-Jtag进行设置:

我的jtag原理图见附件,从图中可以看到以下信号的连接情况:

TMS->Y6->A6->4

TCK->Y8->A8->2

TDI->Y7->A7->3

TD0->A5-Y5->11

 根据以上的连接情况就可以对H-Jtag进行设置了。点击H-Jtag菜单栏上的settings->jtag settings->选择User define,进行如下设置:

TMS->Pin4 D2

TCK->Pin2 D0

TDI->Pin3 D1

TD0->Pin11 Busy

 

注意:

TMS->D2

TCK->D0

TDI->D1

后面修改SJF源码将会用到

 

B.        Port settings

点击H-Jtag菜单上的settings->port settings 选择LPx。在LPx右边框填入0xCD00,对H-Jtag的设置完毕。

 0xCD00的来历:CD00这个值在后面修改SJF2440(如果你是2410的板子那么就是SJF2410了)的源代码也将用到。安装完PCI转并口卡的驱动后 右击我的电脑->属性->硬件->设备管理器->端口(COMLPT->双击PCI ECP Parallel PortLPT1->资源。这样就可看到输入/输出范围CD00-CD07”输入/输出范围CC00-CC07”CD00就是从这读出来的。

 3 修改SJF2440的源代码

(如果你用了PCI转并口并且H-Jtag相应的端口都配好后发现不能使用SJF2440SJF2410那么极有可能需要修改源代码)

SJF2440SJF2410源代码见附件。下载完源代码后从VC++中打开.dsp工程文件。

   

A.       修改源代码中的ppt.h头文

#define LPT1 0x378 

#define LPT2 0x278 

#define LPT3 0x3bc 

将这三行改为

#define LPT1 0xcd00

#define LPT2 0xcd00

#define LPT3 0xcd00

其实对于我的PC机来说修改LPT1就够了。具体看各位装完PCI驱动后用了哪个LPT了。

 

B.        修改源代码中的jtag.h头文件

#define TCK_H   0x01

#define TDI_H   0x40            

#define TMS_H   0x02

将这三行修改为

#define TCK_H   0x01

#define TDI_H   0x02           

#define TMS_H   0x04

  为什么这么修改详见附件中的《Jflash-s3c2410linux版本)原理分析》

  在此我仅做下简要说明:

在第2步是我有如下提示:

注意:

TMS->D2

TCK->D0

TDI->D1

在此处就要派上用场了

 

TMS TDI TCK

D7

D6

D5

D4

D3

D2

D1

D0

 

0

0

0

0

0

1

0

0

TMS_H

0

0

0

0

0

0

0

1

TCK_H

0

0

0

0

0

0

1

0

TDI_H

 

所以有

#define TCK_H   0x01 TCK_H=01H=0000 0001B

#define TDI_H   0x02 TDI_H=02H=0000 0010B

#define TMS_H   0x04 TDI_H=04H=0000 0100B

 至此所有配置过程结束。此时点击VC++的“!”就可以在工程文件所在目录的Debug子目录内产生SJF2440.exe了。

 结束语:此文中难免有些疏漏,如有错误的地方还请大家指出来。希望此文能消除你PC机没并口问题的所有烦恼。

下面是我重新编译的SJF2410.EXE可以手动设置输入并口地址。

 

注:可以通过留言我编译专门适应你的并口卡的文件。^-^

 

文件: sjf2410.exe.rar
大小: 37KB
下载: 下载

上一篇:ADS1.2 Scatter-Loading文件分析
下一篇:MMU简介[转帖]