Embedded NVM (eNVM) Controllers
UG0331 User Guide Revision 15.0 174
The following table lists the available APIs for eNVM in the eNVM firmware drivers
5.5 SYSREG Control Registers
The System Control registers control eNVM behavior. These registers are located in the SYSREG
section and are listed here for clarity. Refer to the System Register Block, page 670 for more information
on each register and bit.
Table 102 • Available APIs for eNVM
API Description
NVM_unlock Unlock the eNVM Block
NVM_write The function NVM_write() is used to program data in to the eNVM. This function treats the
two eNVM blocks contiguously, hence 512 KB of memory can be accessed linearly. The
starting address and ending address of the memory to be written need not be page
aligned. This function supports programming data that spawns across multiple pages, and
does not support writing or programming eNVM without input data. This function is a
blocking function.
The NVM_write() function performs a verify operation on each page programmed to
ensure the NVM is programmed with the expected content.
Table 103 • SYSREG Control Registers
Register Name
Register
Type
Flash Write
Protect
Reset
Source Description
ENVM_CR (0x4003800C) RW-P Register sysreset_n eNVM Configuration register.
ENVM_REMAP_BASE_CR
(0x40038010)
RW-P Register sysreset_n eNVM remap Configuration register for the
Cortex-M3 processor.
ENVM_REMAP_FAB_CR
(0x40038014)
RW-P Register sysreset_n eNVM remap configuration register for a soft
processor in the FPGA.
ENVM_PROTECT_USER
(0x40038144)
RO-U N/A sysreset_n Configuration for accessibility of protected
regions of eNVM_0 and eNVM_1 by different
masters on the AHB bus matrix. This register
gets updated by flash bit configuration set during
device programming. This configuration can be
done through the System Builder using settings
on the Security tab.
ENVM_STATUS
(0x40038148)
RO-U N/A sysreset_n Code shadow Status register.
ENVM_SR
(0x40038158)
RO N/A sysreset_n Indicates busy status for eNVM_0, eNVM_1.