Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

How to program Atmel SAM-ARM microcontrollers through JTAG ?

Status
Not open for further replies.

kekon

Full Member level 3
Joined
Sep 19, 2002
Messages
156
Helped
5
Reputation
10
Reaction score
3
Trophy points
1,298
Location
Poland, Białystok
Activity points
1,493
I'd like to make my own Atmel SAM ARM programmer using JTAG interface. I have documentation concerning JTAG standard, AT91SAMXXX pdf etc. In the chapter "Serial Fast FLASH Programming" i found some information about how to program flash via JTAG but the information seems to be incomplete. There are, however, some descriptions what commands should be written to the device to "Debug Comm Registers" but there isnt'a any timing chart given. Do you have any complete info about how to program flash through JTAG ?
 

kekon

Full Member level 3
Joined
Sep 19, 2002
Messages
156
Helped
5
Reputation
10
Reaction score
3
Trophy points
1,298
Location
Poland, Białystok
Activity points
1,493
Re: How to program Atmel SAM-ARM microcontrollers through JT

Thanks for info but.. all that information in the links is so complicated and large that i can't understand it. I still can't find there how to program flash memory.
In the data sheet i found the following:

20.3.2 Entering Serial Programming Mode

The following algorithm puts the device in Serial Programming Mode:
• Apply GND, VDDIO, VDDCORE, VDDFLASH and VDDPLL.
• Apply XIN clock within TPOR_RESET + 32(TSCLK) if an external clock is available.
• Wait for TPOR_RESET.
• Reset the TAP controller clocking 5 TCK pulses with TMS set.
• Shift 0x2 into the IR register (IR is 4 bits long, LSB first) without going through the Run-Test-
Idle state.
• Shift 0x2 into the DR register (DR is 4 bits long, LSB first) without going through the Run-
Test-Idle state.
• Shift 0xC into the IR register (IR is 4 bits long, LSB first) without going through the Run-Test-
Idle state.
Note: After reset, the device is clocked by the internal RC oscillator. Before clearing RDY signal, if an
external clock ( > 32 kHz) is connected to XIN, then the device will switch on the external clock.
Else, XIN input is not considered. An higher frequency on XIN speeds up the programmer
handshake.

This is the only useful info i found. I can't find what commands one must send through JTAG to program flash.
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top