User Manual
295
Rev. 1.1
2019-03-18
TLE984xQX
Microcontroller with LIN and Power Switches for Automotive Applications
Memory Control Unit
• Data reading instructions executed from
• Data reading instructions executed from the BootROM can target itself, NVM or RAM
• Data reading access issued by the debugger can target NVM or RAM
In addition, to avoid an indirect leak of information by hacking through the debugger, breakpoints set and
step through features are disabled on the BootROM. In case debugger issues such a command, the command
is suspended till the moment in which the code execution leaves the read protected region (BootROM). More
information about protection against debugger activity can be found in
11.6.2.2 NVM Protection Modes
the NVM address space is divided into the three supported NVM regions: Customer BSL, Linearly mapped, Non-
Linearly mapped region.
The Customer BSL region is supposed to be used for special user code that might not be changed over device
life time. Since this region is anyhow meant to host user executable code, the region is linearly mapped even
if, to distinguish it from standard user code region, it is named “Customer BSL”.
The Linearly mapped region is supposed to be used for user standard application code while the Non-Linearly
mapped region is meant to be used for data storage even if code execution is not prevented.
The protection on each of the region is individually controlled by the setting of the NVM_PROT_STS register
bits.Further details regarding the NVM region protection enable/disable are described in the
Application hint regarding read-protection:
The customer-BSL region can also be used as "normal" user code area. In that case, special care must be taken
regarding protection:
If all regions are read-protected, data reads between CBSL-Region (0..4K) and User code region (above 4K)
would be blocked. This is possible to avoid with certain compiler settings (defining different regions), but
somehow painful.
An easier approach is the following:
Set the read protection only on the Data Flash. Read protection on one segment is enough to block SWD
connection and BSL download/upload functions completely. This is usually the main purpose of read
protection. Code execution and Data Access between the User Code segments possible. In order to access
Data Flash during runtime, read protection does not have to be removed, read from other segments is always
possible.
11.6.2.2.1
Customer BSL Region Protection Mode
The Customer BSL Region protection can be controlled via proper dedicated Password as described in the
When its write protection is enabled, any operation capable to change the NVM values stored in this region is
blocked. For example, neither a program nor an erase can be executed.
In case the memory protection unit (MPU) and NVM control logic detect that the target address belongs to this
region and that write protection is set, a proper alarm signal is forwarded to the NVM module to prevent the
NVM state machine from accepting any program or erase command (including fast invalidation). This prevents
inadvertent destruction of stored data when protection is set.
When Customer BSL region read protection is enabled, the following accesses are restricted: