
DocID13284 Rev 2
313/564
UM0404
The bootstrap loader
Higher baudrates
, however, may be used as long as the actual deviation does not exceed
the limit. A certain baudrate (marked I) in
may for example, violate the deviation
limit, while an even higher baudrate (marked II) in
stays very well below it. This
depends on the host interface.
15.4
Standard bootstrap with CAN
15.4.1 Features
The bootstrap via CAN has the same overall behavior as the bootstrap via UART:
•
Same bootstrapping steps;
•
Same bootstrap method: analyze the timing of a predefined frame, send back an
acknowledge frame
BUT only on request
, load a fixed number of bytes and run then;
•
Same functionalities: boot with different crystals and PLL ratios.
Figure 130. CAN bootstrap loader sequence
The Bootstrap Loader may be used to load the complete application software into ROM-less
systems, it may load temporary software into complete systems for testing or calibration, it
may also be used to load a programming routine for Flash devices.
The BSL mechanism may be used for standard system start-up as well as only for special
occasions like system maintenance (firmware update) or end-of-line programming or
testing.
RSTIN
CAN1_TxD
Int. Boot ROM / Test-Flash BSL-routine
128bytes
2)
3)
CAN1_RxD
CSP:IP
user software
4)
6)
P0L.4
1) BSL initialization time, > 1ms @ fCPU = 40 MHz.
2) Zero frame (CAN message: standard ID = 0, DLC = 0), sent by host.
3) CAN message (standard ID = E6h, DLC = 3, Data0 = D5h,
Data1-Data2 = IDCHIP_low-high), sent by ST10F276 on request
4) 128bytes of code / data, sent by host.
5) Caution: CAN1_TxD is only driven a certain time after
reception of the zero byte (1.3ms @ f
CPU
= 40 MHz).
6) Internal Boot ROM / Test-Flash.
1)
5)