244877|10

1170

帖子

0

TA的资源

至上芯片

楼主
 

JTAGICE mkII ISP下载开源计划 [复制链接]

处理器: ATMega128L 系统时钟: 外部16M晶体震荡器 通信终端: RS-232 <-----> USART0 溶丝描述: [EESAVE=0][CKOPT=0][BODLEVEL=1][BODEN=0][CKSEL=1111 SUT=10] 软件平台: ICCAVR 平台版本: V7.16A

ourdev_225635.rar

219.07 KB, 下载次数: 179

rar

此帖出自单片机论坛

最新回复

呵呵 从ouravr上弄过来的把,记得注明出处,负责小心阿莫告你呦;P  详情 回复 发表于 2008-3-7 09:50
点赞 关注
 

回复
举报

1170

帖子

0

TA的资源

至上芯片

沙发
 

回复: JTAGICE mkII ISP下载开源计划

>> 在5V的系统上兼容3.3V的小技巧 占位 ^_^ 有待加入文字说明 ^_^ # define CLR_JTAG_PIN(__PIN) DDRB |= BIT((__PIN));PORTB &= ~BIT((__PIN));NOP(); # define SET_JTAG_PIN(__PIN) DDRB |= BIT((__PIN));PORTB |= BIT((__PIN));NOP(); # define RLS_JTAG_PIN(__PIN) DDRB &= ~BIT((__PIN));PORTB &= ~BIT((__PIN));NOP(); # define PULL_UP_JTAG_PIN(__PIN) DDRB &= ~BIT((__PIN));PORTB |= BIT((__PIN));NOP(); # define READ_JTAG_PIN(__PIN) ((PINB & BIT((__PIN))) ? 1 : 0) /*---------------------------------------------------------* * JTAG引脚连接说明 * * -------------------------------------------------------- * * PB0 #SS - nsRST * * PB1 SCK - TCK * * PB2 MOSI - TDO * * PB3 MISO - TDI * * PB4 -- - TMS * *---------------------------------------------------------*/ # define nsRST PB0 # define TCK PB1 # define TDO PB3 # define TDI PB2 # define TMS PB4 //TCK # define CLR_TCK CLR_JTAG_PIN(TCK) # define RLS_TCK RLS_JTAG_PIN(TCK) //TDO # define CLR_TDO CLR_JTAG_PIN(TDO) # define RLS_TDO RLS_JTAG_PIN(TDO) # define PULL_UP_TDO PULL_UP_JTAG_PIN(TDO) # define READ_TDO READ_JTAG_PIN(TDO) //TDI # define CLR_TDI CLR_JTAG_PIN(TDI) # define RLS_TDI RLS_JTAG_PIN(TDI) //TMS # define CLR_TMS CLR_JTAG_PIN(TMS) # define RLS_TMS RLS_JTAG_PIN(TMS)
此帖出自单片机论坛
 
 

回复

1170

帖子

0

TA的资源

至上芯片

板凳
 

回复: JTAGICE mkII ISP下载开源计划

