New version released ! V2.45 (Check version list for details)

This construction is based on HappyJTAG Idea, to implement JTAG interface into target avr system and debug it remotly via USB, without specific JTAGICE hardware. All job is done by PC softraware. HappyJTAG version is easy , but not powerfull enough.There is barriere with performance, if you are manipulating with bits via USB interface. USB trafic is to huge to be effective.
This is why I have realized more poverfull version HappyJTAG2.This version uses specialized FT2232 ( or FT2232H ) chip, which has integrated JTAG interface on chip. It radically reduces USB interface communication and speed up overall process. There are two channels in FT2232, Channel A is used for JTAG and channel B is still free for standart serial communication between target and host PC.
Unfortunatly, the FT2232 chip requires more external components than FT232 chip. For example, external crystal oscillator, few more resistors and so on. But the result is balanced, because of overall performance is 100 times better if you compere with original HappyJTAG version.
HappyJTAG2 hardvare is standart published in datasheets, as you can see from schematic file. The main idea is to integrate FT2232 in target board and to use USB interface as standart target board interface for all communication, serial as well as JTAG or SPI. But there is also possible to replace target AVR8 with JTAG or SPI connector and to operate this interface as standart AVR JTAG or SPI interface ( remember, there is not in/out signals level convertors and so on, you have to add them to interface in this case )
All logic is covered by PC application. This application has two connection One is via USB to target and second is via TCP to AVRStudio. All commands are interpreted to FT2232 commands and sended to target FT2232 chip to process JTAG and SPI data integrchange. This PC software works in two modes:

The first mode alows run as independent software. There is support for connecting target via JTAG or SPI, read signature, reset target, download software (*.hex) into tagrget and to manage target fuses (read, write).
The second mode is AVRstudio mode. In this mode PC software interprets AVRStudio requests and communicate with target via JTAG or SPI. For AVRStudio it works as JTAGICEMK2 emulation.

Since version 2.31, there is no need for external Virtual Serial Port emulator. The HappyJTAG2 emulates one of serial port COM1-COM4 byself. You just have to start HappyJTAG2, select "ComX port emulation" radiobutton and open AVRStudio. In AVR Studio choose COMx ( pre-set in menu ) port for JTAGICEMKII device. Its all !
Since 2.33 version, HappyJTAG2 supports also GDB debugger. The interface is TCPIP, port 2232.
HappyJTAG2 PC software was developed for ATMega32 target, however , current version supports more AVR8 modifications. My future plan is to enhance this software for the others AVR devices. There is also Boundary scan, so you can see physical pin states in graphical presentatoion, which is equal to ATMega32 DIP40 target.
Here is list of currently supported AVR8 models : 
JTAG 
- ATmega16 
- ATmega32 
-ATMega128 
-ATMega640 (Not tested yet) 
-ATMega644 (Not tested yet) 
-ATMega644P 
-ATMega1280 (Not tested yet) 
-ATMega2560 (Not tested yet) 
-ATMega1281 (Not tested yet) 
-ATMega2561 
-AT90CAN128 
-AT90USB128 (Not tested yet) 
-ATXMEGA128A1 
SPI 
- ATtiny13 
- ATmega48 (Not tested yet) 
- ATmega88 
- ATmega168 
- ATmega16 
- ATmega32 
- ATmega640 (Not tested yet) 
- ATmega644 (Not tested yet) 
- ATmega644P 
- ATmega128 
- ATmega1280 (Not tested yet) 
- ATmega1281 (Not tested yet) 
-ATMega2560 
-ATMega2561 
-AT90CAN128 
-AT90USB128 (Not tested yet) 
As one of the benefits of this solution (FT2232) is, that this software can operate with third party hardware as well as with this embedded chip. As good example is Amontec JTAGkeyhardware. You can use JTAGkey also for AVR8 chips in this case ! Its tested and it runs !
The first prototype :
 
 

