Announcement: Replacement for the Philips LPC flash utility

Hi,

I am in the process of writing a replacement for the Philips LPC2000

Flash Utility.

Being a Python fan I’m naturally writing it in Python. Hopefully the

upside of this will be complete portability.

A version of this is now ready, at least in an alpha form. I’m

getting ready to put it on Sourceforge as a release, but want to do

a bit more testing first. It is still a bit clunky, and many of the

features it really should have are incomplete, but is anybody up for

giving it a go?

Distribution:

Python 2.5 script + some assembly language as an Eclipse project

using GCC (the latter is not required unless you want to change the

functionality big time)

Platform:

Anything that will run Python+pySerial and has a spare RS232 serial

port. Although I have only tested it on WindowsXP, it should

certainly work on Cygwin, Linux and Macintosh as well.

It should work with virtual serial ports as well.

Dependencies - Runtime (script form):

Python > 2.4

pySerial

wxPython (for the UI, later)

Dependencies - Runtime (Win32 .EXE form)

none

Dependencies - Build:

Runtime+

Eclipse + WinARM (or any other GNU toolchain, but you will have to

work it out yourself)

py2exe if you want to make a Win32 .exe distribution

Done:

Boot into ISP mode

Load data into internal RAM

Read/Write internal memory

Program external flash (AMD 29LVxxx)

Configure external bus

Reboot with or without ISP

TODO:

Speed it up - currently relies on timeouts too much

Read/Write memory that is outside of the chip

Load data into external RAM

Individual sector erase

Program/erase internal Flash

Internal and external Flash sector protection

Handle differences between LPC family members

User interfaces (GUI and command line)

Support other arrangements and types of external flash

Lots and lots of testing

MSWindows runtime & installer - probably when the UI is done

I am also thinking of some integration with OpenOCD???

Wow, what a huge response!! :roll:

Oh, well never mind I had to write it anyway.

The first release is available [here

Please give feedback, good or bad.](pyLPCTools download | SourceForge.net)

Hi,

Just my two cents :smiley: : Don’t forget that there are many guys like me: better with solder iron than with PC software:

  • We like to use simple .exe files wich don’t need multiple additional software pre-installed. :x

  • We prefer complete packages with installer. :lol:

  • In the lab, we often use old PCs without huge ram or processor speed. :cry:

Angelo

Running pyLPCTools, even in its current, very alpha form is really very,very easy. If you can handle DOS, then it really is a walk in the park, just read the instructions.

As the documentation explains, the Windows .exe is on its way, but you can’t put the cart before the horse. I could have shipped one with 0.2, but its functionality would have been too limited to be of much use. I use one here for my own target that contains exactly five lines of Python code, just to download my target with one click.

As the documentation also explains, the installer (at least for windows) is also on its way, though the .exe will not really require it. It seems people get a nice, warm feeling if a program has an installer, so I will provide one some time.

I can’t say and have not tested what processor requirements pyLPCTools will have in different environments (there are too many combinations to even begin), but not much I expect. It is only sending serial data. I just threw out several old 133MHz motherboards, perhaps I should have tried it on them?

Python and hence pyLPCTools WILL work in DOS even without MSWindows, so you WILL be able to use an old machine - does anybody still use DOS? However, I don’t think there is a py2exe for DOS, so I don’t think you can’t have a stand alone .exe/.com that will run in DOS, so you will have to use the PythonD command instead of clicking the .py file in windows, but that is no different to typing pkzip…

Hell, it should even work on a PDA!!

I wonder if I could port Python to my LPC, then I could use an LPC device to program another LPC device… I know there is a Python interpreter that runs on a PXA250.

pyLPCTools is being developed for a production line environment, where a single PC may have numerous serial interfaces and several instances of pyLPCTools working in parallel - I don’t think any exisitng tool does that as well either, certainly not with a central interface.

Obviously, I’ve not tried it yet, but even the GUI front end should work in DOS as aparently wxWidgets works (using OpenGL)

The whole idea of pyLPCTools is portability, there is no single tool that works on as many different computer systems as this.

Regard,

Jason.