* Programming Flash
@ 2000-09-12 20:04 Kirk Haderlie
0 siblings, 0 replies; 6+ messages in thread
From: Kirk Haderlie @ 2000-09-12 20:04 UTC (permalink / raw)
To: 'linuxppc-embedded@lists.linuxppc.org'
We have a FADS 823 board and a MPC823 custom board on the way. The question
is: Using the Macrgraigor flash programmer can we program blank flash, or
does some sort of boot strap need to be run in order to configure the on
board memory to use the flash programmer? How do you program in production
with soldered down flash? I realize this is a general embedded question.
Kirk Haderlie
kirk@vividimage.com
Vivid Image Engineering
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Programming Flash
[not found] <319E391E2049D311843500609457383D07FD09@exchange.vividimage .com>
@ 2000-09-12 21:56 ` Jerry Van Baren
0 siblings, 0 replies; 6+ messages in thread
From: Jerry Van Baren @ 2000-09-12 21:56 UTC (permalink / raw)
To: linuxppc-embedded
Are you using the Wiggler or Raven?
You should check with MaCraigor. Last I checked (about 6 months ago?),
Craig said he was working on a flash programming utility for the
Wiggler. That would be the cheapest way to go for bootstrapping.
If you are loading any significant amount of code, it is fastest to
load a simple minded bootstrap program in flash: the simple minded
bootstrap program then loads the real program via a serial port or
ethernet. This is much faster than bit-banging a PC parallel port
(assuming a bit-banging PC parallel port: the faster non-bit-banged
parallel port JTAG debuggers (Raven) and the ethernet connected JTAG
adapters are pretty fast).
If you cannot get direct flash programming support from your JTAG
debugger supplier, the JTAG definition of the I/O circle on the 823 is
provided by Mot
(http://www.mot.com/SPS/ADC/pps/download/823e/21-ieee.pdf). Using
this, you can set each I/O pin on the 823 to be an input or an output
and set the outputs high or low. You can write your own parallel port
JTAG bit-banger (plans are available on the net) or use Macraigor's I/O
library. The PC program would control the 823 I/O pins (address lines,
data lines, chip select(s), write line) and program the flash
indirectly via a PC->JTAG->823->flash. This is dead slow: you have to
shift in {address, data, chip select, write inactive}, then shift it
all in again with write active, then shift it all in with write
inactive again (theoretically the three steps can be combined into two)
with roughly 400 bits in each shift set.
Note that direct support from Macraigor will be faster than the hand
job outlined above: he has knowledge of the COP (BDM) hardware debugger
mechanism (which requires a nondisclosure with Mot) which will be able
to do write operations with a lot fewer than 1200 clocks.
gvb
At 01:04 PM 9/12/00 -0700, Kirk Haderlie wrote:
>We have a FADS 823 board and a MPC823 custom board on the way. The
>question
>is: Using the Macrgraigor flash programmer can we program blank flash, or
>does some sort of boot strap need to be run in order to configure the on
>board memory to use the flash programmer? How do you program in
>production
>with soldered down flash? I realize this is a general embedded question.
>
>Kirk Haderlie
>kirk@vividimage.com
>Vivid Image Engineering
>
>
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Programming Flash
@ 2000-09-13 11:50 jonb
0 siblings, 0 replies; 6+ messages in thread
From: jonb @ 2000-09-13 11:50 UTC (permalink / raw)
To: Kirk Haderlie; +Cc: 'linuxppc-embedded@lists.linuxppc.org'
Hi
We use the Macraigor flash programmer to program flash on boards with
soldered down flash,
in our production process. There does not need to be any boot strap code
programmed by
some other means on the board.
The way it works (I am guessing here), is that the Macraigor flash
programmer loads a program
into the dual ported ram of the MPC823 and starts it. This program then
gets the data to be
written from the flash programmer and writes it to the flash chip. This is
how I think it works.
Feel free to correct me if I am wrong :-).
Regards,
Jon Benediktsson
Marel hf.
Reykjavik, Iceland.
Kirk Haderlie
<khaderlie@vividimage.com> To: "'linuxppc-embedded@lists.linuxppc.org'"
<linuxppc-embedded@lists.linuxppc.org>
cc:
Sent by: Subject: Programming Flash
owner-linuxppc-embedded@lists.li
nuxppc.org
12/09/2000 20:04
We have a FADS 823 board and a MPC823 custom board on the way. The
question
is: Using the Macrgraigor flash programmer can we program blank flash, or
does some sort of boot strap need to be run in order to configure the on
board memory to use the flash programmer? How do you program in production
with soldered down flash? I realize this is a general embedded question.
Kirk Haderlie
kirk@vividimage.com
Vivid Image Engineering
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 6+ messages in thread
* RE: Programming Flash
@ 2000-09-13 13:35 Banks, Kelly
2000-09-14 7:44 ` Frank Przybylski
0 siblings, 1 reply; 6+ messages in thread
From: Banks, Kelly @ 2000-09-13 13:35 UTC (permalink / raw)
To: 'Kirk Haderlie',
'linuxppc-embedded@lists.linuxppc.org'
There isn't necessarily ANY onboard code required to program FLASH, other
than the BDM/JTAG drivers onchip directly from Motorola.
The basics of FLASH programming consists of writing command words into
command addresses and then writing the data into the desired address
(re:AMD's Am29DL16xC pub#21553 Rev. C 08/23/99)... I don't see why one
couldn't use MaCraigor's scripting language within the BDM Commander to
carry out the entire operation THROUGH the BDM/JTAG keeping all the logic
over on the host with no bootstrap code & no secondary ports required (Of
Course, the specifics of your FLASH device may vary).
Kelly
-----Original Message-----
From: Kirk Haderlie [mailto:khaderlie@vividimage.com]
Sent: Tuesday, September 12, 2000 4:05 PM
To: 'linuxppc-embedded@lists.linuxppc.org'
Subject: Programming Flash
We have a FADS 823 board and a MPC823 custom board on the way. The question
is: Using the Macrgraigor flash programmer can we program blank flash, or
does some sort of boot strap need to be run in order to configure the on
board memory to use the flash programmer? How do you program in production
with soldered down flash? I realize this is a general embedded question.
Kirk Haderlie
kirk@vividimage.com
Vivid Image Engineering
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Programming Flash
2000-09-13 13:35 Programming Flash Banks, Kelly
@ 2000-09-14 7:44 ` Frank Przybylski
2000-09-14 14:58 ` Larry Battraw
0 siblings, 1 reply; 6+ messages in thread
From: Frank Przybylski @ 2000-09-14 7:44 UTC (permalink / raw)
To: linuxppc-embedded
Hi,
"Banks, Kelly" wrote:
>
> There isn't necessarily ANY onboard code required to program FLASH, other
> than the BDM/JTAG drivers onchip directly from Motorola.
>
> The basics of FLASH programming consists of writing command words into
> command addresses and then writing the data into the desired address
> (re:AMD's Am29DL16xC pub#21553 Rev. C 08/23/99)... I don't see why one
> couldn't use MaCraigor's scripting language within the BDM Commander to
> carry out the entire operation THROUGH the BDM/JTAG keeping all the logic
> over on the host with no bootstrap code & no secondary ports required (Of
> Course, the specifics of your FLASH device may vary).
>
> Kelly
It's indeed possible to program FLASH without any code onboard, just with script
commands. I first used this way to program FLASH (AM29LV160DB) with the MPCBDM
via gdb script. I don't know how the Macraigor communicates while accessing
memory, but I guess this will be real slow. Because you have to access each word
of memory more than once, just for the programming, not included the
communication. So I tried a middle way: I have a gdb script which uses MPCBDM
target commands to setup the board, so that it's possible to execute code in
SDRAM. If I need to program FLASH, I execute another MPCBDM target command,
which downloads a fast FLASHing routine into the MPC controlled SDRAM and let
the MPC doing the FLASH programming itself. That's pretty fast. It's not
programmed nice, but it works fine for me. See
http://www.vas-gmbh.de/software/mpcbdm
hth
Frank
--
===============================================================================
Frank Przybylski,VAS GmbH,Gotenstr.6,20097 Hamburg,GERMANY,TEL:+49-40-238568-14
mailto:Frank.Przybylski@vas-gmbh.de , visit us at http://www.vas-gmbh.de
===============================================================================
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Programming Flash
2000-09-14 7:44 ` Frank Przybylski
@ 2000-09-14 14:58 ` Larry Battraw
0 siblings, 0 replies; 6+ messages in thread
From: Larry Battraw @ 2000-09-14 14:58 UTC (permalink / raw)
To: linuxppc-embedded
This sounds great, but has anyone come up with something similar for
IBM 4xx series over JTAG? I've seen commercial twiddlers for that
purpose, but nothing somebody built on their own.
Larry
Frank Przybylski wrote:
>
> Hi,
>
> "Banks, Kelly" wrote:
> >
> > There isn't necessarily ANY onboard code required to program FLASH, other
> > than the BDM/JTAG drivers onchip directly from Motorola.
> >
> > The basics of FLASH programming consists of writing command words into
> > command addresses and then writing the data into the desired address
> > (re:AMD's Am29DL16xC pub#21553 Rev. C 08/23/99)... I don't see why one
> > couldn't use MaCraigor's scripting language within the BDM Commander to
> > carry out the entire operation THROUGH the BDM/JTAG keeping all the logic
> > over on the host with no bootstrap code & no secondary ports required (Of
> > Course, the specifics of your FLASH device may vary).
> >
> > Kelly
>
> It's indeed possible to program FLASH without any code onboard, just with script
> commands. I first used this way to program FLASH (AM29LV160DB) with the MPCBDM
> via gdb script. I don't know how the Macraigor communicates while accessing
> memory, but I guess this will be real slow. Because you have to access each word
> of memory more than once, just for the programming, not included the
> communication. So I tried a middle way: I have a gdb script which uses MPCBDM
> target commands to setup the board, so that it's possible to execute code in
> SDRAM. If I need to program FLASH, I execute another MPCBDM target command,
> which downloads a fast FLASHing routine into the MPC controlled SDRAM and let
> the MPC doing the FLASH programming itself. That's pretty fast. It's not
> programmed nice, but it works fine for me. See
> http://www.vas-gmbh.de/software/mpcbdm
>
> hth
> Frank
>
> --
> ===============================================================================
> Frank Przybylski,VAS GmbH,Gotenstr.6,20097 Hamburg,GERMANY,TEL:+49-40-238568-14
> mailto:Frank.Przybylski@vas-gmbh.de , visit us at http://www.vas-gmbh.de
> ===============================================================================
>
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2000-09-14 14:58 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2000-09-13 13:35 Programming Flash Banks, Kelly
2000-09-14 7:44 ` Frank Przybylski
2000-09-14 14:58 ` Larry Battraw
-- strict thread matches above, loose matches on Subject: below --
2000-09-13 11:50 jonb
[not found] <319E391E2049D311843500609457383D07FD09@exchange.vividimage .com>
2000-09-12 21:56 ` Jerry Van Baren
2000-09-12 20:04 Kirk Haderlie
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).