|
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, withoutspecific JTAGICE hardware. All job is done by PC softraware. HappyJTAG version is easy , but not powerfull enough.There is barriere withperformance, 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 !
However, external serial port emulator its still supported. You can use third party freeware software and utility, for exaple HW group´s "Virtual Serial Port" . You can download this emulator from : HW Virtual serial port
This port is bridge between COM port oriented serial commmunication of AVRStudio and TCP oriented communication of HappyJTAG2 PC software.This is why you have to set up VirtualSerialPort into mode, where it redirects communication from COM port to TCP. You have to enterIP address 127.0.0.1 and port 2232 into Virtual serial port and let it run before you setup AVR studio to work with JTAGICEMK2 hardware and run HappyJTAG2pc software. You have to connect HappyJTAG2 PC software with VirtualSerialPort by pressing ""Connect to AVRStudio" button.Dont forget to set baud rate as high as possible (115000) in AVRStudio dialog box, because it is limitation factor for overall performance.
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 JTAGkey hardware. You can use JTAGkey also for AVR8 chips in this case ! Its tested and it runs !
The first prototype :
And finaly :
HappyJTAG2 (Click at picture to see it in full resolution):
Schematic (Click at picture to see it in full resolution) :
PC HappyJTAG2 program file:
HappyJTAG2_V2_45.zip
(2.34 MB, 下载次数: 7)
Short range ToDo:
- next AVR familly members implementation
Future plans :
Because of missing detail description of AVR OCD debug implementation, there is still list of unrealized functions and space for improvement debug to full level as we are used to for specialized JTAG ICE hardware solutions. (If you have some information about details of OCD DEBUG MODE, DEBUG REGISTERS, SEQUENCES and so on... please let me know and contribute to this project ! )
- Enhance BREAK support
Simillar situation is with HappyJTAG2/AVRStudio interconnection. It emulates serial port currently. But I would like replace it with USB port emulation. So if you know about free virtual USB port solution for Delphi, please let me know....
At the end:
Here published version is freeware, with some limitations and all features, which freeware usually has. There is no waranty and so on....But on the other hand, you can use this utility free for all your projects.This freeware version has limitations (Check version list for details).
- LOCKFuses - you cannot change LOCK FUSES
- There is integrated prohibition for Fuse JTAGEN and SPI (depends on interface, you are using), you cannot clear this fuse, so you cannot STOP/DISABLE JTAG (or SPI if you are using SPI interface) interface with this freeware
If this is important solution for you, you can ask for full wersion, without limitations , by e-mail.
|
|