EmbeddedRelated.com
Forums

Flash Utility Hell..

Started by James Dabbs May 7, 2004
Flash Utility Hell..

We're attempting to program our target board using the Phillips ISP utility.  We've used both the "Phillips LPC2000 Flash Utility V2.1.0" and an earlier version of it, on 2 PC's -- a desktop and a laptop, both running Windows 2000 and using "normal" non-USB serial ports at 9600 baud.

I can manually go in with HyperTerminal, get synchronized, and issue commands to read the device ID.  This works great.  But with the Flash Utility, I click the "Read Device ID" button  on the main form, push the reset button when the "Please Reset your LPC2000 board now and then press OK!" dialogue asks me to, and then I click OK.  The utility comes back instantly and says, "Cannot communicate with test board!"

This app uses the secondary JTAG port, so we've got to figure this out.

Any ideas?

Thanks,

James Dabbs, TGA




An Engineer's Guide to the LPC2100 Series

--- In , "James Dabbs" <jdabbs@t...> wrote:
> We're attempting to program our target board using the Phillips ISP
> utility. We've used both the "Phillips LPC2000 Flash Utility
V2.1.0"
> and an earlier version of it, on 2 PC's -- a desktop and a laptop,
both
> running Windows 2000 and using "normal" non-USB serial ports at 9600
> baud.
>
> I can manually go in with HyperTerminal, get synchronized, and issue
> commands to read the device ID. This works great. But with the
Flash
> Utility, I click the "Read Device ID" button on the main form,
push the
> reset button when the "Please Reset your LPC2000 board now and then
> press OK!" dialogue asks me to, and then I click OK. The utility
comes
> back instantly and says, "Cannot communicate with test board!"
>
> This app uses the secondary JTAG port, so we've got to figure this
out.

Have you set the crystal frequency? It's on the left of the window
and quite easy to miss.

Leon



At 07:30 AM 5/7/04 +0000, you wrote:
>--- In , "James Dabbs" <jdabbs@t...> wrote:
> > We're attempting to program our target board using the Phillips ISP
> > utility. We've used both the "Phillips LPC2000 Flash Utility
>V2.1.0"
> > and an earlier version of it, on 2 PC's -- a desktop and a laptop,
>both
> > running Windows 2000 and using "normal" non-USB serial ports at 9600
> > baud.
> >
> > I can manually go in with HyperTerminal, get synchronized, and issue
> > commands to read the device ID. This works great. But with the
>Flash
> > Utility, I click the "Read Device ID" button on the main form,
>push the
> > reset button when the "Please Reset your LPC2000 board now and then
> > press OK!" dialogue asks me to, and then I click OK. The utility
>comes
> > back instantly and says, "Cannot communicate with test board!"
> >
> > This app uses the secondary JTAG port, so we've got to figure this
>out.
>
>Have you set the crystal frequency? It's on the left of the window
>and quite easy to miss.

I can see how that might cause an error, just not the one he's seeing.

I'd suspect that the baud rate was marginal for the crystal but 9600 baud
seems low enough that there shouldn't be a problem. That leaves marginal
oscillator or connections and either he's seeing a sampling effect in the
error preference or there's some non-obvious difference in the way the two
are being done. (or maybe he's trying to steal power off of the serial
handshaking lines).

James, not much help, more of a verification step. Have you tried
performing an experiment where you do 10 or so of each method (manual sync
and read device id) and recording the results?

Also, does this happen on multiple boards? It sounds like this might be
the first board you are bring up?

Robert

" 'Freedom' has no meaning of itself. There are always restrictions,
be they legal, genetic, or physical. If you don't believe me, try to
chew a radio signal. "

Kelvin Throop, III



Another question. If the LPC is being driven by an oscillator,
has the output of the osc been divided down and capacitively
coupled to the LPC? Direct drive from an external osc will
allow the LPC to 'almost' work but because the waveform is
distorted, the problem will show up when trying to download
to flash.

-Bill Knight
the ARM Patch

On Fri, 07 May 2004 08:53:17 -0400, Robert Adsett wrote:

At 07:30 AM 5/7/04 +0000, you wrote:
>--- In , "James Dabbs" <jdabbs@t...> wrote:
> > We're attempting to program our target board using the Phillips ISP
> > utility. We've used both the "Phillips LPC2000 Flash Utility
>V2.1.0"
> > and an earlier version of it, on 2 PC's -- a desktop and a laptop,
>both
> > running Windows 2000 and using "normal" non-USB serial ports at 9600
> > baud.
> >
> > I can manually go in with HyperTerminal, get synchronized, and issue
> > commands to read the device ID. This works great. But with the
>Flash
> > Utility, I click the "Read Device ID" button on the main form,
>push the
> > reset button when the "Please Reset your LPC2000 board now and then
> > press OK!" dialogue asks me to, and then I click OK. The utility
>comes
> > back instantly and says, "Cannot communicate with test board!"
> >
> > This app uses the secondary JTAG port, so we've got to figure this
>out.

>Have you set the crystal frequency? It's on the left of the window
>and quite easy to miss.

I can see how that might cause an error, just not the one he's seeing.

