A mechanism is provided for non-disruptive replacing of a first software
module with a second software module in an embedded system. The mechanism
includes copying update control code from the first software module to
memory space outside a memory location of the first software module, and
then replacing the first software module with a second software module by
storing the second software module in memory at a location which at least
partially overlies the first software module. The replacing includes
executing the update control code copied from the first software module
during the replacing. Upon completing storing of the second software
module, execution of the second software module is begun without
resetting the system.