Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Message

RE: [lpc2000] Flash Copy

2006-03-22 by Andrew Berney

I've not tried this on an LPC2000 micro however I have done exactly this on
a Netsilicon ARM7TDMI-S based micro in order to test the Flash on prototype
boards, so yes it's possible - it's just rather long winded.

Andy

-----Original Message-----
From: lpc2000@yahoogroups.com [mailto:lpc2000@yahoogroups.com]On Behalf
Of Tom Walsh
Sent: 22 March 2006 13:48
To: lpc2000@yahoogroups.com
Subject: Re: [lpc2000] Flash Copy


majid_mokhtari wrote:

>I want to know how it's possible to clone an unprotected flash with
>JTAG when the firmware is  not available .  I am using Ulink and Keil IDE.
>
>and basically is it possible to do this job even in other micro's ?
>
>
>
Essentially, yes, depends how knowledgable *YOU* are.  JTAG, in general,
can be used without any firmware present to program / read Flash
memory.  Take a look at the jtagtools project on sourceforge:
http://sourceforge.net/projects/jtagtools

As an example, I have used that project to program Flash of boards
having no firmware.  Basically, all you are doing with JTAG is walking
the CPU through wiggling the external signals (Address, Data, Control,
...) needed to access the hardware of the board.  This is known as a
Boundry Scan Chain.

I believe that it was said that the ARM7TDMI-S does not have the Boundry
Scan chain.  However, it is still very possible to manipulate the
hardware via JTAG by "wiggling" the Data into SRAM and then also a small
executable program.  You can set a breakpoint at the final opcode of
your sequence to see when it completes its' execution.



TomW



--
Tom Walsh - WN3L - Embedded Systems Consultant
http://openhardware.net, http://cyberiansoftware.com
"Windows? No thanks, I have work to do..."
----------------------------------------------------





Yahoo! Groups Links

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.