10. SRAM configuration controller (RAMCFG)

10.1 RAMCFG introduction

The RAMCFG configures the features of the internal SRAMs: AHBSRAM1/2, AXISRAM1 to 6, BKPSRAM, FLEXRAM, and VENCRAM.

10.2 RAMCFG main features

The internal SRAM supports the following features, configured in the RAMCFG:

10.3 RAMCFG functional description

10.3.1 Internal SRAM features

The following SRAMs are embedded in the devices, each with specific features:

AXISRAM2 to 6 can be shut down when the application is in Run mode.

Note: The baseline I/D-TCM content can be retained in Standby mode (as BKPSRAM and 80 Kbytes of FLEXMEM), but this is not under RAMCFG control.

The CACHEAXI internal RAM can be used at system level when the NPU does not use its cache (as the VENCRAM). This is controlled directly in the CACHEAXI, and is not under RAMCFG.

Table 33 summarizes the features supported by each internal SRAM.

Table 33. Internal SRAM features

SRAM featureAXISRAM1AXISRAM2FLEXRAMAXISRAM3AXISRAM4AXISRAM5AXISRAM6AXISRAM7AHBSRAM1AHBSRAM2VENCRAM/
AXISRAM8
BKPSRAM
Size (Kbytes)6241024Up to 40044844844844825616161288
Word size646464646464646432326439 (1)
Retention in Standby mode--X (2)--------X
Retention in V BAT mode-----------X
Block on potential tamper, erase on confirmed tamper---------X-X
Hardware erase on resetXX-------X--
Software eraseXXXXXXXXXXXX
ECC--X (3)--------X

1. 32 bits of effective data, and 7 bits of embedded ECC.

2. Only the 80 Kbytes that correspond to the first portion of the I-TCM extension can be retained.

3. The ECC concerns only the FLEXMEM when used as extended TCM. It is under control of the Cortex-M55 TCM interface.

Table 34 details the conditions for the hardware erase.

Table 34. Hardware-erase conditions for internal SRAMs

SRAMConditional hardware eraseCondition
AXISRAM1NoErase on system reset
AXISRAM2
AHBSRAM2NoErase on system reset and on confirmed tamper

10.3.2 FLEXRAM control

STM32N6x5/x7xx devices include a Cortex-M55 core that exposes a TCM interface. This TCM interface is spread in one 39-bit (32 effective data bits + 7 ECC protection bits) I-TCM (instruction TCM interface), and four parallel 39-bit D-TCMs (data TCM interfaces).

STM32N6x5/x7xx devices also embed 4096 Kbytes of RAM accessible on the AXI interconnect. The first half (FLEXRAM, AXISRAM1/2) is in the CPU frequency domain, and is preferably used for CPU storage. The second half of this memory (AXISRAM3/4/5/6/7) is in the NPU frequency domain, and is preferably used for the AI computing storage.

To let customers tailor the SRAM use to their needs, the FLEXMEM offers the possibility to allocate part of the CPU side SRAM (FLEXRAM part) as extended TCM, both on I-TCM and D-TCM interfaces. Table 35 lists the supported allocations.

Table 35. FLEXRAM supported configurations

Config I-TCMConfig D-TCMI-TCM fixI-TCM flex (+ ECC)I-TCM totalD-TCM fixD-TCM flex (+ ECC)D-TCM totalAXI-side FLEXRAM
001 x 640644 x 320128400
011 x 640644 x 324 x 32 (+ 8)256240
101 x 641 x 64 (+16)1284 x 320128320
111 x 641 x 64 (+16)1284 x 324 x 32 (+ 8)256160
201 x 641 x 192 (+ 48)2564 x 320128160
211 x 641 x 192 (+ 48)2564 x 324 x 32 (+ 8)2560

The retention regions are detailed in Table 36 and Figure 10 , sharing the same color code.

Table 36. FLEXMEM versus retention

ConfigurationFLEXRAM base address (1)I-TCM extensionD-TCM extensionRetention region
000x2400 00000 KB0 KBRAM region: 0x2400 0000 to 0x2401 3FFF
100x2401 400064 KB (+16 KB ECC)I-TCM extension: first 64 KB (+16 KB ECC)
200x2403 C000192 KB (+48 KB ECC)
010x2402 80000 KB128 KB (+32 KB ECC)RAM region: 0x2402 8000 to 0x2403 BFFF
110x2403 C00064 KB (+16 KB ECC)I-TCM extension: first 64 KB (+16 KB ECC)
21No RAM192 KB (+48 KB ECC)

