Yahoo Groups archive

Lpc2000

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

Thread

trashed 2148 bootloader

trashed 2148 bootloader

2006-02-20 by dodge1955

I've apparently trashed by bootloader and am having a tough time
getting back to where I can talk to my Keil 2140 board serially.  I've
been playing around for a week now with sample Keil code examples
getting familiar with how things work and connecting and uploading and
downloading fine.  It was going very well until I got brave and
uploaded a sample piece of my own code.  The board locked up and I
have been unable to get it reconnected (thru the Philips Flash Utility
program).   I get the infamous 'Cannot communicate with test board"
message. And, P0.14 and RESET don't seem to kick it into ISP mode
where I can make a connection.  Any help out there.  Thanks.

Re: trashed 2148 bootloader

2006-02-20 by Jayasooriah

Hello,

I have seen this happen.  First of all there are a couple of things you 
should do to confirm that indeed the boot loader is trashed.   Please get 
in touch with me so I can talk you through.

If it is confirmed the boot loader is trashed we can talk about other options.

Regards,

Jaya

At 09:20 21/02/2006, lpc2000@yahoogroups.com wrote:
>Message: 3
>    Date: Mon, 20 Feb 2006 20:46:37 -0000
>    From: "dodge1955" <sutton@...>
>Subject: trashed 2148 bootloader
>
>I've apparently trashed by bootloader and am having a tough time
>getting back to where I can talk to my Keil 2140 board serially.  I've
>been playing around for a week now with sample Keil code examples
>getting familiar with how things work and connecting and uploading and
>downloading fine.  It was going very well until I got brave and
>uploaded a sample piece of my own code.  The board locked up and I
>have been unable to get it reconnected (thru the Philips Flash Utility
>program).   I get the infamous 'Cannot communicate with test board"
>message. And, P0.14 and RESET don't seem to kick it into ISP mode
>where I can make a connection.  Any help out there.  Thanks.

Send instant messages to your online friends http://au.messenger.yahoo.com

Re: [lpc2000] Re: trashed 2148 bootloader

2006-02-21 by Jean-Rene David

* Jayasooriah <jayasooriah@...>:
> Please get in touch with me so I can talk you
> through.

Well that is not very helpful for others now is
it?

I happen to have a similar problem.

-- 
JR

Re: trashed 2148 bootloader

2006-02-21 by Jayasooriah

Hi Jean-Rene,

I agree it is not being helpful but I am resigned to private discussion 
mode because a vocal minority in this forum (that includes Robert from 
Philips) will stop at nothing to discredit anyone who even remotely 
suggests there are problems with the boot loader implementation.

To put it bluntly, the flash programming algorithm implementation in the 
boot loader is broken.  This is not the only thing broken in the boot 
loader.  I am hesitant explain all this in this forum because I am tired of 
abuse from Philips fans.

I am documenting problems and would like input from anyone who has 
problems.  In return for your input I can offer solutions to overcome some 
of these problems.  Thus I asked dodge1955 to get in touch with me directly.

Jaya

--- In lpc2000@yahoogroups.com, Jean-Rene David <jrdavid@...> wrote:
 >
 > * Jayasooriah <jayasooriah@...>:
 > > Please get in touch with me so I can talk you
 > > through.
 >
 > Well that is not very helpful for others now is
 > it?
 >
 > I happen to have a similar problem.
 >
 > --
 > JR
 >

Send instant messages to your online friends http://au.messenger.yahoo.com

Re: [lpc2000] Re: trashed 2148 bootloader

2006-02-21 by 42Bastian Schick

Jaya,

> To put it bluntly, the flash programming algorithm implementation in the 
> boot loader is broken.  This is not the only thing broken in the boot 
> loader.  I am hesitant explain all this in this forum because I am tired of 
> abuse from Philips fans.

I wonder, why don't you just make your findings public ?
=> Files section


-- 
42Bastian

Re: trashed 2148 bootloader

2006-02-21 by Guillermo Prandi

Hi, Jayasooriah.
I too would like to hear about your findings.
If you'd just post your findings in cold objective words instead of 
making misterious announces I doubt anybody would have anything to 
criticize. Anyway, if they do, it's their problem. Please just post 
what you've found (avoiding offending wording like "completely 
broken", "piece of crap" and things like that) and any workarounds 
you may have developed for it and I'll be really GLAD to read about 
it.

Guille

--- In lpc2000@yahoogroups.com, Jayasooriah <jayasooriah@...> wrote:
>
> Hi Jean-Rene,
> 
> I agree it is not being helpful but I am resigned to private 
discussion 
> mode because a vocal minority in this forum (that includes Robert 
from 
> Philips) will stop at nothing to discredit anyone who even remotely 
> suggests there are problems with the boot loader implementation.
> 
> To put it bluntly, the flash programming algorithm implementation 
in the 
> boot loader is broken.  This is not the only thing broken in the 
boot 
> loader.  I am hesitant explain all this in this forum because I am 
tired of 
> abuse from Philips fans.
> 
> I am documenting problems and would like input from anyone who has 
> problems.  In return for your input I can offer solutions to 
overcome some 
> of these problems.  Thus I asked dodge1955 to get in touch with me 
directly.
> 
> Jaya
> 
> --- In lpc2000@yahoogroups.com, Jean-Rene David <jrdavid@> wrote:
>  >
>  > * Jayasooriah <jayasooriah@>:
>  > > Please get in touch with me so I can talk you
>  > > through.
>  >
>  > Well that is not very helpful for others now is
>  > it?
>  >
>  > I happen to have a similar problem.
>  >
>  > --
>  > JR
>  >
> 
> Send instant messages to your online friends 
http://au.messenger.yahoo.com
>

Re: trashed 2148 bootloader

2006-02-21 by Jean-Rene David

* Jayasooriah <jayasooriah@...>:
> a vocal minority in this forum [...]

Oh is that what it is.

Well I think we are all grown up enough to
recognize a coherent technical argument when we
see one (i.e. sometimes referred to as "signal").

> In return for your input I can offer solutions
> to overcome some of these problems.

Well that is certainly one way to do things. My
input will be on the list.

In the meantime, I was able to synchronize with my
LPC2214 again. I'm not sure whether the problem
was with my setup, with the part or sitting on the
chair.

I had programmed Flash block 1 with some random
data and after that the bootloader wouldn't
synchronize again. I tried resetting it and using
P0.14 and it repeatedly wouldn't synchronize. Then
I just hit the reset switch a dozen times and it
suddenly woke up again. 

It's a custom board with custom isp software so
I'm not too worried about the part yet. Unless
others have had the same experience and can
provide repeatable sequences to reproduce the
problem.

-- 
JR

Re: trashed 2148 bootloader

2006-02-21 by brendanmurphy37

