BREAKPOINTS IN MASKED MICROCONTROLLERS TO FIX LATENT SOFIWARE DEFECTS
Original Publication Date: 1995-Nov-01
Included in the Prior Art Database: 2002-Apr-01
When software for microcontroller is masked i.e. included as part ofthe manufacture ofthe microcon- troller it cannot be changed. If the software con- tains any defects then the mask has to be changed at considerable cost in terms of the new mask and of throwing away existing parts.
MOlVROLA Technical Developments
BREAKPOINTS IN MASKED MICROCONTR$LLERS
TO FIX LATENT SOFIWARE DEFECTS
by Michael Anthony Wilkinson 1 PROBLEMS SOLVED 2 DESCRIPTION
When software for microcontroller is masked i.e. Microcontrollers typically have a combination included as part ofthe manufacture ofthe microcon- of permanent and variable memory. The computer troller it cannot be changed. If the software con- program will execute from the permanent memory tains any defects then the mask has to be changed and access data in the variable memory. This inven- at considerable cost in terms of the new mask and of tion allows a section ofprogram in the variable mem- throwing away existing parts. ory to replace or add to the program in the perma- nent memory.
Use of this invention allows a fixed number of sofiware defects in the permanent or masked pro- A comparator is used to determine if the pro- gram to be by-passed and replaced with a variable gram has reached a particular address. When a match replacement section of program. This replacement occurs the processor's normal operation is interrupted. section could either fix a defect in the permanent Program execution will then continue from an program or provide an enhancement, or customisa- address within the variable memory
tion of the permanent program.
PERMANENT VARIABLE PROGRAM MEYORY PROGRAM hIEMORY
2.1 SEQUENCE OF OPERATIONS
As part of the permanent program's initialization The computer program in permanent memory sequence, it validates the section of program stored downloads the variable program and its start address in the variable memory (using a checksum or simi- into the variable memory from some external source. lar). Aher validation ofthe variable memory, the per- If EEPROM or similar were to be used for the varia- manent program takes t,he address of the software ble memory this download would only need to take defect from the variable8memory and stores it in a place on a one-off basis. register as shown above.
2 November 1995
MOlVROLA Technical Developments
The permanent program then continues execut- ing normally until an address comparator matches the current program address with the address stored in the register associated with the comparator, Pro- gram execution is then interrupted. The interrupt is then handled in the same way as a conventional interrupt, with program execution continuing at an address determined by an interrupt vector. This vec- tor should be set up to point to the start ofthe varia- ble program sequence. Handling of the interrupt is beyond the scope ofthis invention.
When the replacement program has completed it jumps back to the permanent program beyond the defective program...