HappyJTAG2 - JTAG AND SPI AVR8 interface EMBEDDED JTAG ! EMBEDDED SPI !
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 !
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)
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 :


【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
2014-08-27 信号量的分类
2013-08-27 Simple Addition Permits Voltage Control Of DC-DC Converter's Output
2013-08-27 Fixed DC-DC Regulator Output Uses A Digitally Controlled Potentiometer