1. All addresses considered as their non secure aliases.

Figure 10. FLEXMEM versus retention

Address RangeVENCRAM AXISRAM8 128 kBVENCRAM AXISRAM8 128 kBVENCRAM AXISRAM8 128 kBVENCRAM AXISRAM8 128 kBVENCRAM AXISRAM8 128 kBVENCRAM AXISRAM8 128 kB
S 0x3440 0000
NS 0x2440 0000
AXISRAM7 CACHEAXI 256 kBAXISRAM7 CACHEAXI 256 kBAXISRAM7 CACHEAXI 256 kBAXISRAM7 CACHEAXI 256 kBAXISRAM7 CACHEAXI 256 kBAXISRAM7 CACHEAXI 256 kB
S 0x343C 0000
NS 0x243C 0000
AXISRAM6 448 kBAXISRAM6 448 kBAXISRAM6 448 kBAXISRAM6 448 kBAXISRAM6 448 kBAXISRAM6 448 kB
S 0x3435 0000
NS 0x2435 0000
AXISRAM5 448 kBAXISRAM5 448 kBAXISRAM5 448 kBAXISRAM5 448 kBAXISRAM5 448 kBAXISRAM5 448 kB
S 0x342E 0000
NS 0x242E 0000
AXISRAM4 448 kBAXISRAM4 448 kBAXISRAM4 448 kBAXISRAM4 448 kBAXISRAM4 448 kBAXISRAM4 448 kB
S 0x3427 0000
NS 0x2427 0000
AXISRAM3 448 kBAXISRAM3 448 kBAXISRAM3 448 kBAXISRAM3 448 kBAXISRAM3 448 kBAXISRAM3 448 kB
S 0x3420 0000
NS 0x2420 0000
AXISRAM2 1024 kBAXISRAM2 1024 kBAXISRAM2 1024 kBAXISRAM2 1024 kBAXISRAM2 1024 kBAXISRAM2 1024 kB
S 0x3410 0000
NS 0x2410_0000
AXISRAM1 624 kBAXISRAM1 624 kBAXISRAM1 624 kBAXISRAM1 624 kBAXISRAM1 624 kBAXISRAM1 624 kB
S 0x3406 4000
NS 0x2406 4000
FLEXRAMRAM 320 kBRAM 160 kBRAM 160 kBRAM 160 kB
0x2403 C000RAM retention 80 kB
0x2402 8000
0x2401 4000RAM retention 80 kB
0x2400 0000
0x2004 0000D-TCMD-TCM baseline 128 kBD-TCM 128 kBD-TCM 128 kBD-TCM 128 kB
0x2002_0000D-TCM baseline 128 kBD-TCM baseline 128 kBD-TCM baseline 128 kB
0x2000_0000
0x0004_0000ITCMITCM retention 64 kBITCM retention 128 kBITCM retention 128 kB
0x0002_0000ITCM retention 64 kBI-TCM retention 64 kBITCM retention 64 kB
0x0001_0000ITCM baseline (ret.) 64 kBITCM baseline (ret.) 64 kBITCM baseline (ret.) 64 kBITCM baseline (ret.) 64 kB
0x0000_0000
001020011121

Note: AXISRAM1 start address is 0x2406 4000 (aliased at 0x3406 4000 in secure boundary), whatever the FLEXMEM configuration.

The FLEXMEM configuration depends upon CFGDTCMSZ[3:0] and CFGITCMSZ[3:0] in SYSCFG_CM55TCMCR. Its configuration cannot be changed at runtime, a reboot is needed.

Use in low-power modes

The I-TCM and D-TCM baselines can be kept in retention when the device is in Standby mode. This allows the CPU to restart from the TCM content.

The first 64 Kbytes (+16 Kbytes for ECC) of extended I-TCM through the FLEXMEM can also be kept in retention. This allows a maximum of 128 Kbytes of I-TCM in retention.

When only the I-TCM baseline is used for the Cortex-M55, 80 Kbytes of the AXI RAM can be kept in retention.

The total amount of TCM that can be kept in retention is 320 Kbytes:

10.3.3 ECC (BKPSRAM)

