The bootstrap loader UM0404
302/564 DocID13284 Rev 2
15 The bootstrap loader
ST10F276 implements innovative Boot capabilities in order to:
• Support a user defined bootstrap (see ‘Alternate Bootstrap Loader’);
• Support bootstrap via UART or bootstrap via CAN for the standard bootstrap.
15.1 Selection among user-code, standard or alternate bootstrap
The selection among user-code, standard bootstrap or alternate bootstrap is made by
special combinations on Port0L[5...4] during the time the reset configuration is latched from
Port0.
The alternate boot mode is triggered with a special combination set on Port0L[5...4]. Those
signals, as other configuration signals are latched on the rising edge of RSTIN
pin.
The alternate boot function is divided in two functional parts (which are independent from
each other):
Part 1: Selection of reset sequence according to the Port0 configuration, the User Mode and
the Alternate Mode signatures
• Decoding of reset configuration (P0L.5 = 1, P0L.4 = 1) will select the normal mode and
select the user Flash to be mapped from address 00’0000h.
• Decoding of reset configuration (P0L.5 = 1, P0L.4 = 0) will select ST10 standard
bootstrap mode (Test-Flash is active and overlaps user Flash for code fetches from
address 00'0000h; user Flash is active and available for read and program).
• Decoding of reset configuration (P0L.5 = 0, P0L.4 = 1) will activate new verifications to
select which bootstrap software to execute:
• if the User mode signature in the User Flash is programmed correctly, then a software
reset sequence is selected and the User code is executed;
• if the User mode signature is not programmed correctly but the Alternate mode
signature in the User Flash is programmed correctly, then the Alternate Boot Mode is
selected;
• if both the User and the Alternate mode signatures are not programmed correctly in the
user Flash, then the User key location is read again. Its value will determine the
behavior of the Selective Bootstrap Loader.
Part 2: Running of user selected reset sequence
• Standard Bootstrap Loader
: jump to a predefined memory location in Test-Flash
(controlled by ST)
• Alternate Boot Mode
: jump to address 09’0000h
• Selective Bootstrap Loader:
jump to a predefined location in Test-Flash (controlled by
ST) and check which communication channel is selected
• User code
: make a software reset and jump to 00’0000h