RM0400
The length determines how many data bytes has to be loaded.
Bytes 0-3
31
30
0
1
15
14
16
17
Figure 924. Start address, VLE bit, NO_ECHO bit and download size in bytes
Bytes 4-7
31
30
0
1
NO_
VLE
ECH
O
15
14
16
17
Figure 925. Start address, VLE bit, NO_ECHO bit and download size in bytes
52.2.5.6
Download data
Each byte of data received is downloaded into device SRAM starting from the address
specified in the previous protocol step. It is not verified whether the provided address is a
valid address in SRAM or is writable.
The address increments until a number of bytes of data received matches the code length
specified in the previous protocol step.
Since the SRAM is protected by 64-bit wide Error Correction Code (ECC), BAF always
writes to SRAM grouped in 64-bit double-words. If the last byte does not fall into a 64-Bit
bounder, the BAF fills it with zero's and renders the data aligned on a 64-bit bounder. After
the last data is written to SRAM, the BAF writes a dummy double-word
(0000_0000_0000_0000h) to the next address location. This is written to avoid possible
ECC error during core prefetch.
52.2.5.7
Execute code
The BAF program waits for the last echo message transmission to be completed. Then it
restores the initial MCU configuration and jumps to the loaded code at Start Address which
was received in step 2 of the protocol. At this point the BAF has finished its tasks and the
MCU is controlled by new code executing from SRAM.
29
28
27
26
2
3
4
5
13
12
11
10
18
19
20
21
29
28
27
26
2
3
4
5
13
12
11
10
18
19
20
21
DocID027809 Rev 4
25
24
23
22
6
7
8
9
START_ADDRESS[31:16]
9
8
7
6
22
23
24
25
START_ADDRESS[15:0]
25
24
23
22
6
7
8
9
CODE_LENGTH[29:16]
CODE_LENGTH[30:16]
9
8
7
6
22
23
24
25
CODE_LENGTH[15:0]
Boot Assist Flash (BAF)
21
20
19
18
10
11
12
13
5
4
3
2
26
27
28
29
21
20
19
18
10
11
12
13
5
4
3
2
26
27
28
29
17
16
14
15
1
0
30
31
17
16
14
15
1
0
30
31
1555/2058
1559
Need help?
Do you have a question about the SPC572L series and is the answer not in the manual?
Questions and answers