Firmware User Manual (AE-step)
50
Revision 1.02
2019-04-24
TLE984x Firmware User Manual
4.4.5
Command 86
H
– NVM: Execute
Firmware triggers execution of a NVM user program by the Host via command 86
H
. This code could be
previously downloaded by the BSL
Command 05H – NVM: Write Data/Program
.
The host initiates the NVM code execution by sending the header block message. This messages contains the
NVM address offset where to jump for code execution.
This command does not check if any valid code is placed in NVM before jumping to the given code location.
The watchdog timer got disabled when entering the BSL communication and stays disabled when jumping to
NVM.
Before jumping to NVM the following steps are done:
The BootROM configures the stack pointer to 1800.0400
H
. It is recommended that the NVM code adapts the
stack pointer on demand. The System clock is switched to PLL, interrupts are cleared, the GPT12E timer is
cleared, the SCU_VTOR.VTOR register is set to NVM (SCU.VTOR.VTOR_BYP = 10b).
It is not allowed for the NVM code to make a return call. ARM LR register has been set to zero when jumping to
NVM. If BSL should be re-entered a system reset must be performed.
This command does not support any Slave Response Header. It performs the NVM code execution right after
receiving the header block.
Command is rejected if there is NVM HW read protection applied to any NVM region. Details about the NVM
access protection are given in
Command 89H – NVM: Protection Set / Clear
.
Header Block
Returned error codes
The message can return the following error codes:
- ERR_LOG_CODE_NVM_IS_READ_PROTECTED
- ERR_LOG_CODE_NVM_ADDR_RANGE_INVALID
- ERR_LOG_CODE_NVM_RAM_EXEC_PARAMS_INVALID
Table 4-18 “Command 86
H
– NVM: Execute” Header Block Field Description
Field
Description
Length
Number of following bytes in the header block. Always set to 04
H
Message Type
NVM execute command. Always set to 86
H
Address Byte #0 (MSB) 24-bit NVM address offset where to jump for code execution.
The offset starts counting from the NVM start address 1100.0000
H
Address Byte #1
Address Byte #2 (LSB)
BSL20_MODE04_HEADER
.
0
1
2
3
4
Length
Message
Type
Address
Byte #0
(MSB)
Address
Byte #1
Address
Byte #2
(LSB)