herunterladen

1 Introduction
A traditional method of providing in-circuit programming of
an Electronic Control Module (ECM) is based on the
Universal Asynchronous Receiver / Transmitter (UART), or
an MCU-specific interface. Using this approach requires
dedicated hardware on each ECM.
The benefits of utilizing Controller Area Network (CAN) as
an in-circuit programming method can be easily understood.
For systems already using CAN connections, no additional
hardware is required, and connection to any node allows
communication to all other nodes via CAN. This concept
offers benefits throughout the product life span, from the
development phase through to in-field upgrades, servicing,
and diagnostic capabilities. During development and testing,
any module connected to the network can be reprogrammed
in-circuit, saving time and effort as well as minimizing the
dependencies between product assembly and software
development. In-field system upgrades, servicing, and
diagnostic reports can be easily achieved using CAN.
For a system that has nodes with identical firmware, it can be
more efficient to upgrade these nodes in a single pass like in
gang-programmer fashion. But when the system has unique
nodes with different firmware, just a single connection to
program the device is considered. In an active network, it is
recommended to shut down all other nodes in order to avoid
priority issues with these nodes or low-programming
performance.
Freescale Semiconductor
Document Number: AN4511
Application Note
Rev. 0, 4/2012
CAN Bootloader in the MCF51JM
by:
Xu Weiping and Alejandro Lozano
Automotive and Industrial Solutions Group
© 2012 Freescale Semiconductor, Inc.
Contents
1 Introduction................................................................1
2 Functional description...............................................2
2.1 Functional description of target......................3
2.2 Functional description of USB-to-
CAN bridge....................................................6
2.3 File image parser............................................9
2.4 Flash protection and vector
redirection......................................................9
2.5 Memory map..................................................9
3 Developing new applications with CAN
bootloader support..................................................10
3.1 Modifying the LCF......................................10
4 Using the bootloader...............................................11
5 Conclusions.............................................................16