ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
r_sram_cpscu_regs_t Struct Reference

Memory layout of the CPSCU SRAM security window. More...

#include <ra8_sram_regs.h>

Data Fields

volatile uint8_t _r0 [0x010]
 +0x000..+0x00F Reserved.
volatile uint32_t SRAMSAR
 +0x010 SRAM register security.
volatile uint8_t _r1 [k_ra8_sram_cpscu_pad_sramsar]
 +0x014..+0x3FF Reserved.
volatile uint32_t SRAMSABAR [k_ra8_sram_bank_count]
 +0x400..+0x40F Bank boundary.
volatile uint8_t _r2 [k_ra8_sram_cpscu_pad_after_sabar]
 +0x410..+0x50F Reserved.
volatile uint32_t SRAMESAR
 +0x510 ECC region security.
volatile uint32_t _r3
 +0x514 Padding to round size.

Detailed Description

Memory layout of the CPSCU SRAM security window.

Per HUM Ch 58.2.1..58.2.3, p 3527-3530. The CPSCU window holds:

  • +0x010 SRAMSAR (32-bit, per-bank register security + WTSA)
  • +0x400 SRAMSABAR0 (32-bit, SRAM0 Secure/Non-Secure boundary)
  • +0x404 SRAMSABAR1 (32-bit, SRAM1 boundary)
  • +0x408 SRAMSABAR2 (32-bit, SRAM2 boundary)
  • +0x40C SRAMSABAR3 (32-bit, SRAM3 boundary)
  • +0x510 SRAMESAR (32-bit, ECC region security attribute)

Holes in the layout are modelled as opaque _rN[] padding so the named fields land at exactly the offsets the HUM documents. The struct size is rounded up to 0x518 bytes (after SRAMESAR) so the fake's 8 MiB peripheral window covers it.

Definition at line 546 of file ra8_sram_regs.h.

Field Documentation

◆ _r0

volatile uint8_t r_sram_cpscu_regs_t::_r0[0x010]

+0x000..+0x00F Reserved.

Definition at line 547 of file ra8_sram_regs.h.

◆ _r1

volatile uint8_t r_sram_cpscu_regs_t::_r1[k_ra8_sram_cpscu_pad_sramsar]

+0x014..+0x3FF Reserved.

Definition at line 549 of file ra8_sram_regs.h.

◆ _r2

volatile uint8_t r_sram_cpscu_regs_t::_r2[k_ra8_sram_cpscu_pad_after_sabar]

+0x410..+0x50F Reserved.

Definition at line 551 of file ra8_sram_regs.h.

◆ _r3

volatile uint32_t r_sram_cpscu_regs_t::_r3

+0x514 Padding to round size.

Definition at line 553 of file ra8_sram_regs.h.

◆ SRAMESAR

volatile uint32_t r_sram_cpscu_regs_t::SRAMESAR

+0x510 ECC region security.

Definition at line 552 of file ra8_sram_regs.h.

Referenced by internal_apply_security(), and ra8_sram_set_ecc_security().

◆ SRAMSABAR

volatile uint32_t r_sram_cpscu_regs_t::SRAMSABAR[k_ra8_sram_bank_count]

+0x400..+0x40F Bank boundary.

Definition at line 550 of file ra8_sram_regs.h.

Referenced by internal_apply_security(), and ra8_sram_set_boundary().

◆ SRAMSAR

volatile uint32_t r_sram_cpscu_regs_t::SRAMSAR

+0x010 SRAM register security.

Definition at line 548 of file ra8_sram_regs.h.

Referenced by internal_apply_security(), and ra8_sram_set_security().


The documentation for this struct was generated from the following file: