
NUC126
Aug. 08, 2018
Page
213
of 943
Rev 1.03
NUC12
6 S
E
RI
E
S
T
E
CH
NI
CA
L R
E
F
E
RE
NCE
MA
NUA
L
Security Protection Memory (SPROM)
The security protection memory (SPROM) is a special flash memory area for security applications. It
supports independent lock machnism which is different to sercurity function of LOCK (CONFIG0[1]). In
other words, user can lock SPROM without lock whole flash memory. This make it is possible for user
to only protect their security key or key function in SPROM without lock all flash memory. Therefore,
end customer still can develop or modify the application in APROM or LDROM when SPROM is
locked.
The SPROM size is 2 Kbytes and its base address is
0x20_0000. SPROM is only erased by “page
erase command” with a key data, 0x0055AA03, in ISPDAT. The mess erase command cannot be
used to erase SPROM. The last byte of SPROM (address: 0x0020_07FF) is used to control the
SPROM code is secured or non-secured as show in Figure 6.4-3. SPROM supports three mode, they
are non-security mode, debug mode and secrity mode. All of them are controlled by last byte of
SPROM.
0x0000_0000
0x0010_0000
0x0010_0FFF
0x0020_0000
0x0020_07FF
0x0003_FFFF
0x0030_0000
0x0030_0004
0x0020_07FF
0x0020_0000
SPROM Security Mode
SPROM Debug Mode
SPROM Non-security Mode
Reserved
User Configuration
(8 Bytes)
Reserved
Security Protection
ROM
(SPROM 2KB)
Reserved
Loader ROM
(LDROM 4KB)
Reserved
Application ROM
(APROM 128KB/
256KB)
Security
Protection ROM
(SPROM 2KB)
0xFF
Security
Protection ROM
(SPROM 2KB)
0xAA
Security
Protection ROM
(SPROM 2KB)
Others
Figure 6.4-3 SPROM Security Mode
Non-secured Mode
SPROM is in non-secured mode when last byte of SPROM is 0xFF. In other words,
SPROM will enter non-secured mode whenever SPROM been erased. In this mode, user
can read, program and erase SPROM without any limitation.
Debug Mode
If user write 0xAA to last byte of SPROM and reboot, SPROM will be in debug mode. All
SPROM behavior in debug mode is the same as secured mode except user can step into
SPROM or set breakpoint in SPROM by ICE. This is helpful for user to debug the code in
SPROM.
Secured Mode
To lock SPROM for protecting the code in SRPOM, user must write a bytes which is not
0xFF or 0xAA to last bytes of SPROM, e.g. 0x0, 0x1, 0x3a…. , then reboot system to let
secured mode take effect. Once in secured mode, all data read by CPU or ICE will be