--- In lpc2000@yahoogroups.com, "Guillermo Prandi" 
<yahoo.messenger@...> wrote:
>
> Hi, Jayasooriah.
> I too would like to hear about your findings.
> If you'd just post your findings in cold objective words instead 
of 
> making misterious announces I doubt anybody would have anything to 
> criticize. Anyway, if they do, it's their problem. Please just 
post 
> what you've found (avoiding offending wording like "completely 
> broken", "piece of crap" and things like that) and any workarounds 
> you may have developed for it and I'll be really GLAD to read 
about 
> it.
> 
> Guille

I'll second that, as I'm sure everyone would.

Our own experience of the boot loader is that it's fine for 
development and initial production programming of the parts (though 
not without its quirks). If we had a need to provide in-service 
programming, we'd probably implement it as an application feature. 
That way, the feature can be customised to the particular 
application and environment (e.g. implementing download recovery if 
the code is being loaded through an unreliable comms link). I can't 
see why you'd need to replace the simple boot loader that's there, 
though. If there is a reason to do it, I'd like to hear about it.

As an aside, surely Philip's ongoing support of this forum is 
evidence of their encouragement of people pointing out issues with 
the parts rather than discouraging it? My own experience has been 
that they have been very grateful to people pointing out any issues 
with the parts or documentation. 

Brendan

Re: trashed 2148 bootloader

2006-02-21 by Jayasooriah

I did make my the my findings public.  The "CSI" bug that crashes the boot 
loader is one example.

There has been no word whatsoever from Philips.  As Philips does not even 
acknowledge the bug report, let alone say when these will be fixed, I see 
little point in laundering it out here because of the activity of some here.

I must say my experience with Philips has been quite different to the other 
major players from whom I seem to get very prompt response, often the fixes 
coming with the acknowledgement itself.

Jaya

At 08:48 22/02/2006, you wrote:
>Message: 6
>    Date: Tue, 21 Feb 2006 16:50:28 +0100
>    From: 42Bastian Schick <bastian42@...>
>Subject: Re: Re: trashed 2148 bootloader
>
>Jaya,
>
> > To put it bluntly, the flash programming algorithm implementation in the
> > boot loader is broken.  This is not the only thing broken in the boot
> > loader.  I am hesitant explain all this in this forum because I am 
> tired of
> > abuse from Philips fans.
>
>I wonder, why don't you just make your findings public ?
>=> Files section
>
>
>--
>42Bastian

Send instant messages to your online friends http://au.messenger.yahoo.com

Re: trashed 2148 bootloader

2006-02-21 by Jayasooriah

Hi Guile,

I found a number of things broken in the boot loader.  These have stopped 
me (and from the posts here, a lot of others) from doing what they should 
be able to do.

I stay away from being critical of design choices made by whoever 
implemented the boot loader.  However when things are broken and this 
interferes with operational aspects of the boot loader, I call it as I see it.

* The boot loader is critical to CRP but you can crash it at will even when 
CRP is enabled.

* The flash algorithms in the boot loader are not implemented properly and 
cause problems, including corruption boot loader itself.

The work-around is to replace the boot loader.  One can understand why 
Philips objects to open source boot loader given product selection appears 
to be based on what the boot loader does on startup.

Someone suggested I should give up on open source boot loader project and 
just concentrate on providing custom boot loaders for people who need one 
... and I have taken this advice onboard.

Regards,

Jaya

>Message: 7
>    Date: Tue, 21 Feb 2006 15:56:04 -0000
>    From: "Guillermo Prandi" <yahoo.messenger@...>
>Subject: Re: trashed 2148 bootloader
>
>Hi, Jayasooriah.
>I too would like to hear about your findings.
>If you'd just post your findings in cold objective words instead of
>making misterious announces I doubt anybody would have anything to
>criticize. Anyway, if they do, it's their problem. Please just post
>what you've found (avoiding offending wording like "completely
>broken", "piece of crap" and things like that) and any workarounds
>you may have developed for it and I'll be really GLAD to read about
>it.
>
>Guille

Send instant messages to your online friends http://au.messenger.yahoo.com

Re: trashed 2148 bootloader

2006-02-22 by Guillermo Prandi

Thanks, Jayasooriah.

This however leaves me with more questions than before. I am not 
particularly interested in code read protection. However, my company 
designed a board using LPC2138/LPC2148 and I would like to know if I 
am likely to encounter problems when programming those boards, what 
kind of problem will they be and if can or can't I avoid them. We use 
plain UART0 interface for the one-time programming (occasionally, a 
firmware upgrade might kick in, also using the standard bootloader). 
We will be using the Philips utility for the task. If you have some 
info about that, please let me know.

Guille

--- In lpc2000@yahoogroups.com, Jayasooriah <jayasooriah@...> wrote:
>
> Hi Guile,
> 
> I found a number of things broken in the boot loader.  These have 
stopped 
> me (and from the posts here, a lot of others) from doing what they 
should 
> be able to do.
> 
> I stay away from being critical of design choices made by whoever 
> implemented the boot loader.  However when things are broken and 
this 
> interferes with operational aspects of the boot loader, I call it 
as I see it.
> 
> * The boot loader is critical to CRP but you can crash it at will 
even when 
> CRP is enabled.
> 
> * The flash algorithms in the boot loader are not implemented 
properly and 
> cause problems, including corruption boot loader itself.
> 
> The work-around is to replace the boot loader.  One can understand 
why 
> Philips objects to open source boot loader given product selection 
appears 
> to be based on what the boot loader does on startup.
> 
> Someone suggested I should give up on open source boot loader 
project and 
> just concentrate on providing custom boot loaders for people who 
need one 
> ... and I have taken this advice onboard.
> 
> Regards,
> 
> Jaya
> 
> >Message: 7
> >    Date: Tue, 21 Feb 2006 15:56:04 -0000
> >    From: "Guillermo Prandi" <yahoo.messenger@...>
> >Subject: Re: trashed 2148 bootloader
> >
> >Hi, Jayasooriah.
> >I too would like to hear about your findings.
> >If you'd just post your findings in cold objective words instead of
> >making misterious announces I doubt anybody would have anything to
> >criticize. Anyway, if they do, it's their problem. Please just post
> >what you've found (avoiding offending wording like "completely
> >broken", "piece of crap" and things like that) and any workarounds
> >you may have developed for it and I'll be really GLAD to read about
> >it.
> >
> >Guille
> 
> Send instant messages to your online friends 
http://au.messenger.yahoo.com
>

Re: trashed 2148 bootloader

2006-02-22 by Jayasooriah

Hi Guile,

Based on my own experience, and of those who have communicated such 
problems to me by email, there are two reasons as to why you may need to 
consider custom boot loader in your case where you are not concerned with CRP.

