Yahoo Groups archive

Lpc2000

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

Message

A newbie asks before buying

2005-02-13 by penaso_maria

After reading many posts in the forum, I would like to ask you a 
couple of questions that would help me and I think others too.

My goal:
*Upgrade the LPC2124 firmware after selling the device. I think this 
is called in field.
*Have any kind of security with respect to the file I will send to 
my clients in order to protect my code (encryption?).

The possibilities I imagine are:

1) I use the Philips LPC2000 Flash utility, or the lpc21isp program 
to load the new firmware.
Questions:
1-a) Isn't it unsafe from the code protection point of view? I think 
the file I send to the client can be converted back to code and 
someone else could use it for his/her benefit.


2) I could divide my code in two parts, one that would never be 
cleared, and the other with the part to upgrade in the future. The 
first part could have an algorithm to open and understand the 
encrypted firmware upgrade file. 
The procedure could be: The upgradeable part could include a code to 
let the user ask for a firmware upgrade. Upon this event, this code 
transfers the control of the processor to the fixed part, which 
starts the firmware upgrade process. Once finished, the fixed part 
jumps to the start of the new firmware memory block, and the "NEW" 
equipment would be ready to work.
Questions:
2-a) Is it possible to generate a code that stores part of the 
program starting on a specific memory address? How is that done? I 
though in writing the new code starting in a fixed address, but I 
need all the new code continuous in memory to write it properly and 
in empty locations.
2-b) Can I clear part of the flash memory by Bytes, blocks, etc?
How do you perform it?
2-b) How could the former procedure be done? I think the user could 
start the firmware upgrade process, and the LPC2124 could read the 
new code from a flash card or serially. What would be easier and 
safer?
2-c) Can I disable the debugging interface to avoid someone reading 
my first part of code? I understood that when the JTAG is disabled 
no one can reads the memory with "normal" approaches.



3) I code my own boot-loader with unencryption capabilities.
Questions:
3-a) Any idea on this topic? I have no idea about it, but I read it 
is a good solution. 
Is there any sample program, AN, paper, etc, to help me here?

I wait anxiously for replies.

Maria

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.