2010年9月1日 星期三

Build your own AVR JTAG ICE clone (自製 AVR JTAG ICE debugger)

Build your own AVR JTAG ICE clone

After unsuccessful attempts to run few programs who drive peripherals like USART and Timers on Atmega128 I decided to make JTAG debugger. I hope it will allow me to see what is really happening – is may atmega128 corrupted or something is really wrong with software or with hardware

avrjtag.png


The most widely used AVR JTAGICE clone is AVR miniICE which is compatible with original AVR JTAGICE. AVR JTAG mainly is used for target board debugging in real world. And of course you also can program your AVR’s with it.
To build this board is very ease as its schematic is simple: AVR_JtagICE Schematic
List of materials you will need:
Amount-Type-Title
2-470R-R1, R2
1-10K-R3
2-22p-C7, C8
6-100n-C1,C2,C3,C4,C5,C6
1-LED-G-D1
1-LED-R-D2
1-ATmega16L-DD1
1-MAX3232-DD2
1-7.3728 MHz-Q1

All secret in its firmware, but don’t worry – it is ready to go.
AVR MiniICE has following properties:
  • Is compatible with AVR JTAG ICE;
  • It is capable to debug and program Atmega microcontrollers with JTAG interface;
  • Real time debugging support;
  • Regular updates of firmware to support new types of AVR;
  • Updates can be done directly from AVR Studio;
  • Power supply from 2.6 to 6V;
  • Connects to AVR Studio through COM port;
  • Two LED indicators (“Power†and “Connectâ€).
Now AVR studio 4 supports following AVR MCU’s (may be already new ones included):
  • ATmega128, ATmega128L, AT90CAN128
  • ATmega16, ATmega16L
  • ATmega162, ATmega162L, ATmega162V
  • ATmega165, ATmega165V
  • ATmega169, ATmega169L, ATmega169V
  • ATmega32, ATmega32L
  • ATmega323, ATmega323L
  • ATmega64, ATmega64L
How to set up this adapter to be ready. Main thin is that you have to upload the firmware to it. For this you will need ISP programmer. First of all you will need to upload a Bootloader (or Alternative bootloader )to Atmega16 to be able to update firmware to newest one located in AVR Studio directory.
When bootloader is programmed program fuses like this (Using PonyProg):
Bootloader_fuses.JPG
Then connect AVR miniIce cable to PC COM port and start AVR Studio. In AVR Studio Tools menu locate AVR Prog. And browse for file upgrade.ebn in AVR Studio directory (by default in “C:\Program Files\Atmel\AVR Tools\JTAGICE\Upgrade.ebn â€):

avrjtag_avrstudio1.png
After AVR is programmed (usually you will get som error message – don’t care about it), you can program AVR fuses to its previous state – in order to disable bootloading:
JtagICE_fuses.jpg
This is it. You have done. If you did it correctly it should work. Here is my prototyping view:
AVR_JTAGICE_prototype.JPG
As I mentioned, AVR MiniICE can be used as AVR programmer as well. Goto Tools->Program AVR. Then select AVR programmer JTAG ICE and desired COM port. After this you will be directed to JTAG ICE dialog window where you can program you target AVR:
How to start debugging will be in following articles.
Download Another AVRICE project with SCH and PCB files as images.

沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。