1/  The coding of the flash programming algorithm in the boot loader 
unreliable because: a) it depends on wait loops rather than polling the 
flash controller status register; and b) it requires clock frequency to be 
passed as a run-time argument.

2/  The boot loader includes code that writes to flash, and as the flash 
device is not protected by feed sequences (industry standard for flash 
memories) you can get accidental trashing of the boot loader when the 
application misbehaves.

I recommend that the boot loader be replaced with one that is simple and 
does not include flash programming code.  A simple loader is less likely to 
be plagued by bugs.  The absence of code to program flash makes it more 
robust with respect to application misbehavior in the field.

There is nothing we can do about the flash device not having industry 
standard protective feed sequences -- so the less code there is in memory 
that is capable of modifying on-chip flash, the safer your system is going 
to be in the field.

Field upgrades can be done by sending down your upgrade application that 
includes flash programming code which is discarded once the upgrade is 
complete.  The code to program the flash is minimal -- at last count my 
flash library itself (written in C) was 820 bytes.

Hope this helps.

Jaya

--- In lpc2000@yahoogroups.com, "Guillermo Prandi" <yahoo.messenger@...> wrote:
 >
 > Thanks, Jayasooriah.
 >
 > This however leaves me with more questions than before. I am not
 > particularly interested in code read protection. However, my company
 > designed a board using LPC2138/LPC2148 and I would like to know if I
 > am likely to encounter problems when programming those boards, what
 > kind of problem will they be and if can or can't I avoid them. We use
 > plain UART0 interface for the one-time programming (occasionally, a
 > firmware upgrade might kick in, also using the standard bootloader).
 > We will be using the Philips utility for the task. If you have some
 > info about that, please let me know.
 >
 > Guille

Send instant messages to your online friends http://au.messenger.yahoo.com

Re: trashed 2148 bootloader

2006-02-22 by brendanmurphy37

--- In lpc2000@yahoogroups.com, Jayasooriah <jayasooriah@...> wrote:
>
> 1/  The coding of the flash programming algorithm in the boot loader 
> unreliable because: a) it depends on wait loops rather than polling 
the 
> flash controller status register; and b) it requires clock frequency 
to be 
> passed as a run-time argument.
> 
> 2/  The boot loader includes code that writes to flash, and as the 
flash 
> device is not protected by feed sequences (industry standard for 
flash 
> memories) you can get accidental trashing of the boot loader when the 
> application misbehaves.
> 

Jaya,

This is indeed useful information. Do you have any examples of specific 
failure modes that you've observed?

Without them, your observations may be misinterpreted as "I don't like 
the way the boot loader is implemented", rather than a particular 
problem. As you yourself pointed out, you like to "stay away from being 
critical of design choices made by whoever implemented the boot 
loader". This might explain some of the negative reaction you've been 
getting, as well as lack of response from Philips.

Clearly, it's valuable to know of any situation where if you do "X" 
then "Y" (something bad or unexpected) happens. Debating design and 
implementation choices made by Philips I'd suggest has a more limited 
appeal.

Brendan

RE: [lpc2000] Re: trashed 2148 bootloader

2006-02-22 by Paul Curtis

Hi, 

> 2/  The boot loader includes code that writes to flash, and 
> as the flash device is not protected by feed sequences
> (industry standard for flash memories) you can get accidental
> trashing of the boot loader when the application misbehaves.

Can you name one ARM7 with embedded flash that has feed sequences to
protect its flash programming registers?  As you claim that this is
industry standard, where is the standard defined?  Can you provide a
reference to this standard?

--
Paul Curtis, Rowley Associates Ltd  http://www.rowley.co.uk
CrossWorks for MSP430, ARM, AVR and now MAXQ processors

Re: trashed 2148 bootloader

2006-02-22 by Guillermo Prandi

Oh, I think I see the point, now. From what you say I get the 
following:

1) I have no choice but to go through the embedded bootloader for the 
initial programming.

2) Using the embedded bootloader should work if I am careful enough 
to provide the correct crystal frequency. However, as the writing 
procedure seems to be poorly implemented, a write-read-compare cycle 
should be considered.

3) I might get a non-functional unit if my program misbehaves and 
accidentally runs code that erases the provided bootloader. This 
is "unavoidable" since the processor lacks some kind of hardware 
protection to prevent this to happen accidentally.

4) I have the choice (however undocummented) to write my own 
bootloader. If this bootloader lacks flash memory programming 
capabilities I might be safer because my potentially misbehaving 
application will not be able to jump in the middle of the flash 
programming code and accidentally erase the bootloader or other parts 
of the flash.

Correct me if I'm getting you wrong.

Guille

--- In lpc2000@yahoogroups.com, Jayasooriah <jayasooriah@...> wrote:
>
> Hi Guile,
> 
> Based on my own experience, and of those who have communicated such 
> problems to me by email, there are two reasons as to why you may 
need to 
> consider custom boot loader in your case where you are not 
concerned with CRP.
> 
> 1/  The coding of the flash programming algorithm in the boot 
loader 
> unreliable because: a) it depends on wait loops rather than polling 
the 
> flash controller status register; and b) it requires clock 
frequency to be 
> passed as a run-time argument.
> 
> 2/  The boot loader includes code that writes to flash, and as the 
flash 
> device is not protected by feed sequences (industry standard for 
flash 
> memories) you can get accidental trashing of the boot loader when 
the 
> application misbehaves.
> 
> I recommend that the boot loader be replaced with one that is 
simple and 
> does not include flash programming code.  A simple loader is less 
likely to 
> be plagued by bugs.  The absence of code to program flash makes it 
more 
> robust with respect to application misbehavior in the field.
> 
> There is nothing we can do about the flash device not having 
industry 
> standard protective feed sequences -- so the less code there is in 
memory 
> that is capable of modifying on-chip flash, the safer your system 
is going 
> to be in the field.
> 
> Field upgrades can be done by sending down your upgrade application 
that 
> includes flash programming code which is discarded once the upgrade 
is 
> complete.  The code to program the flash is minimal -- at last 
count my 
> flash library itself (written in C) was 820 bytes.
> 
> Hope this helps.
> 
> Jaya
> 
> --- In lpc2000@yahoogroups.com, "Guillermo Prandi" 
<yahoo.messenger@> wrote:
>  >
>  > Thanks, Jayasooriah.
>  >
>  > This however leaves me with more questions than before. I am not
>  > particularly interested in code read protection. However, my 
company
>  > designed a board using LPC2138/LPC2148 and I would like to know 
if I
>  > am likely to encounter problems when programming those boards, 
what
>  > kind of problem will they be and if can or can't I avoid them. 
We use
>  > plain UART0 interface for the one-time programming 
(occasionally, a
>  > firmware upgrade might kick in, also using the standard 
bootloader).
>  > We will be using the Philips utility for the task. If you have 
some
>  > info about that, please let me know.
>  >
>  > Guille
> 
> Send instant messages to your online friends 
http://au.messenger.yahoo.com
>

Re: trashed 2148 bootloader

2006-02-22 by Jayasooriah

--- In lpc2000@yahoogroups.com, "Paul Curtis" <plc@...> wrote:
 > Can you name one ARM7 with embedded flash that has feed sequences to
 > protect its flash programming registers?

I can think of AT29x1024 and AM29x800 variants off the cuff.  I am quite 
sure people at KEIL can tell you more about what variants there are and how 
they are programmed.

 > As you claim that this is
 > industry standard, where is the standard defined?  Can you provide a
 > reference to this standard?

I am not aware there is any formal standard.  My experience has been with 
various AMD and Intel flash memories, and I do not recall a single flash 
memory that did not include feed sequences type of protection in one way or 
another.

 >
 > --
 > Paul Curtis, Rowley Associates Ltd  http://www.rowley.co.uk
 > CrossWorks for MSP430, ARM, AVR and now MAXQ processors

The fact that LPC does not have MMU and that it supports both 16 and 32 bit 
instruction sets are two very good reasons IMO to have protective sequences 
for flash programming.

Jaya

Send instant messages to your online friends http://au.messenger.yahoo.com

Re: [lpc2000] Re: trashed 2148 bootloader

2006-02-22 by Richard Duits

Guillermo Prandi wrote:
> Oh, I think I see the point, now. From what you say I get the
> following:
>
> 1) I have no choice but to go through the embedded bootloader for the
> initial programming.
>
You can use JTAG to upload your own code to RAM and execute this, so if 
you really do not want to use the philips bootloader you can use JTAG to 
do whatever you want. Philips uses this same method to program the 
bootloader and test the device. You also have an extra flash sector you 
can use if you are short on flash and like to do everything yourself.

> 2) Using the embedded bootloader should work if I am careful enough
> to provide the correct crystal frequency. However, as the writing
> procedure seems to be poorly implemented, a write-read-compare cycle
> should be considered.
>
Maybe philips chose to use a delay loop because the hardware bits were 
not reliable enough. Has anyone tested these hardware bits with 
diffirent core frequencies to see if they work ok? I would be happy to 
try some code if anyone has programmed their own flash programming routines.

> 3) I might get a non-functional unit if my program misbehaves and
> accidentally runs code that erases the provided bootloader. This
> is "unavoidable" since the processor lacks some kind of hardware
> protection to prevent this to happen accidentally.
>
If the bootloader is erased, the hardware should be accessable with 
JTAG, because there is no bootloader code to disable it.

> 4) I have the choice (however undocummented) to write my own
> bootloader. If this bootloader lacks flash memory programming
> capabilities I might be safer because my potentially misbehaving
> application will not be able to jump in the middle of the flash
> programming code and accidentally erase the bootloader or other parts
> of the flash.
>
Until now I have never seen a LPC2xxx with a trashed bootloader, so I am 
happy with what I have now.


> Correct me if I'm getting you wrong.
>
> Guille
>

Richard.

Re: trashed 2148 bootloader

2006-02-22 by Jayasooriah

Hi Guile,

I am happy to clarify by way of annotation:

--- In lpc2000@yahoogroups.com, "Guillermo Prandi" <yahoo.messenger@...> wrote:
 >
 > Oh, I think I see the point, now. From what you say I get the
 > following:
 >
 > 1) I have no choice but to go through the embedded bootloader for the
 > initial programming.

Philips boot loader update distribution contains (authoritative) code that 
will update the boot sector for any of the LPC devices for which they have 
released boot loader updates.

This can be used (after stripping the "protective" bits) in lieu of IAP 
calls to switch between the original and alternate boot loaders.  You may 
need to switch back to the original boot loader, for example, if your board 
needs to be sent back for repair.

 > 2) Using the embedded bootloader should work if I am careful enough
 > to provide the correct crystal frequency. However, as the writing
 > procedure seems to be poorly implemented, a write-read-compare cycle
 > should be considered.

I do not think write-read-compare cycle will work because when things go 
wrong and the write or erase fails the IAP call may not return:

1/  While erase or write operation is in progress, the flash memory is not 
accessible.  Writes will (in general) have no effect and read (in general) 
always return ones.

2/  For this reason, the boot loader loads into and runs from RAM a stub of 
code that starts the erase or write command, sits in a programmed loop, and 
then terminates command and returns.

2/  However when this stub returns before the flash is ready the CPU is now 
in the wilderness.

3/  At some time when the flash becomes ready, the processor starts getting 
real data from on-chip flash from wherever its PC is pointing to, and what 
happens next is disaster.

 > 3) I might get a non-functional unit if my program misbehaves and
 > accidentally runs code that erases the provided bootloader. This
 > is "unavoidable" since the processor lacks some kind of hardware
 > protection to prevent this to happen accidentally.

Correct.  All the flash memories (embedded and external) that I have dealt 
with have some kind of feed sequences to prevent accidents like these.

I cannot find any evidence of such sequences in the boot loader for 2105, 
2292.  I believe the situation is the same for all the LPC series because 
they use a the same boot loader code, one for 2104/5/6 and another for the 
others,

 > 4) I have the choice (however undocummented) to write my own
 > bootloader. If this bootloader lacks flash memory programming
 > capabilities I might be safer because my potentially misbehaving
 > application will not be able to jump in the middle of the flash
 > programming code and accidentally erase the bootloader or other parts
 > of the flash.

You can use the provided boot loader if you are prepared to live with the 
problems people have raised in this forum with respect to flash programming.

Writing your own boot loader that does not deal with flash memory is IMO a 
low risk option.  By looking at what the provided boot loader does between 
reset and running user code, you can work out the couple of instructions 
your own boot loader needs to run.

Replacing flash algorithms is more involved and higher risk because you 
have to rely on suck-and-see assurances.

However, if you do not require flash for your application and only need it 
for purposes of firmware updates, and you only will run authoritative code, 
then there is nothing stopping you from using the very code that is used by 
Philips in their boot loader update distribution.

Regards,

Jaya

Send instant messages to your online friends http://au.messenger.yahoo.com

Re: trashed 2148 bootloader

2006-02-22 by Jayasooriah

--- In lpc2000@yahoogroups.com, Richard Duits <yahoo@...> wrote:
 > > 1) I have no choice but to go through the embedded bootloader for the
 > > initial programming.
 > >
 > You can use JTAG to upload your own code to RAM and execute this, so if
 > you really do not want to use the philips bootloader you can use JTAG to
 > do whatever you want. Philips uses this same method to program the
 > bootloader and test the device. You also have an extra flash sector you
 > can use if you are short on flash and like to do everything yourself.

Note that whether JTAG or boot loader is used for programming, the same 
flash algorithms implemented in the boot loader come into the equation.

 > If the bootloader is erased, the hardware should be accessable with
 > JTAG, because there is no bootloader code to disable it.

If completely erased, yes.  However if boot sector is corrupted or 
partially erased, then it is possible first three instructions (to disable 
JTAG) get executed but not the code further down re-enable it.

Send instant messages to your online friends http://au.messenger.yahoo.com

RE: [lpc2000] Re: trashed 2148 bootloader

2006-02-22 by Paul Curtis

Hi, 

> --- In lpc2000@yahoogroups.com, "Paul Curtis" <plc@...> wrote:
>  > Can you name one ARM7 with embedded flash that has feed 
> sequences to
>  > protect its flash programming registers?
> 
> I can think of AT29x1024 and AM29x800 variants off the cuff.  

To my knowledge, those devices do not have an ARM7 in them.  You have,
therefore, not answered the question I posed.

> I am quite  sure people at KEIL can tell you more about what
> variants there are and how they are programmed.

Why would I want to do that?  As you are disparaging the LPC2000 for no
feed sequences, I would like you to provide an example commercial
(non-automotive) ARM7 with a feed sequence that provides FLASH
protection.

>  > As you claim that this is
>  > industry standard, where is the standard defined?  Can you 
> provide a
>  > reference to this standard?
> 
> I am not aware there is any formal standard.  My experience 
> has been with  various AMD and Intel flash memories, 
> and I do not recall a single flash memory that did not include
> feed sequences type of protection in one way or another.

That still does not answer my question.  I see you have sidestepped it
very neatly, something you disparage others for.  So, it's industry
standard but there is no standard?

As you have not provided a standard reference, and have simply shirked
my questions, can I claim that it the LPC2000 series is industry
standard in not providing flash feed sequences as all other ARM7s do the
same?

--
Paul Curtis, Rowley Associates Ltd  http://www.rowley.co.uk
CrossWorks for MSP430, ARM, AVR and now MAXQ processors

Re: trashed 2148 bootloader

2006-02-22 by brendanmurphy37

--- In lpc2000@yahoogroups.com, "Paul Curtis" <plc@...> wrote:
>
> Hi, 
> 
> > --- In lpc2000@yahoogroups.com, "Paul Curtis" <plc@> wrote:
> >  > Can you name one ARM7 with embedded flash that has feed 
> > sequences to
> >  > protect its flash programming registers?
> > 
> > I can think of AT29x1024 and AM29x800 variants off the cuff.  
> 
> To my knowledge, those devices do not have an ARM7 in them.  You have,
> therefore, not answered the question I posed.
> 

Paul,

I think you're wasting your time here (as I've been). I'd suggest 
making no further contributions to this thread (I certainly won't be 
making any). From what I've seen it's the same as the CRP thread: vague 
suggestions of how there might be a problem somewhere; no specific 
failure mode that's actually been observed described; criticism of a 
design by someone not familiar with all of the requirements that led to 
it (as noone outside Philips can have); etc. etc.

As ever, if there is some failure mode or problem that's been observed 
in practice, then let's hear about it. If not, then I think it's better 
to keep our opinions of the parts design to ourselves: it just 
generates heat rather than light.

Brendan

Re: trashed 2148 bootloader

2006-02-22 by Guillermo Prandi

Thanks, Jayasooriah.

--- In lpc2000@yahoogroups.com, Jayasooriah <jayasooriah@...> wrote:
>
> Hi Guile,
> 
> I am happy to clarify by way of annotation:
> 
> --- In lpc2000@yahoogroups.com, "Guillermo Prandi" 
<yahoo.messenger@> wrote:
>  >
>  > Oh, I think I see the point, now. From what you say I get the
>  > following:
>  >
>  > 1) I have no choice but to go through the embedded bootloader 
for the
>  > initial programming.
> 
> Philips boot loader update distribution contains (authoritative) 
code that 
> will update the boot sector for any of the LPC devices for which 
they have 
> released boot loader updates.
> 
> This can be used (after stripping the "protective" bits) in lieu of 
IAP 
> calls to switch between the original and alternate boot loaders.  
You may 
> need to switch back to the original boot loader, for example, if 
your board 
> needs to be sent back for repair.
> 
>  > 2) Using the embedded bootloader should work if I am careful 
enough
>  > to provide the correct crystal frequency. However, as the writing
>  > procedure seems to be poorly implemented, a write-read-compare 
cycle
>  > should be considered.
> 
> I do not think write-read-compare cycle will work because when 
things go 
> wrong and the write or erase fails the IAP call may not return:
> 
> 1/  While erase or write operation is in progress, the flash memory 
is not 
> accessible.  Writes will (in general) have no effect and read (in 
general) 
> always return ones.
> 
> 2/  For this reason, the boot loader loads into and runs from RAM a 
stub of 
> code that starts the erase or write command, sits in a programmed 
loop, and 
> then terminates command and returns.
> 
> 2/  However when this stub returns before the flash is ready the 
CPU is now 
> in the wilderness.
> 
> 3/  At some time when the flash becomes ready, the processor starts 
getting 
> real data from on-chip flash from wherever its PC is pointing to, 
and what 
> happens next is disaster.
> 
>  > 3) I might get a non-functional unit if my program misbehaves and
>  > accidentally runs code that erases the provided bootloader. This
>  > is "unavoidable" since the processor lacks some kind of hardware
>  > protection to prevent this to happen accidentally.
> 
> Correct.  All the flash memories (embedded and external) that I 
have dealt 
> with have some kind of feed sequences to prevent accidents like 
these.
> 
> I cannot find any evidence of such sequences in the boot loader for 
2105, 
> 2292.  I believe the situation is the same for all the LPC series 
because 
> they use a the same boot loader code, one for 2104/5/6 and another 
for the 
> others,
> 
>  > 4) I have the choice (however undocummented) to write my own
>  > bootloader. If this bootloader lacks flash memory programming
>  > capabilities I might be safer because my potentially misbehaving
>  > application will not be able to jump in the middle of the flash
>  > programming code and accidentally erase the bootloader or other 
parts
>  > of the flash.
> 
> You can use the provided boot loader if you are prepared to live 
with the 
> problems people have raised in this forum with respect to flash 
programming.
> 
> Writing your own boot loader that does not deal with flash memory 
is IMO a 
> low risk option.  By looking at what the provided boot loader does 
between 
> reset and running user code, you can work out the couple of 
instructions 
> your own boot loader needs to run.
> 
> Replacing flash algorithms is more involved and higher risk because 
you 
> have to rely on suck-and-see assurances.
> 
> However, if you do not require flash for your application and only 
need it 
> for purposes of firmware updates, and you only will run 
authoritative code, 
> then there is nothing stopping you from using the very code that is 
used by 
> Philips in their boot loader update distribution.
> 
> Regards,
> 
> Jaya
> 
> Send instant messages to your online friends 
http://au.messenger.yahoo.com
>