The ECC is supported by the BKPSRAM. Seven ECC bits are added per 32 bits of SRAM: this allows a 2-bit error detection, and a 1-bit error correction on memory read access.

As the ECC is calculated and checked for a 32-bit word, byte and half-word write accesses are managed by the SRAM interface: it first reads the whole word, then writes the word again with the new byte/half-word value. ECC double errors are also detected during these byte or half-word AHB write accesses (read/modify/write done by the interface). The byte or half-word write access latency is two AHB clock cycles.

Caution: In case of a byte or half-word write on the SRAM with ECC, the read/modify/write operation is done in a buffer. The buffer content is written into the SRAM two AHB clock cycles after the SRAM AHB is released (when the SRAM is no more accessed).

The ECC is also available on the Cortex-M55 I-TCM and D-TCM.

When the FLEXMEM is used as I/D-TCM, it supports ECC through specific memory cut/word organization. When the FLEXMEM is used as FLEXRAM, it does not support ECC, even for the part that can be set in retention

Single and double ECC errors

When a single error is detected, it is automatically corrected, and SEDC (single error detected and corrected) is set in RAMCFG_BKPSRAMISR.

An interrupt is generated if enabled by SEIE in RAMCFG_BKPSRAMIER. The failing address is stored in RAMCFG_BKPSRAMESEAR, if ALE is set in RAMCFG_BKPRAMCR.

Caution: Single errors are not reported if SEDC is not cleared in time when a new error happens.

When a double error is detected, DED is set in RAMCFG_BKPSRAMISR. An interrupt is generated if enabled by DEIE in RAMCFG_BKPSRAMIER. The failing address is stored in RAMCFG_BKPSRAMEDEAR if ALE is set in RAMCFG_BKPSRAMCR.

Caution: Double errors are not reported if DED is not cleared. Double errors are not corrected, and must be managed by exception.

The ECC can be activated/deactivated by executing the following software sequence:

  1. 1. Write 0xAE in RAMCFG_BKSRAMECCKEYR.
  2. 2. Write 0x75 in RAMCFG_BKSRAMECCKEYR.
  3. 3. Write 1 to ECCE in RAMCFG_BKPSRAMCR to activate the ECC (write 0 to this bit to deactivate the ECC).

Fault injection

The RAMCFG supports a software loop for runtime fault injection in the BKPSRAM when the ECC is activated:

  1. 1. With the ECC enabled, the application writes at a given address.
  2. 2. The application disables the ECC writing.
  3. 3. The application writes a different data at the same address as previously. Data are updated but the matching ECC word is not modified.
  4. 4. The application enables ECC writing.
  5. 5. The application reads at the same address as previously. An interrupt is expected due to either one error corrected, or several errors detected. The application can check that the desired address appears in RAMCFG_BKPSRAMSEAR or _BKPSRAMDEAR.

10.4 RAMCFG low-power modes

After a reset, by default, the RAM is controlled by the RAM clock through the RCC embedded memories enable register (RCC_MEMENR). The following configurations apply:

When RAMs are in shutdown mode, their content is not retained. The following controls and behaviors apply:

Sequences to safely enter or exit shutdown mode:

d) The RAM is now ready for use.

Note: AXISRAM3 to AXISRAM6 are interleaved at the system level under software control through SYSCFG_NPU_ICNCR. Interleaving must be deactivated before shutting down these memories, especially if only part of them is set to shutdown.

Low power mode:

10.5 RAMCFG interrupts

Two interrupts (maskable by software) are generated internally, and a global interrupt request is exported to the interrupt controller. Table 37 lists RAMCFG interrupt requests.

Table 37. RAMCFG interrupt requests

Interrupt acronymMemoryInterrupt eventEvent flag (1)Enable control bitInterrupt clear method
RAMCFGBKPSRAMECC single error detection and correctionSEDCSEIEWrite 1 in CSEDC
ECC double error detectionDEDDEIEWrite 1 in CDED

1. All these bits are in RAMCFG_BKPSRAMISR.

10.6 RAMCFG registers

The RAMCFG registers can be accessed in word, half-word, and byte format, unless differently specified.

10.6.1 RAMCFG AXISRAM1 control register (RAMCFG_AXISRAM1CR)

Address offset: 0x000

Reset value: 0x0000 0000

Reset on any system reset.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.SRAM
ER
rw
Res.Res.Res.Res.Res.Res.Res.Res.

