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

Fault-injection request descriptor. More...

#include <ra8_cnecc.h>

Data Fields

uint32_t substitute
 32-bit value stored in EC710TED.
bool one_bit_flip
 true => 1-bit error variant; false => 2-bit.

Detailed Description

Fault-injection request descriptor.

Wraps the four-step procedure on HUM page 2875 (Figure 42.2):

  1. Disable ECC test mode (EC710TMC = 0x8000).
  2. Drive substitute decoder data (EC710TED = substitute).
  3. Enable ECC test mode (EC710TMC = 0x8080).
  4. Select EC710TED as decoder input (EC710TMC = 0x8082).

The caller is responsible for the actual MBRAM read that triggers the decoder pass and surfaces the fake fault on the next ra8_cnecc_dispatch – this helper only programs the registers.

Pass one_bit_flip = true to flip exactly one bit of the configured decoder input from the previous correct value (a 1-bit SEC scenario), or false to flip two bits (a 2-bit DED scenario). The substitute value to write is fully application-defined; this descriptor stores it as substitute for traceability and the driver writes it verbatim into EC710TED.

cppcheck cannot see tests/ so it flags every member as unused.

Definition at line 595 of file ra8_cnecc.h.

Field Documentation

◆ one_bit_flip

bool ra8_cnecc_inject_t::one_bit_flip

true => 1-bit error variant; false => 2-bit.

Definition at line 597 of file ra8_cnecc.h.

Referenced by ra8_cnecc_inject_fault().

◆ substitute

uint32_t ra8_cnecc_inject_t::substitute

32-bit value stored in EC710TED.

Definition at line 596 of file ra8_cnecc.h.

Referenced by ra8_cnecc_inject_fault().


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