Re: trashed 2148 bootloader

2006-02-22 by Guillermo Prandi

Thanks, Richard. Unfortunately my device uses all the available GPIO 
pins, so I am unable to use JTAG.

Guille

--- In lpc2000@yahoogroups.com, Richard Duits <yahoo@...> wrote:
>
> Guillermo Prandi wrote:
> > Oh, I think I see the point, now. From what you say I get the
> > following:
> >
> > 1) I have no choice but to go through the embedded bootloader for 
the
> > initial programming.
> >
> You can use JTAG to upload your own code to RAM and execute this, 
so if 
> you really do not want to use the philips bootloader you can use 
JTAG to 
> do whatever you want. Philips uses this same method to program the 
> bootloader and test the device. You also have an extra flash sector 
you 
> can use if you are short on flash and like to do everything 
yourself.
> 
> > 2) Using the embedded bootloader should work if I am careful 
enough
> > to provide the correct crystal frequency. However, as the writing
> > procedure seems to be poorly implemented, a write-read-compare 
cycle
> > should be considered.
> >
> Maybe philips chose to use a delay loop because the hardware bits 
were 
> not reliable enough. Has anyone tested these hardware bits with 
> diffirent core frequencies to see if they work ok? I would be happy 
to 
> try some code if anyone has programmed their own flash programming 
routines.
> 
> > 3) I might get a non-functional unit if my program misbehaves and
> > accidentally runs code that erases the provided bootloader. This
> > is "unavoidable" since the processor lacks some kind of hardware
> > protection to prevent this to happen accidentally.
> >
> If the bootloader is erased, the hardware should be accessable with 
> JTAG, because there is no bootloader code to disable it.
> 
> > 4) I have the choice (however undocummented) to write my own
> > bootloader. If this bootloader lacks flash memory programming
> > capabilities I might be safer because my potentially misbehaving
> > application will not be able to jump in the middle of the flash
> > programming code and accidentally erase the bootloader or other 
parts
> > of the flash.
> >
> Until now I have never seen a LPC2xxx with a trashed bootloader, so 
I am 
Show quoted textHide quoted text
> happy with what I have now.
> 
> 
> > Correct me if I'm getting you wrong.
> >
> > Guille
> >
> 
> Richard.
>

Re: trashed 2148 bootloader

2006-02-22 by Richard

Let's hope that these types of discussions does not result in Philips
Apps. (Robert) leaving the forum.  Their involvement is quite unique
and it is a foolish thing indeed to antagonize them.  If they were to
leave, which they could do in a heartbeat, we will just be talking to
ourselves.

A word of caution....

Rich


--- In lpc2000@yahoogroups.com, Jayasooriah <jayasooriah@...> wrote:
>
> Hi Jean-Rene,
> 
> I agree it is not being helpful but I am resigned to private discussion 
> mode because a vocal minority in this forum (that includes Robert from 
> Philips) will stop at nothing to discredit anyone who even remotely 
> suggests there are problems with the boot loader implementation.
> 
> To put it bluntly, the flash programming algorithm implementation in
the 
> boot loader is broken.  This is not the only thing broken in the boot 
> loader.  I am hesitant explain all this in this forum because I am
tired of 
> abuse from Philips fans.
> 
> I am documenting problems and would like input from anyone who has 
> problems.  In return for your input I can offer solutions to
overcome some 
> of these problems.  Thus I asked dodge1955 to get in touch with me
directly.
> 
> Jaya
> 
> --- In lpc2000@yahoogroups.com, Jean-Rene David <jrdavid@> wrote:
>  >
>  > * Jayasooriah <jayasooriah@>:
>  > > Please get in touch with me so I can talk you
>  > > through.
>  >
>  > Well that is not very helpful for others now is
>  > it?
>  >
>  > I happen to have a similar problem.
>  >
>  > --
>  > JR
>  >
> 
> Send instant messages to your online friends
http://au.messenger.yahoo.com
>

Re: trashed 2148 bootloader

2006-02-22 by Jayasooriah

Paul,

I am not if your line of questions will lead to something useful, but let 
me try to explain why what I said is relevant to the very real problems 
people are facing with boot loader.

>Message: 25
>    Date: Wed, 22 Feb 2006 13:11:12 -0000
>    From: "Paul Curtis" <plc@...>
>Subject: RE: Re: trashed 2148 bootloader
>
> > I can think of AT29x1024 and AM29x800 variants off the cuff.
>
>To my knowledge, those devices do not have an ARM7 in them.  You have,
>therefore, not answered the question I posed.

I just checked, KEIL tools include these processor in "ARM" category.

> > I am quite  sure people at KEIL can tell you more about what
> > variants there are and how they are programmed.
>
>Why would I want to do that?

I find they have credibility having been in this business for a while now.

>As you are disparaging the LPC2000 for no
>feed sequences, I would like you to provide an example commercial
>(non-automotive) ARM7 with a feed sequence that provides FLASH
>protection.

My aim is to point out problems where they exist without fear or favour.  I 
am sorry you take such a narrow view that exposition of a problem that so 
many are facing tantamount to disparaging.

> > I am not aware there is any formal standard.  My experience
> > has been with  various AMD and Intel flash memories,
> > and I do not recall a single flash memory that did not include
> > feed sequences type of protection in one way or another.
>
>That still does not answer my question.  I see you have sidestepped it
>very neatly, something you disparage others for.  So, it's industry
>standard but there is no standard?
>
>As you have not provided a standard reference, and have simply shirked
>my questions, can I claim that it the LPC2000 series is industry
>standard in not providing flash feed sequences as all other ARM7s do the
>same?

I have explained what I mean by "standards" Paul.  If you do not like it, 
please replace it with "practice" and qualify it with AFAIK.  Happy?

I do not mean to fuel hostility, but why not you tell us from your 
experience which "real" ARM cores you know other than LPC that have no 
means to defend against misbehaving code trashing the flash contents?

Thanks

Jaya 

Send instant messages to your online friends http://au.messenger.yahoo.com

RE: [lpc2000] Re: trashed 2148 bootloader

2006-02-22 by Paul Curtis

Jaya, 

> I am not if your line of questions will lead to something 
> useful, but let 
> me try to explain why what I said is relevant to the very 
> real problems 
> people are facing with boot loader.
> 
> >Message: 25
> >    Date: Wed, 22 Feb 2006 13:11:12 -0000
> >    From: "Paul Curtis" <plc@rowley.co.uk>
> >Subject: RE: Re: trashed 2148 bootloader
> >
> > > I can think of AT29x1024 and AM29x800 variants off the cuff.
> >
> >To my knowledge, those devices do not have an ARM7 in them.  
> You have,
> >therefore, not answered the question I posed.
> 
> I just checked, KEIL tools include these processor in "ARM" category.