Bits 31:9 Reserved, must be kept at reset value.

Bit 8 SRAMER : SRAM erase

This bit can be set by software only after writing the unlock sequence in ERASEKEY of RAMCFG_AXISRAM1ERKEYR. Setting this bit starts the SRAM erase. This bit is automatically cleared by hardware at the end of the erase operation.

0: No erase operation ongoing

1: Erase operation ongoing

Bits 7:0 Reserved, must be kept at reset value.

10.6.2 RAMCFG AXISRAMx interrupt status register (RAMCFG_AXISRAMxISR)

Address offset: 0x008 + 0x80 * (x - 1), (x = 1 to 6)

Reset value: 0x0000 0000

Reset on any system reset.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.SRAM
BUSY
r
Res.Res.Res.Res.Res.Res.Res.Res.

Bits 31:9 Reserved, must be kept at reset value.

Bit 8 SRAMBUSY : SRAM busy with erase operation

Depending on the SRAM, the erase operation can be performed due to software request, system reset if the option is not disabled by software and tamper detection (see Table 33 ).

0: No erase operation ongoing

1: Erase operation ongoing

Bits 7:0 Reserved, must be kept at reset value.

10.6.3 RAMCFG AXISRAMx erase key register (RAMCFG_AXISRAMxERKEYR)

Address offset: 0x028 + 0x80 * (x - 1), (x = 1 to 6)

Reset value: 0x0000 0000

Reset on any system reset.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.
wwwwwwww

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 ERASEKEY[7:0] : Erase write protection key

The following steps are required to unlock the write protection of SRAMER in RAMCFG_AXISRAMxCR.

a) Write 0xCA into this field.

b) Write 0x53 into this field.

Note: Writing a wrong key reactivates the write protection.

10.6.4 RAMCFG AXISRAMx control register (RAMCFG_AXISRAMxCR)

Address offset: 0x080 + 0x80 * (x - 2), (x = 2 to 6)

Reset value: 0x0000 0000, 0x0010 0000, 0x0010 0000, 0x0010 0000, 0x0010 0000

Reset on any system reset.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SRAM SD
rw
Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.SRAM ER
rw
Res.Res.Res.Res.Res.Res.Res.Res.

Bits 31:21 Reserved, must be kept at reset value.

Bit 20 SRAMSD : Shutdown AXISRAMx
0: AXISRAMx memory is powered.
1: AXISRAMx memory is in shutdown, and its content is not retained.

Bits 19:9 Reserved, must be kept at reset value.

Bit 8 SRAMER : SRAM erase

This bit can be set by software only after writing the unlock sequence in ERASEKEY of RAMCFG_AXISRAMxERKEYR. Setting this bit starts the SRAM erase. This bit is automatically cleared by hardware at the end of the erase operation.
0: No erase operation ongoing
1: Erase operation ongoing

Bits 7:0 Reserved, must be kept at reset value.

10.6.5 RAMCFG AHBSRAMx control register (RAMCFG_AHBSRAMxCR)

Address offset: \( 0x300 + 0x80 \times (x - 1) \) , ( \( x = 1 \) to 2)

Reset value: 0x0000 0000

Reset on any system reset.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.SRAM ERRes.Res.Res.Res.Res.Res.Res.Res.
rw

Bits 31:9 Reserved, must be kept at reset value.

Bit 8 SRAMER : SRAM erase

This bit can be set by software only after writing the unlock sequence in ERASEKEY of RAMCFG_AHBSRAMxERKEYR. Setting this bit starts the SRAM erase. This bit is automatically cleared by hardware at the end of the erase operation.
0: No erase operation ongoing
1: Erase operation ongoing

Bits 7:0 Reserved, must be kept at reset value.

10.6.6 RAMCFG AHBSRAMx interrupt status register (RAMCFG_AHBSRAMxISR)

Address offset: \( 0x308 + 0x80 \times (x - 1) \) , ( \( x = 1 \) to 2)

Reset value: 0x0000 0000

Reset on any system reset.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.SRAM BUSYRes.Res.Res.Res.Res.Res.Res.Res.
r

Bits 31:9 Reserved, must be kept at reset value.

Bit 8 SRAMBUSY : SRAM busy with erase operation

Depending on the SRAM, the erase operation can be performed due to software request, system reset if the option is not disabled by software and tamper detection (see Table 33 ).

