ATSAML10E16A NVMCTRL registers

The 18 registers of NVMCTRL (Non-Volatile Memory Controller), from 0x41004000, with their reset value and every field. The ATSAML10E16A has 962 registers in 39 peripherals, one page each.

NVMCTRL Non-Volatile Memory Controller

CTRLAControl A

Address
0x41004000
Reset
0x0000
Access
write only
Size
16-bit
2 fields
FieldBitsWhat it does
CMDEX15:8Command Execution
  • 165 Execution Key
CMD6:0Command
  • 2 Erase Row - Erases the row addressed by the ADDR register.
  • 4 Write Page - Writes the contents of the page buffer to the page addressed by the ADDR register.
  • 66 Sets the power reduction mode.
  • 67 Clears the power reduction mode.
  • 68 Page Buffer Clear - Clears the page buffer.
  • 70 Invalidate all cache lines.
  • 75 Set DAL=0

CTRLBControl B

Address
0x41004004
Reset
0x00000000
Access
read/write
Size
32-bit
5 fields
FieldBitsWhat it does
CACHEDIS18Cache Disable
READMODE17:16NVMCTRL Read Mode
  • 0 The NVM Controller (cache system) does not insert wait states on a cache miss. Gives the best system performance.
  • 1 Reduces power consumption of the cache system, but inserts a wait state each time there is a cache miss. This mode may not be relevant if CPU performance is required, as the application will be stalled and may lead to increase run time.
  • 2 The cache system ensures that a cache hit or miss takes the same amount of time, determined by the number of programmed flash wait states. This mode can be used for real-time applications that require deterministic execution timings.
FWUP11fast wake-up
SLEEPPRM9:8Power Reduction Mode during Sleep
  • 0 NVM block enters low-power mode when entering sleep.NVM block exits low-power mode upon first access.
  • 1 NVM block enters low-power mode when entering sleep.NVM block exits low-power mode when exiting sleep.
  • 3 Auto power reduction disabled.
RWS4:1NVM Read Wait States

CTRLCControl C

Address
0x41004008
Reset
0x01
Access
read/write
  1. 7–
  2. 6–
  3. 5–
  4. 4–
  5. 3–
  6. 2–
  7. 1–
  8. 0MANW
1 field
FieldBitsWhat it does
MANW0Manual Write

EVCTRLEvent Control

Address
0x4100400A
Reset
0x00
Access
read/write
  1. 7–
  2. 6–
  3. 5–
  4. 4–
  5. 3–
  6. 2–
  7. 1AUTOWINV
  8. 0AUTOWEI
2 fields
FieldBitsWhat it does
AUTOWINV1Auto Write Event Polarity Inverted
AUTOWEI0Auto Write Event Enable

INTENCLRInterrupt Enable Clear

Address
0x4100400C
Reset
0x00
Access
read/write
  1. 7–
  2. 6–
  3. 5NSCHK
  4. 4KEYE
  5. 3NVME
  6. 2LOCKE
  7. 1PROGE
  8. 0DONE
6 fields
FieldBitsWhat it does
NSCHK5NS configuration change detected Interrupt Clear
KEYE4Key Write Error Interrupt Clear
NVME3NVM Error Interrupt Clear
LOCKE2Lock Error Status Interrupt Clear
PROGE1Programming Error Status Interrupt Clear
DONE0NVM Done Interrupt Clear

INTENSETInterrupt Enable Set

Address
0x41004010
Reset
0x00
Access
read/write
  1. 7–
  2. 6–
  3. 5NSCHK
  4. 4KEYE
  5. 3NVME
  6. 2LOCKE
  7. 1PROGE
  8. 0DONE
6 fields
FieldBitsWhat it does
NSCHK5NS configuration change detected Interrupt Enable
KEYE4Key Write Error Interrupt Enable
NVME3NVM Error Interrupt Enable
LOCKE2Lock Error Status Interrupt Enable
PROGE1Programming Error Status Interrupt Enable
DONE0NVM Done Interrupt Enable

INTFLAGInterrupt Flag Status and Clear

Address
0x41004014
Reset
0x00
Access
read/write
  1. 7–
  2. 6–
  3. 5NSCHK
  4. 4KEYE
  5. 3NVME
  6. 2LOCKE
  7. 1PROGE
  8. 0DONE
6 fields
FieldBitsWhat it does
NSCHK5NS configuration change detected
KEYE4KEY Write Error
NVME3NVM Error
LOCKE2Lock Error Status
PROGE1Programming Error Status
DONE0NVM Done

STATUSStatus

Address
0x41004018
Reset
0x0000
Access
read only
Size
16-bit
4 fields
FieldBitsWhat it does
DALFUSE4:3Debug Access Level Fuse
  • 0 NO DEBUG
  • 2 FULL DEBUG
READY2NVM Ready
LOAD1NVM Page Buffer Active Loading
PRM0Power Reduction Mode

ADDRAddress

Address
0x4100401C
Reset
0x00000000
Access
read/write
Size
32-bit
2 fields
FieldBitsWhat it does
ARRAY23:22Array Select
  • 0 FLASH Array
  • 1 DATA FLASH Array
  • 2 NVM Rows
AOFFSET15:0NVM Address Offset In The Selected Array

SULCKSecure Unlock Register

Address
0x41004020
Reset
0x0000
Access
read/write
Size
16-bit
4 fields
FieldBitsWhat it does
SLKEY15:8Write Key
  • 165 Write Key
DS2Data Secure Region
AS1Secure Application Region
BS0Secure Boot Region

NSULCKNon-Secure Unlock Register

Address
0x41004022
Reset
0x0000
Access
read/write
Size
16-bit
4 fields
FieldBitsWhat it does
NSLKEY15:8Write Key
  • 165 Write Key
DNS2Non-Secure Data Region
ANS1Non-Secure Application Region
BNS0Non-Secure Boot Region

PARAMNVM Parameter

Address
0x41004024
Reset
0x00000000
Access
read/write
Size
32-bit
3 fields
FieldBitsWhat it does
PSZ18:16Page Size
  • 0 8 bytes
  • 1 16 bytes
  • 2 32 bytes
  • 3 64 bytes
  • 4 128 bytes
  • 5 256 bytes
  • 6 512 bytes
  • 7 1024 bytes
FLASHP15:0FLASH Pages
DFLASHP31:20DATAFLASH Pages

DSCCData Scramble Configuration

Address
0x41004030
Reset
0x00000000
Access
write only
Size
32-bit
1 field
FieldBitsWhat it does
DSCKEY29:0Data Scramble Key

SECCTRLSecurity Control

Address
0x41004034
Reset
0x00000030
Access
read/write
Size
32-bit
6 fields
FieldBitsWhat it does
TEROW10:8Tamper Rease Row
DXN6Data Flash is eXecute Never
DSCEN3Data Scramble Enable
SILACC2Silent Access
TAMPEEN0Tamper Erase Enable
KEY31:24Write Key
  • 165 Write Key

SCFGBSecure Boot Configuration

Address
0x41004038
Reset
0x00000003
Access
read/write
Size
32-bit
2 fields
FieldBitsWhat it does
BCWEN1Boot Configuration Row Write Enable
BCREN0Boot Configuration Row Read Enable

SCFGADSecure Application and Data Configuration

Address
0x4100403C
Reset
0x00000001
Access
read/write
Size
32-bit
1 field
FieldBitsWhat it does
URWEN0User Row Write Enable

NONSECNon-secure Write Enable

Address
0x41004040
Reset
0x00000001
Access
read/write
Size
32-bit
1 field
FieldBitsWhat it does
WRITE0Non-secure APB alias write enable, non-secure AHB writes to non-secure regions enable

NSCHKNon-secure Write Reference Value

Address
0x41004044
Reset
0x00000001
Access
read/write
Size
32-bit
1 field
FieldBitsWhat it does
WRITE0Reference value to be checked against NONSEC.WRITE