These are not processors!  These are flash devices!  I askes about ARMs
with *integrated flash*.  The LPC2000 is no different to the SAM7 to the
ADuC70x0 to the STR7 and so on.  None of these ARM processors protect
their flash registers from inadvertent access.  Same for many other
architectures with integrated flash--like the MSP430, which I am very
familiar with.

Again, you are misunderstanding my question, deliberately or
accidentally.  This is, I think, the central issue in many of these
discussions.

--
Paul Curtis, Rowley Associates Ltd  http://www.rowley.co.uk
CrossWorks for MSP430, ARM, AVR and now MAXQ processors

RE: [lpc2000] Re: trashed 2148 bootloader

2006-02-22 by Paul Curtis

Jaya, 

> > >to program memory is worthy of being disparaged, in my opinion.
> >
> >How else do you propose they [Philips] determine the frequency in
> >order to set internal timing dependent parameters?
> >
> >Robert
>
> Making the flash timing parameters compile time constants 
> will resolve this issue quite nicely given the we know what
> the crystal frequency is and given it is fixed for any given
> design.

Are you serious?  How on earth would that ever work?  Philips have no
idea what frequency the customer will choose for a crystal, so how can
they use compile time constants in their bootloader?  This is becoming
surreal.

--
Paul Curtis, Rowley Associates Ltd  http://www.rowley.co.uk
CrossWorks for MSP430, ARM, AVR and now MAXQ processors

Re: trashed 2148 bootloader

2006-02-22 by Jayasooriah

Hi Robert,

Making the flash timing parameters compile time constants will resolve this 
issue quite nicely given the we know what the crystal frequency is and 
given it is fixed for any given design.

Jaya

>Message: 14
>    Date: Wed, 22 Feb 2006 12:40:33 -0500
>    From: Robert Adsett <subscriptions@...>
>Subject: Re: Re: bootloader
>
>At 09:30 AM 2/22/2006 -0700, Steve Franks wrote:
> > > 1/  The coding of the flash programming algorithm in the boot loader
> > > unreliable because: a) it depends on wait loops rather than polling the
> > > flash controller status register; and b) it requires clock frequency 
> to be
> > > passed as a run-time argument.
> >
> >I, for one, had origonally assumed the presence of a crystal-freq in
> >the isp app was just for setting baud-rate dividers appropriately,
> >though in hindsight, it's obvious that that's needed in the device,
> >not the pc.  This news makes one very cautious, and I don't hesitate
> >to say that a bootloader requiring a human to type in the crystal freq
> >to program memory is worthy of being disparaged, in my opinion.  Which
>
>How else do you propose they determine the frequency in order to set
>internal timing dependent parameters?
>
>Robert

Send instant messages to your online friends http://au.messenger.yahoo.com

Re: trashed 2148 bootloader

2006-02-22 by Jayasooriah

Hi Paul,

I am quite sure you had your tongue firmly in your cheeks when you asked 
"Are you serious?"

Without Philips coming to the party, I see little point in explaining how 
one can do this.

I could be tempted to if you promise you will eat your shoes if I show how :)

Jaya

Hint: Have a look at how boot loader update works.

--- In lpc2000@yahoogroups.com, "Paul Curtis" <plc@...> wrote:
 >
 > Jaya,
 >
 > > > >to program memory is worthy of being disparaged, in my opinion.
 > > >
 > > >How else do you propose they [Philips] determine the frequency in
 > > >order to set internal timing dependent parameters?
 > > >
 > > >Robert
 > >
 > > Making the flash timing parameters compile time constants
 > > will resolve this issue quite nicely given the we know what
 > > the crystal frequency is and given it is fixed for any given
 > > design.
 >
 > Are you serious?  How on earth would that ever work?  Philips have no
 > idea what frequency the customer will choose for a crystal, so how can
 > they use compile time constants in their bootloader?  This is becoming
 > surreal.
 >
 > --
 > Paul Curtis, Rowley Associates Ltd  http://www.rowley.co.uk
 > CrossWorks for MSP430, ARM, AVR and now MAXQ processors

Send instant messages to your online friends http://au.messenger.yahoo.com

Re: [lpc2000] Re: trashed 2148 bootloader

2006-02-22 by Robert Adsett

At 09:42 AM 2/23/2006 +1100, Jayasooriah wrote:
>Hi Robert,
>
>Making the flash timing parameters compile time constants will resolve this
>issue quite nicely given the we know what the crystal frequency is and
>given it is fixed for any given design.

You're missing the smiley.

Unless of course you expect Philips to either restrict the devices to a 
single crystal frequency (as Analog Devices did, but is a rather unusual 
step in my experience), make the choice of acceptable crystal speed 
something that is specified on ordering (yikes!) or maybe Philips can be 
expected to be prescient and ship micros with appropriate constants to the 
customers who need them ;)

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
http://www.aeolusdevelopment.com/

Re: [lpc2000] Re: trashed 2148 bootloader

2006-02-22 by Peter Jakacki

Jayasooriah wrote:
> I can think of AT29x1024 and AM29x800 variants off the cuff.

(Paul beat me to this reply)

AT29x1024 is a AT-29C1024 Flash memory chip.
AM29x800 is a 29F800 1M Flash memory as well.

These indeed have feed sequences but they are memory chips, not ARM CPUs.
You quote these off the cuff (as your Ace up the sleeve) in reply to a 
challenge, something smells fishy here.....

I have been monitoring this thread for hard factual information but all 
I've been hearing is lots of static. On top of that you are making 
misleading statements.

Please tell us if this is for real. Are they your own findings? Maybe 
you are gleaning off a student perhaps?, and that is why you are not 
able to give us any concrete evidence. ***Take this as a friendly taunt, 
one that you should be able to refute in a microsecond if you are 
genuine. We just want to know facts, not enter into a slinging match, 
otherwise just end this thread here and now.

Some of your information sort of sounds good, I like the idea of having 
a bootloader that doesn't include Flash programming code for the reasons 
you mentioned. Yet I use the IAP Flash programming calls from my 
application anyway, so leaving it out of the bootloader is of no benefit 
to me. Plus I have never had any problems with the Flash anyway though I 
do indeed believe students could trash anything without even trying.

Please, if you reply, just give us your hard conclusive findings and we 
can get back to a more professional level of discussion. If not, you 
should setup a new flame.philips.lpc21xx group where you can become the 
sole moderator/member. This is not a game of poker, you/we do not have 
to wait for Philips to show their hand, just show yours so WE can see 
what you've got.

FACTS Jaya!

I have just noted that Steve is tired of all the static too.

Regards,
*Peter*

dodge1955 pls read Re: trashed 2148 bootloader