0: No erase operation ongoing

1: Erase operation ongoing

Bits 7:0 Reserved, must be kept at reset value.

10.6.7 RAMCFG AHBSRAMx erase key register (RAMCFG_AHBSRAMxERKEYR)

Address offset: 0x328 + 0x80 * (x - 1), (x = 1 to 2)

Reset value: 0x0000 0000

Reset on any system reset.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.ERASEKEY[7:0]
wwwwwwww

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 ERASEKEY[7:0] : Erase write protection key

To unlock the write protection of SRAMER in RAMCFG_AHBSRAMxCR.

a) Write 0xCA into this field.

b) Write 0x53 into this field.

Note: Writing a wrong key reactivates the write protection.

10.6.8 RAMCFG VENCGRAM control register (RAMCFG_VENCGRAMCR)

Address offset: 0x400

Reset value: 0x0000 0000

Reset on any system reset.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.SRAM
ER
Res.Res.Res.Res.Res.Res.Res.Res.
rw

Bits 31:9 Reserved, must be kept at reset value.

Bit 8 SRAMER : SRAM erase

This bit can be set by software only after writing the unlock sequence in ERASEKEY of RAMCFG_VENCRAMERKEYR. Setting this bit starts the SRAM erase. This bit is automatically cleared by hardware at the end of the erase operation.

0: No erase operation ongoing

1: Erase operation ongoing

Bits 7:0 Reserved, must be kept at reset value.

10.6.9 RAMCFG VENCRAM interrupt status register (RAMCFG_VENCRAMISR)

Address offset: 0x408

Reset value: 0x0000 0000

Reset on any system reset.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.SRAM
BUSY
Res.Res.Res.Res.Res.Res.Res.Res.
r

Bits 31:9 Reserved, must be kept at reset value.

Bit 8 SRAMBUSY : SRAM busy with erase operation

Depending on the SRAM, the erase operation can be performed due to software request, system reset if the option is not disabled by software and tamper detection (see Table 33 ).

0: No erase operation ongoing

1: Erase operation ongoing

Bits 7:0 Reserved, must be kept at reset value.

10.6.10 RAMCFG VENCRAM erase key register (RAMCFG_VENCRAMERKEYR)

Address offset: 0x428

Reset value: 0x0000 0000

Reset on any system reset.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.ERASEKEY[7:0]
wwwwwwww

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 ERASEKEY[7:0] : Erase write protection key

To unlock the write protection of SRAMER in RAMCFG_VENCRAMCR.

a) Write 0xCA into this field.

b) Write 0x53 into this field.

Note: Writing a wrong key reactivates the write protection.

10.6.11 RAMCFG BKPSRAM control register (RAMCFG_BKPSRAMCR)

Address offset: 0x480

Reset value: 0x0000 0000

Reset on any system reset.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.SRAM
ER
Res.Res.Res.ALERes.Res.Res.ECCE
rwrwrw

Bits 31:9 Reserved, must be kept at reset value.

Bit 8 SRAMER : SRAM erase

This bit can be set by software only after writing the unlock sequence in ERASEKEY of RAMCFG_BKPSRAMERKEYR. Setting this bit starts the SRAM erase. This bit is automatically cleared by hardware at the end of the erase operation.

0: No erase operation ongoing

1: Erase operation ongoing

Bits 7:5 Reserved, must be kept at reset value.

Bit 4 ALE : Address latch enable

0: Failing address not stored in RAMCFG_BKPSRAMESEAR or _BKPSRAMEDEAR

1: Failing address stored in RAMCFG_BKPSRAMESEAR or _BKPSRAMEDEAR

Bits 3:1 Reserved, must be kept at reset value.

Bit 0 ECCE : ECC enable

When set, this bit can be cleared by software only after writing the unlock sequence in RAMCFG_BKPSRAMECCKEYR.

0: ECC disabled

1: ECC enabled

10.6.12 RAMCFG BKPSRAM interrupt enable register (RAMCFG_BKPSRAMIER)

Address offset: 0x484

Reset value: 0x0000 0000

Reset on any system reset.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.DEIESEIE
rwrw

Bits 31:2 Reserved, must be kept at reset value.

Bit 1 DEIE : ECC double error interrupt enable

0: Double error interrupt disabled

1: Double error interrupt enabled

