RM0400
If CAN message not containing 8 bytes or NOT with ID 11h is received by M_CAN controller
or a M_CAN controller generates a CAN error, it is probable that the tool is sending a
LINFlexD frame. Under such circumstances BAF program
•
Ignores the CAN message, if a message arrived.
•
Clear any pending CAN error
•
Continue monitoring for valid CAN messages.
If any byte from LINFlexD is received first, the BAF program:
•
Checks if the first byte is FEh of the password. If not continue polling. The data may be
a valid CAN message.
•
If it is first byte of the password (FEh) then disable the M_CAN controller and restore to
its reset state.
•
Configures the M_CAN pads to their reset state.
•
Transition to LINFlexD serial boot (UART mode).
52.2.5.1
Serial boot mode protocol
From a high-level perspective, the download protocol over CAN and LIN interfaces follows
steps below:
1.
Host transmits the 64-bit password to MCU.
2.
Host transmits start address, size of downloaded code in bytes, NO_ECHO bit and
VLE bit to MCU.
3.
Host transmits a sequence of data bytes that are to be executed.
4.
CPU executes code from start address provided in step 2.
Each step must be complete before the next step starts.
The exact protocol between LINFlexD andMCAN are slightly different.
NO_ECHO bit is used to select if the actual download data are to be echoed or not. If
NO_ECHO bit is set, then the data will not be echoed otherwise if NO_ECHO bit is clear
then the data will be echoed.
52.2.5.2
LINFlexD download protocol
The communication is performed in half-duplex mode, any transmission from the host is
followed by the MCU transmission.
1.
The host sends data to the MCU and starts waiting.
2.
The MCU echoes the received 8-byte of password, 4-byte of load address and 4-byte
of VLE-bit, NO_ECHO bit and 30-bit of download size to the host. The MCU echoes
actual download data depending upon NO_ECHO bit.
3.
The host verifies whether the echo is correct.
–
–
A more detailed description of these steps follows.
All multi-byte data structures are sent with MSB first.
The tool sends data in the following order:
If the data is correct, the host can send the next byte of data.
If data is not correct, it is assumed the MCU has not correctly received the data
and the only practical option is for the Host to reset the MCU and start again.
DocID027809 Rev 4
Boot Assist Flash (BAF)
1553/2058
1559
Need help?
Do you have a question about the SPC572L series and is the answer not in the manual?