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

JLink-readable snapshot of the most recent RDID probe. More...

Data Fields

uint32_t magic
 k_ra8_xspi_rdid_magic once written.
uint32_t call_count
 Number of probe attempts since reset.
uint32_t rid_err
 Last ra8_err_t from read_id (uint).
uint32_t jedec_id
 Last raw RDID triplet from the HAL.
uint32_t reset_8d_err
 ra8_err_t from 8D-form software reset.
uint32_t reset_1s_err
 ra8_err_t from 1S-form software reset.
uint32_t stage
 Last stage reached (see ra8_xspi_stage_t).
uint32_t reserved
 Reserved for future diagnostics.

Detailed Description

JLink-readable snapshot of the most recent RDID probe.

UART on the EK-RA8D2 will not reliably drain ra8_log_* output before demo_panic_halt fires inside lx_nor_flash_format, so the operator cannot see the IS25LX512M JEDEC triplet via the console. Stash the result in a known SRAM word that the developer can read with mem32 <addr> 1 from JLinkExe / Ozone after the panic halt.

Layout (little-endian on Cortex-M85):

  • magick_ra8_xspi_rdid_magic once any probe has run (0 on cold boot before the global has been touched, so the operator can tell stale-RAM values from a real reading).
  • call_count – number of times internal_bus_init_once has reached the RDID probe step. Bumped before the call so even a hang inside the HAL leaves a visible breadcrumb.
  • rid_errra8_err_t returned by ra8_xspi_flash_read_id (cast to uint32_t). 0 (= k_ra8_ok) means the call returned cleanly.
  • jedec_id – packed (mfr << 16) | (type << 8) | capacity from the HAL. Expected 0x009D5A1A for the IS25LX512M-JHLE on EK-RA8D2 v1.
Invariant
magic is either 0 (untouched) or k_ra8_xspi_rdid_magic; any other value indicates SRAM corruption / wrong address.
See also
g_ra8_xspi_rdid_observed
Since
0.1.0

Definition at line 375 of file lx_nor_driver_ra8_xspi.c.

Field Documentation

◆ call_count

uint32_t ra8_xspi_rdid_observation_t::call_count

Number of probe attempts since reset.

Definition at line 377 of file lx_nor_driver_ra8_xspi.c.

◆ jedec_id

uint32_t ra8_xspi_rdid_observation_t::jedec_id

Last raw RDID triplet from the HAL.

Definition at line 379 of file lx_nor_driver_ra8_xspi.c.

◆ magic

uint32_t ra8_xspi_rdid_observation_t::magic

k_ra8_xspi_rdid_magic once written.

Definition at line 376 of file lx_nor_driver_ra8_xspi.c.

◆ reserved

uint32_t ra8_xspi_rdid_observation_t::reserved

Reserved for future diagnostics.

Definition at line 383 of file lx_nor_driver_ra8_xspi.c.

◆ reset_1s_err

uint32_t ra8_xspi_rdid_observation_t::reset_1s_err

ra8_err_t from 1S-form software reset.

Definition at line 381 of file lx_nor_driver_ra8_xspi.c.

◆ reset_8d_err

uint32_t ra8_xspi_rdid_observation_t::reset_8d_err

ra8_err_t from 8D-form software reset.

Definition at line 380 of file lx_nor_driver_ra8_xspi.c.

◆ rid_err

uint32_t ra8_xspi_rdid_observation_t::rid_err

Last ra8_err_t from read_id (uint).

Definition at line 378 of file lx_nor_driver_ra8_xspi.c.

◆ stage

uint32_t ra8_xspi_rdid_observation_t::stage

Last stage reached (see ra8_xspi_stage_t).

Definition at line 382 of file lx_nor_driver_ra8_xspi.c.


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