Bit 0 SEIE : ECC single error interrupt enable

0: Single error interrupt disabled

1: Single error interrupt enabled

10.6.13 RAMCFG BKPSRAM interrupt status register (RAMCFG_BKPSRAMISR)

Address offset: 0x488

Reset value: 0x0000 0000

Reset on any system reset.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.SRAM BUSYRes.Res.Res.Res.Res.Res.DEDSEDC
rrr

Bits 31:9 Reserved, must be kept at reset value.

Bit 8 SRAMBUSY : SRAM busy with erase operation

Depending on the SRAM, the erase operation can be performed due to software request, system reset if the option is not disabled by software and tamper detection (see Table 33 ).

0: No erase operation ongoing

1: Erase operation ongoing

Bits 7:2 Reserved, must be kept at reset value.

10.6.14 RAMCFG BKPSRAM single error address register (RAMCFG_BKPSRAMESEAR)

Address offset: 0x48C
Reset value: 0x0000 0000
Reset on any system reset.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.ESEA[10:0]
wwwwwwwwwww

Bits 31:11 Reserved, must be kept at reset value.

10.6.15 RAMCFG BKPSRAM double error address register (RAMCFG_BKPSRAMEDEAR)

Address offset: 0x490
Reset value: 0x0000 0000
Reset on any system reset.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.EDEA[10:0]
wwwwwwwwwww

Bits 31:11 Reserved, must be kept at reset value.

10.6.16 RAMCFG BKPSRAM interrupt clear register (RAMCFG_BKPSRAMICR)

Address offset: 0x494

Reset value: 0x0000 0000

Reset on any system reset.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.CDED
w
CSEDC
w

Bits 31:2 Reserved, must be kept at reset value.

Bit 1 CDED : Clear ECC double-error interrupt

Writing 1 to this flag clears DED in RAMCFG_BKPSRAMISR.

Bit 0 CSEDC : Clear ECC single-error interrupt

Writing 1 to this flag clears SEDC in RAMCFG_BKPSRAMISR.

10.6.17 RAMCFG BKPSRAM ECC key register (RAMCFG_BKPSRAMECCKEYR)

Address offset: 0x4A4

Reset value: 0x0000 0000

Reset on any system reset.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.wwwwwwww

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 ECCKEY[7:0] : ECC write protection key

The following steps are required to unlock the write protection of ECCE in RAMCFG_BKPSRAMCR.

a) Write 0xAE into this field.

b) Write 0x75 into this field.

Note: Writing a wrong key reactivates the write protection.

10.6.18 RAMCFG BKPSRAM erase key register (RAMCFG_BKPSRAMERKEYR)

Address offset: 0x4A8

Reset value: 0x0000 0000

Reset on any system reset.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.ERASEKEY[7:0]
wwwwwwww

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 ERASEKEY[7:0] : Erase write protection key

The following steps are required to unlock the write protection of SRAMER in RAMCFG_BKPSRAMCR.

Note: Writing a wrong key reactivates the write protection.

10.6.19 RAMCFG FLEXRAM control register (RAMCFG_FLEXRAMCR)

Address offset: 0x500

Reset value: 0x0000 0000

Reset on any system reset.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.SRAMERRes.Res.Res.Res.Res.Res.Res.Res.
rw

Bits 31:9 Reserved, must be kept at reset value.

Bit 8 SRAMER : SRAM erase

This bit can be set by software only after writing the unlock sequence in ERASEKEY of RAMCFG_FLEXRAMERKEYR. Setting this bit starts the SRAM erase. This bit is automatically cleared by hardware at the end of the erase operation.

Bits 7:0 Reserved, must be kept at reset value.

10.6.20 RAMCFG FLEXRAM interrupt status register (RAMCFG_FLEXRAMISR)

Address offset: 0x508

Reset value: 0x0000 0000

Reset on any system reset.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.SRAM
BUSY
Res.Res.Res.Res.Res.Res.Res.Res.
r

Bits 31:9 Reserved, must be kept at reset value.

Bit 8 SRAMBUSY : SRAM busy with erase operation

Depending on the SRAM, the erase operation can be performed due to software request, system reset if the option is not disabled by software and tamper detection (see Table 33 ).

0: No erase operation ongoing

1: Erase operation ongoing

Bits 7:0 Reserved, must be kept at reset value.

