
C161U
Bootstrap Loader
Data Sheet
356
2001-04-19
The BSL mechanism may be used for standard system startup as well as only for special
occasions like system maintenance (firmware update) or end-of-line programming or
testing.
Entering the Bootstrap Loader
C161U enters BSL mode if pin P0L.4 is sampled low at the end of a hardware reset. In
this case the built-in bootstrap loader is activated independent of the selected bus mode.
After entering BSL mode and the respective initialization the C161U scans the RXD0 line
to receive a zero byte, ie. one start bit, eight ‘0’ data bits and one stop bit. From the
duration of this zero byte it calculates the corresponding baudrate factor with respect to
the current CPU clock, initializes the serial interface ASC accordingly and switches pin
TxD0 to output. Using this baudrate, an identification byte is returned to the host that
provides the loaded data.
This identification byte identifies the device to be booted. The following codes are
defined for Infineon Technologies microcontrollers:
55
H
:
8xC166.
A5
H
:
Previous versions of the C167 (obsolete).
B5
H
:
C165.
C5
H
:
C167 derivatives.
D5
H
:
C161U (and all other devices equipped with identification registers).
Note:
The identification byte D5
H
does not directly identify a specific derivative. This
information can in this case be obtained from the identification registers.
When the C161U has entered BSL mode, the following configuration is automatically set
(values that deviate from the normal reset values, are
marked
):
Watchdog Timer:
Disabled
Register SYSCON:
Context Pointer CP:
FA00
H
Register STKUN:
Stack Pointer SP:
FA40
H
Register STKOV:
Register S0CON:
8011
H
Register BUSCON0: acc. to startup config.
Register S0BG:
acc. to ‘00’ byte
P3.10 / TXD0:
DP3.10:
Other than after a normal reset the watchdog timer is disabled, so the bootstrap loading
sequence is not time limited. Pin TXD0 is configured as output, so the C161U can return
the identification byte.
The hardware that activates the BSL during reset may be a simple pull-down resistor on
P0L.4 for systems that use this feature upon every hardware reset. You may want to use
a switchable solution (via jumper or an external signal) for systems that only temporarily
use the bootstrap loader.
0E00
H
FA40
H
FA0C
H
0<->C
‘
1
’
‘
1
’