1、JTAG TAP 状态机 及其驱动函数 ^_^有待加入文字说明^_^ 1 typedef struct { unsigned :1; unsigned Manufacturer:11; unsigned PartNumber:16; unsigned Version:4; }JTAG_DEVICE_ID; /*********************************************************** * 函数说明:JTAG TAP 状态机控制函数 * * 输入: 控制序列,序列长度 * * 输出: 无 * * 调用函数:无 * * -------------------------------------------------------- * * 使用说明 * * 1、 TMS在TCK上升边沿输出状态控制量。 * * 2、 连续5个TCK周期在TMS上输出高电平将进入Test- * * Logic-Reset模式。 * * 3、 使用该函数时,请将状态机跳转以后TMS需要保 * * 持的电平也作为一个有效输入加入到序列的末尾 * * 但描述序列长度的数值不需要相应的增加。 * ***********************************************************/ void JTAG_TAP_Control(UINT8 chCTRStream,UINT8 chLength) { UINT8 n = 0; //状态机控制序列 for (n = 0;n < chLength;n++) { CLR_TCK if (chCTRStream & BIT(n)) { RLS_TMS } else { CLR_TMS } RLS_TCK } //保持电平 if (chCTRStream & BIT(chLength)) { RLS_TMS } else { CLR_TMS } }
此帖出自单片机论坛
 
 
 

回复

1170

帖子

0

TA的资源

至上芯片

4
 

回复: JTAGICE mkII ISP下载开源计划

2、Shift-DR 与 Shift-IR 寄存器的数据交换 ^_^有待加入文字说明^_^ /*********************************************************** * 函数说明:数据交换函数 * * 输入: 交换数据用的输入输出缓冲,发送的二进制位长度 * * 输出: 无 * * 调用函数:无 * ***********************************************************/ void JTAG_Shift_Data(BYTE *pchOutBuffer,BYTE *pchInBuffer,UINT16 wLength) { UINT8 n = 0; BYTE chSendData = 0; BYTE chReceiveData = 0; UINT16 wByteCount = (wLength & (BIT(3) - 1)) ? ((wLength >> 3) + 1) : (wLength >> 3); if ( (wLength == 0) || ((pchOutBuffer == NULL) && (pchInBuffer == NULL)) ) { //无效的输入 return ; } CLR_TMS while(wByteCount > 1) { wByteCount--; //发送一个字节 { if (pchOutBuffer != NULL) { chSendData = *pchOutBuffer++; } else { chSendData = 0; } chReceiveData = 0; RLS_TCK for (n = 0;n < 8;n++) { CLR_TCK //下降沿读取TDO数据 chReceiveData |= (READ_TDO << n); //设置TDI if (chSendData & BIT(0)) { RLS_TDI } else { CLR_TDI } chSendData >>= 1; //上升沿送出TDI数据 RLS_TCK } if (pchInBuffer != NULL) { *pchInBuffer++ = chReceiveData; //保存收到的数据 } } } //发送最后一个字节 wLength = (wLength & (BIT(3) - 1)) ? (wLength & (BIT(3) - 1)) : 8; //发送最后几个二进制位 RLS_TCK if (pchOutBuffer != NULL) { chSendData = *pchOutBuffer; } else { chSendData = 0; } chReceiveData = 0; n = 0; while(wLength--) { if (wLength == 0) { RLS_TMS } CLR_TCK //下降沿读取TDO数据 chReceiveData |= (READ_TDO << n); //设置TDI if (chSendData & BIT(0)) { RLS_TDI } else { CLR_TDI } chSendData >>= 1; //上升沿送出TDI数据 RLS_TCK n++; } if (pchInBuffer != NULL) { *pchInBuffer = chReceiveData; //保存收到的数据 } }
此帖出自单片机论坛
 
 
 

回复

1170

帖子

0

TA的资源

至上芯片

5
 

回复: JTAGICE mkII ISP下载开源计划

3、建立JTAG的工作环境——JTAG_AVR_RESET指令 ^_^有待加入文字说明^_^ /*********************************************************** * 函数说明:AVR复位函数 * * 输入: 无 * * 输出: 无 * * 调用函数:无 * ***********************************************************/ void JTAG_AVR_Reset(void) { JTAG_TAP_TEST_LOGIC_RESET JTAG_TAP_SHIFT_IR { BYTE chTempData = OPCODE_AVR_RESET; JTAG_Shift_Data(&chTempData,NULL,4); } JTAG_TAP_RETURN_RUN_TEST_IDEL JTAG_TAP_SHIFT_DR { BYTE chTempData = 0x01; JTAG_Shift_Data(&chTempData,NULL,1); } JTAG_TAP_RETURN_RUN_TEST_IDEL } /*********************************************************** * 函数说明:AVR离开JTAG模式函数 * * 输入: 无 * * 输出: 无 * * 调用函数:无 * ***********************************************************/ void JTAG_AVR_Return(void) { JTAG_TAP_TEST_LOGIC_RESET JTAG_TAP_SHIFT_IR { BYTE chTempData = OPCODE_AVR_RESET; JTAG_Shift_Data(&chTempData,NULL,4); } JTAG_TAP_ENTER_SHIFT_DR_FROM_SHIFT_IR { BYTE chTempData = 0x00; JTAG_Shift_Data(&chTempData,NULL,1); } JTAG_TAP_RETURN_RUN_TEST_IDEL }
此帖出自单片机论坛
 
 
 

回复

1170

帖子

0

TA的资源

至上芯片

6
 

回复: JTAGICE mkII ISP下载开源计划

4、牛刀小试,读取设备ID看看(Read Device Identification) ^_^ 有待添加文字说明 ^_^ 1 /*********************************************************** * 函数说明:设备ID信息读取函数 * * 输入: 无 * * 输出: 读取到的ID * * 调用函数:无 * ***********************************************************/ UINT32 JTAG_Read_Device_Identification(void) { UINT32 dwTempData = 0; JTAG_AVR_Reset(); JTAG_TAP_SHIFT_IR { BYTE chTempData = OPCODE_IDCODE; JTAG_Shift_Data(&chTempData,NULL,4); } JTAG_TAP_RETURN_RUN_TEST_IDEL JTAG_TAP_SHIFT_DR { JTAG_Shift_Data((BYTE *)&dwTempData,(BYTE *)&dwTempData,32); } JTAG_TAP_RETURN_RUN_TEST_IDEL return dwTempData; } 1
此帖出自单片机论坛
 
 
 

回复

316

帖子

0

TA的资源

裸片初长成(中级)

7
 

回复:JTAGICE mkII ISP下载开源计划

什么东西啊?干什么用的啊?
此帖出自单片机论坛
 
个人签名致力于数字信号处理技术在中国的推广--模拟滤波器、数字信号处理算法、DSP、信号处理系统设计
 
 

回复

44

帖子

0

TA的资源

一粒金砂(初级)

8
 

回复:JTAGICE mkII ISP下载开源计划

很不错,最近要学AVR了。。。。
此帖出自单片机论坛
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

9
 

回复:JTAGICE mkII ISP下载开源计划

这个东西很强哦。。。偶这里有原装MKII,不知道能帮上什么忙呢?
此帖出自单片机论坛
 
 
 

回复

21

帖子

0

TA的资源

一粒金砂(中级)

10
 

回复:JTAGICE mkII ISP下载开源计划

很好很强大
此帖出自单片机论坛
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

11
 

回复:JTAGICE mkII ISP下载开源计划

呵呵 从ouravr上弄过来的把,记得注明出处,负责小心阿莫告你呦;P
此帖出自单片机论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表