10.6.21 RAMCFG FLEXRAM erase key register (RAMCFG_FLEXRAMERKEYR)

Address offset: 0x528

Reset value: 0x0000 0000

Reset on any system reset.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.ERASEKEY[7:0]
wwwwwwww

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 ERASEKEY[7:0] : Erase write protection key

The following steps are required to unlock the write protection of SRAMER in RAMCFG_FLEXRAMCR.

a) Write 0xCA into this field.

b) Write 0x53 into this field.

Note: Writing a wrong key reactivates the write protection.

10.6.22 RAMCFG register map

Table 38. RAMCFG register map and reset values

OffsetRegister name313029282726252423222120191817161514131211109876543210
0x000RAMCFG_AXISRAM1CRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SRAMERRes.Res.Res.Res.Res.Res.Res.Res.
Reset value0
0x004ReservedReserved
0x008 +
0x80 * (x - 1)
(x = 1 to 6)
RAMCFG_AXISRAMxISRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SRAMBUSYRes.Res.Res.Res.Res.Res.Res.Res.
Reset value0
0x028 +
0x80 * (x - 1)
(x = 1 to 6)
RAMCFG_AXISRAMxERKEYRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.ERASEKEY[7:0]
Reset value00000000
0x080 +
0x80 * (x - 2)
(x = 2 to 6)
RAMCFG_AXISRAMxCRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SRAMSDRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SRAMERRes.Res.Res.Res.Res.Res.Res.Res.
Reset value00
0x300 +
0x80 * (x - 1)
(x = 1 to 2)
RAMCFG_AHBSRAMxCRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SRAMERRes.Res.Res.Res.Res.Res.Res.Res.
Reset value0
0x308 +
0x80 * (x - 1)
(x = 1 to 2)
Last address:
0x388
RAMCFG_AHBSRAMxISRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SRAMBUSYRes.Res.Res.Res.Res.Res.Res.Res.
Reset value0
0x328 +
0x80 * (x - 1)
(x = 1 to 2)
Last address:
0x3A8
RAMCFG_AHBSRAMxERKEYRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.ERASEKEY[7:0]
Reset value000000000
0x3AC -
0x3FC
ReservedReserved
0x400RAMCFG_VENCRAMCRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SRAMERRes.Res.Res.Res.Res.Res.Res.Res.
Reset value0
0x404ReservedReserved
0x408RAMCFG_VENCRAMISRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SRAMBUSYRes.Res.Res.Res.Res.Res.Res.Res.
Reset value0
0x40C - 0x424ReservedReserved
0x428RAMCFG_VENCRAMERKEYRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.ERASEKEY[7:0]
Reset value00000000

Table 38. RAMCFG register map and reset values (continued)

OffsetRegister name313029282726252423222120191817161514131211109876543210
0x42C - 0x47CReservedReserved
0x480RAMCFG_BKPSRAMCRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SRAMERRes.Res.Res.Res.Res.Res.Res.ECCE
Reset value00
0x484RAMCFG_BKPSRAMIERRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.DEIESEIE
Reset value0
0x488RAMCFG_BKPSRAMISRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SRAMBUSYRes.Res.Res.Res.Res.Res.DEDSEDC
Reset value000
0x48CRAMCFG_BKPSRAMESEARRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.ESEA[10:0]
Reset value00000000
0x490RAMCFG_BKPSRAMEDEARRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.EDEA[10:0]
Reset value00000000
0x494RAMCFG_BKPSRAMICRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.ODEDCSEDC
Reset value0
0x498 - 0x4A0ReservedReserved
0x4A4RAMCFG_BKPSRAMECCKEYRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.ECCKEY[7:0]
Reset value00000000
0x4A8RAMCFG_BKPSRAMERKEYRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.ERASEKEY[7:0]
Reset value00000000
0x4ACReservedReserved
0x500RAMCFG_FLEXRAMCRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SRAMERRes.Res.Res.Res.Res.Res.Res.Res.
Reset value0
0x504ReservedReserved
0x508RAMCFG_FLEXRAMISRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SRAMBUSYRes.Res.Res.Res.Res.Res.Res.Res.
Reset value0
0x50C - 0x524ReservedReserved
0x528RAMCFG_FLEXRAMERKEYRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.ERASEKEY[7:0]
Reset value00000000
Refer to Section 2.3 for the register boundary addresses.