Joe Lee Computing

home page event results index ESAA website

Embedded Systems

Joe Lee's long experience contracting to many major enterprises gives him the versatility to very quickly assimilate client's urgent requirements and immediately get working on them.

Joe's software can now be found in a number of industrial and consumer products with World-wide markets.

One such project was brought on by the USA deciding to change the design of all their dollar notes, with the result that every one of the millions of cash counting machines in use required upgrading.

These machines don't just count notes, they need to verify that each note is genuine by recognising each side of each note, no matter which way up or around they are. One very specific requirement was that the existing high speed of over 1400 per minute had to be retained, despite the much more complex note identification algorithms which were required.

Joe's expertise at compressing assembler code to fit the available space was called upon, with the result that over 24K of new code was squeezed into the only 16K available! All the time, the existing DSP and image processing code was preserved to run at full speed.

Another interesting but very frustrating project resulted in Joe being contracted to try to stop code-bloat which was rapidly overtaking a new embedded metering system.

During the course of this work, apart from finding tens of bugs per day, Joe identified a critical HCF instruction in the firmware.

HCF is a well-known assembler instruction (well...known to assembly software engineers) which implements the undesired sequence 'Halt and Catch Fire'. This was caused by a particular sequence of embedded code which, when a software fault was detected, caused multiple chips to switch into write-mode on the same data bus at the same time, inevitably resulting in a current overload with the potential to burn out the circuit board traces.

Unfortunately for the enterprise concerned, the offending code had already been blown into many thousands of write-once CPUs.



embedded systems

data logging

process control

consumer electronics

sports results

event administration

online entry system