HappyJTAG2 - JTAG AND SPI AVR8 interface EMBEDDED JTAG ! EMBEDDED SPI !的更多相关文章

  1. SPI的学习和ESP8266的SPI通讯测试

    SPI简介: SPI是串行外设接口(Serial Peripheral Interface)的缩写.SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时 ...

  2. Dubbo SPI机制之一JDK中的SPI

    首先简单阐述下什么是SPI:SPI 全称为 (Service Provider Interface) ,是JDK内置的一种服务提供发现机制.目前有不少框架用它来做服务的扩展发现,简单来说,就是一种动态 ...

  3. linux SPI驱动——简单的gpio模拟SPI驱动测试 (二)

    1: /* 2: * Add by xuyonghong for duotin car radio fm 3: * Copyright (C) 2016-5-24 xuyonghong@duotin. ...

  4. linux spi驱动开发学习-----spidev.c和spi test app

    一.spidev.c文件 看一个设备驱动的方法: module_init标识的入口初始化函数spidev_init,(module_exit标识的出口函数) 设备与设备驱动匹配时候调用的probe方法 ...

  5. JTAG 引脚自动识别 JTAG Finder, JTAG Pinout Tool, JTAG Pin Finder, JTAG pinout detector, JTAGULATOR, Easy-JTAG, JTAG Enumeration

    JTAG Finder Figuring out the JTAG Pinouts on a Device is usually the most time-consuming and frustra ...

  6. JTAG – A technical overview and Timing

    This document provides you with interesting background information about the technology that underpi ...

  7. FT232H USB转串口,I2C,JTAG高速芯片

    随着FT232H USB2.0高速芯片的发布,英商飞特蒂亚公司(FTDI)进一步巩固了其在USB接口集成电路产品的地位.此款多功能的单通道USB转UART/FIFO接口设备可通过EEPROM配置为各种 ...

  8. Turtelizer 2 provide JTAG Flash programming and debugging of ARM based boards via USB

    http://www.ethernut.de/en/hardware/turtelizer/ Introducing Turtelizer 2 Overview Turtelizer 2 had be ...

  9. Debugging JTAG Connectivity Problems

    2013-12-04 22:34:26 转自:http://processors.wiki.ti.com/index.php/Debugging_JTAG_Connectivity_Problems ...

随机推荐

  1. MySQL索引背后的数据结构及算法原理 (转)

    摘要 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题.特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BT ...

  2. Chrome插件笔记之content_scripts

    一.概论 说这个之前先看一个段子,讲的是甲方有一奇葩客户,这客户看一网站某些样式很别扭不得劲,非要让乙方修改,乍一听没毛病,但关键是这网站不是乙方家的,根本没有修改权限,怎么办,客户就是上帝,上帝的要 ...

  3. xtrabackup 恢复单个表【转】

    一.安装与备份 1. 下载安装XtraBackup$wget http://www.percona.com/redir/downloads/XtraBackup/LATEST/binary/tarba ...

  4. 为什么要使用断路器Hystrix?

    为什么需要 Hystrix? 在微服务架构中,我们将业务拆分成一个个的服务,服务与服务之间可以相互调用(RPC).为了保证其高可用,单个服务又必须集群部署.由于网络原因或者自身的原因,服务并不能保证服 ...

  5. php的递归函数示例

    递归函数太难理解了,写了一个示例放在这里方便没事的时候看一下. <?php /** *php递归函数示例 *(从1到100的累加和计算) * */ function summation($num ...

  6. %08lx

    u-boot中代码如下: debug ("Now running in RAM - U-Boot at: %08lx\n", dest_addr); 对应设备上的打印消息如下: N ...

  7. 如何在Axure中使用FontAwesome字体图标

    Font Awesome为您提供可缩放的矢量图标,您可以使用CSS所提供的所有特性对它们进行更改,包括:大小.颜色.阴影或者其它任何支持的效果. FontAwesome应用在web网页开发中非常方便, ...

  8. tenaorflow函数(1)

    TensorFlow 将图形定义转换成分布式执行的操作, 以充分利用可用的计算资源(如 CPU 或 GPU.一般你不需要显式指定使用 CPU 还是 GPU, TensorFlow 能自动检测.如果检测 ...

  9. KDevelop调试NS2

    1.将NS2项目导入到KDevelop 具体操作步骤:打开Kdevelop,首先,选择"Project"->"Open/Import Project".然 ...

  10. SpringMVC介绍及参数绑定

    本节内容: SpringMVC介绍 入门程序 SpringMVC架构 SpringMVC整合MyBatis 参数绑定 SpringMVC和Struts2的区别 一.SpringMVC介绍 1. 什么是 ...