I'd suspect that the baud rate was marginal for the crystal but 9600 baud
seems low enough that there shouldn't be a problem. That leaves marginal
oscillator or connections and either he's seeing a sampling effect in the
error preference or there's some non-obvious difference in the way the two
are being done. (or maybe he's trying to steal power off of the serial
handshaking lines).

James, not much help, more of a verification step. Have you tried
performing an experiment where you do 10 or so of each method (manual sync
and read device id) and recording the results?

Also, does this happen on multiple boards? It sounds like this might be
the first board you are bring up?

Robert

" 'Freedom' has no meaning of itself. There are always restrictions,
be they legal, genetic, or physical. If you don't believe me, try to
chew a radio signal. "

Kelvin Throop, III Yahoo! Groups Links



> Have you set the crystal frequency? It's on the left of the window
> and quite easy to miss.


Leon,

Our crystal is 14.7456MHz. The ISP tool (and the Bootloader code) wants
this in KHz, and I've tried 14745 and 14746 without success. Note that
in simulating the "Read Device ID" operation using hyperterminal, the
bootloader code works just fine with 14745 and 14746. This same
operation will not work with the utility.

Thanks,

-James


> Another question. If the LPC is being driven by an oscillator, has
> the output of the osc been divided down and capacitively coupled to
> the LPC? Direct drive from an external osc will allow the LPC to
> 'almost' work but because the waveform is distorted, the problem will
> show up when trying to download to flash.

Bill,

In this case, it's a quartz crystal, connected directly to the processor
pins, coupled to ground with 18pF caps. I should note that we started
off with a 19.6608MHz crystal, and could not get the boot loader to do
much more than echo back the '?' and then go into a very strange state.
Dropping the freq got it working in 'hyperterm' mode, but not with the
ISP loader. We've already changed parts once, and the layout is
bypassed very well, with the regulator at the LPC and 10uF and .1uF chip
caps right up on the 3.3V and 1.8V supply pins. Nevertheless, supply
noise is still something we're thinking about.

-James



Robert,

> James, not much help, more of a verification step. Have you tried
> performing an experiment where you do 10 or so of each method (manual
sync
> and read device id) and recording the results?

Well, I gave up at 5 times. The utility failed 5 for 5, and
Hyperterminal worked 5 for 5, and I called it a trend. I did hyperterm,
utility, hyperterm, utility, etc. cycling the target power between each
try and completely closing down one application before starting the
next. I'm now trying to get a serial monitor on it to figure out why
the utility is giving up; it doesn't offer much in the way of logging or
diagnostics.

> Also, does this happen on multiple boards? It sounds like this might
> be
> the first board you are bring up?

This is our first board. We're actually trying to verify it before we
build up some more, but I'm going ahead and starting a second board.
Note that we did change the LPC2106 once on this board, just to make
sure we didn't have a bum part.

Thanks,

-James


At 12:37 PM 5/7/04 -0400, you wrote:
>In this case, it's a quartz crystal, connected directly to the processor
>pins, coupled to ground with 18pF caps. I should note that we started
>off with a 19.6608MHz crystal, and could not get the boot loader to do
>much more than echo back the '?' and then go into a very strange state.
>Dropping the freq got it working in 'hyperterm' mode, but not with the
>ISP loader. We've already changed parts once, and the layout is
>bypassed very well, with the regulator at the LPC and 10uF and .1uF chip
>caps right up on the 3.3V and 1.8V supply pins. Nevertheless, supply
>noise is still something we're thinking about.

That sounds like sufficient decoupling. Maybe a marginal oscillator
circuit. Have you tried monitoring the oscillator while you are doing
this? Also have you checked the load capacitance against Philips
recomendations?

Robert

" 'Freedom' has no meaning of itself. There are always restrictions,
be they legal, genetic, or physical. If you don't believe me, try to
chew a radio signal. "

Kelvin Throop, III


--- In , "James Dabbs" <jdabbs@t...> wrote:
> > Another question. If the LPC is being driven by an oscillator,
has
> > the output of the osc been divided down and capacitively coupled
to
> > the LPC? Direct drive from an external osc will allow the LPC to
> > 'almost' work but because the waveform is distorted, the problem
will
> > show up when trying to download to flash.
>
> Bill,
>
> In this case, it's a quartz crystal, connected directly to the
processor
> pins, coupled to ground with 18pF caps. I should note that we
started
> off with a 19.6608MHz crystal, and could not get the boot loader to
do
> much more than echo back the '?' and then go into a very strange
state.
> Dropping the freq got it working in 'hyperterm' mode, but not with
the
> ISP loader. We've already changed parts once, and the layout is
> bypassed very well, with the regulator at the LPC and 10uF and .1uF
chip
> caps right up on the 3.3V and 1.8V supply pins. Nevertheless,
supply
> noise is still something we're thinking about.


The oscillator requires quite large value capacitors - try 33 pF.

Leon


At 12:48 PM 5/7/04 -0400, you wrote:
>That sounds like sufficient decoupling. Maybe a marginal oscillator
>circuit. Have you tried monitoring the oscillator while you are doing
>this? Also have you checked the load capacitance against Philips
>recomendations?

One other thing that occurred to me is if you have an oscillator around (as
opposed to a crystal) you might try that to patch that in to help determine
if it's the oscillator circuit.

Robert