2006-02-23 by philips_apps

Hello dodge1955,

Could you please send the sample code (complete project with binary)
which caused this behavior. Are you enabling the watchdog? In case of
watchdog triggered reset, P0.14 pin is ignored by the bootloader. Try
to power cycle the board holding P0.14 low.

IAP write/erase operations are not allowed on the boot sector.
The bootloader is unlikely to get erased or corrupted during IAP call
even if wrong frequency is used.

Thanks
Philips Apps


--- In lpc2000@yahoogroups.com, "dodge1955" <sutton@...> wrote:
Show quoted textHide quoted text
>
> I've apparently trashed by bootloader and am having a tough time
> getting back to where I can talk to my Keil 2140 board serially.  I've
> been playing around for a week now with sample Keil code examples
> getting familiar with how things work and connecting and uploading and
> downloading fine.  It was going very well until I got brave and
> uploaded a sample piece of my own code.  The board locked up and I
> have been unable to get it reconnected (thru the Philips Flash Utility
> program).   I get the infamous 'Cannot communicate with test board"
> message. And, P0.14 and RESET don't seem to kick it into ISP mode
> where I can make a connection.  Any help out there.  Thanks.
>

Re: trashed 2148 bootloader

2006-02-23 by Jayasooriah

Paul,

The AT91SAM7A3 very different to LPC I am afraid:

1/ The AT91SAM7A3 has memory protection while LPC has none.

2/ Flash programming is protected in AT91SAM7A3 manual while it is not in LPC:

>All the commands are protected by the same keyword, which has to be 
>written in the eight highest bits of the MC_FCR register. Writing MC_FCR 
>with data that does not contain the correct key and/or with an invalid 
>command has no effect on the memory plane...

I have not bothered checking up on your other references ... and I ask that 
you do your homework first before making ambit claims.  I have done mine.

Regards,

Jaya

>--- In lpc2000@yahoogroups.com, "Paul Curtis" <plc@...> wrote:
> > The LPC2000 is no different to the SAM7 to the
> > ADuC70x0 to the STR7 and so on.  None of these ARM processors protect
> > their flash registers from inadvertent access.  Same for many other
> > architectures with integrated flash--like the MSP430, which I am very
> > familiar with.
> >
> > Again, you are misunderstanding my question, deliberately or
> > accidentally.  This is, I think, the central issue in many of these
> > discussions.
> >
> > --
> > Paul Curtis, Rowley Associates Ltd  http://www.rowley.co.uk
> > CrossWorks for MSP430, ARM, AVR and now MAXQ processors
> >

Send instant messages to your online friends http://au.messenger.yahoo.com

RE: [lpc2000] Re: trashed 2148 bootloader

2006-02-23 by Paul Curtis

Jaya, 

> The AT91SAM7A3 very different to LPC I am afraid:
> 
> 1/ The AT91SAM7A3 has memory protection while LPC has none.

That isn't the issue under discussion.

> 2/ Flash programming is protected in AT91SAM7A3 manual while 
> it is not in LPC:

> I have not bothered checking up on your other references ... 
> and I ask that you do your homework first before making ambit
> claims.  I have done mine.

The protection offered by the SAM7S isn't safe as you suggest--the flash
programming registers are still available and can still be accessed, you
just need to get lucky and hit on an 8-bit key.  Given truly random
writes to this register, your probability of hitting the key is 1 in
256.

What *is* safe is, for instance, the MAC7100.  So safe, in fact, that
when the evaluation system was delivered to us it was fully locked down.
Unless you know the password programmed into the device, you cannot even
gain access to the flash programming registers.  At all.  Not only that,
the flash is protected so it is execute only, and you can't even READ it
if you download a program into RAM or if you're running the provided
monitor from flash.  That is secure.  However, my challenge was to find
such a system on a non-automotive ARM7 part.

--
Paul Curtis, Rowley Associates Ltd  http://www.rowley.co.uk
CrossWorks for MSP430, ARM, AVR and now MAXQ processors
Show quoted textHide quoted text
> 
> Regards,
> 
> Jaya
> 
> >--- In lpc2000@yahoogroups.com, "Paul Curtis" <plc@...> wrote:
> > > The LPC2000 is no different to the SAM7 to the
> > > ADuC70x0 to the STR7 and so on.  None of these ARM 
> processors protect
> > > their flash registers from inadvertent access.  Same for 
> many other
> > > architectures with integrated flash--like the MSP430, 
> which I am very
> > > familiar with.
> > >
> > > Again, you are misunderstanding my question, deliberately or
> > > accidentally.  This is, I think, the central issue in 
> many of these
> > > discussions.
> > >
> > > --
> > > Paul Curtis, Rowley Associates Ltd  http://www.rowley.co.uk
> > > CrossWorks for MSP430, ARM, AVR and now MAXQ processors
> > >
> 
> Send instant messages to your online friends 
> http://au.messenger.yahoo.com 
> 
> 
>  
> Yahoo! Groups Links
> 
> 
> 
>  
> 
> 
> 
>

RE: [lpc2000] Re: trashed 2148 bootloader

2006-02-23 by Bruce Paterson

> Some of your information sort of sounds good, I like the idea 
> of having a bootloader that doesn't include Flash programming 
> code for the reasons you mentioned. Yet I use the IAP Flash 
> programming calls from my application anyway, so leaving it 
> out of the bootloader is of no benefit to me. 

I must admit to being confused by this one. I would have thought for
serial upgrading to work, Philips has to include flash routines
somewhere (bootloader?) on the chip. For certain any field upgrades we
do are via serial port, not via Jtag. I might be wrong but the loading
to ram of dedicated Flash routines only works for Jtag upgrades ?
Also, one of the reasons Robert gave for not wishing people to write
their own bootloaders was to handle flash specifics in the bootloader.
If the bootloader doesn't have the flash routines, then this benefit is
probably lost. I guess the upgrade program could still "hide" these
specifics and be upgraded every time the flash technology changes, but
having the algorithms with the chip is a much neater way to handle this.

Maybe you could have pseudo code specifics in the bootloader that a RAM
program interprets, but this is starting to get messy. Much prefer a
chip that can upgrade itself !

Cheers,
Bruce

PS: Trying to keep this on a technical level only !

Re: trashed 2148 bootloader

2006-02-23 by jayasooriah

--- In lpc2000@yahoogroups.com, "Bruce Paterson" <bruce.paterson@...>
wrote:
> I might be wrong but the loading
> to ram of dedicated Flash routines only works for Jtag upgrades ?

Whether you use JTAG or ISP, all programming of the on-chip flash is
normally via IAP calls encapsulated in the boot loader.

The boot loader update from Philups included flash programing code
because the update itself was to fix problems with the old algorithm
and/or parameters.

Hope this clears up the confusion.

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.