ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
HIL – needs re-validation

Apps moved out of the HIL-passing set: each is blocked by bench config, an SD reseat, absent external hardware, or is under triage – see the tier README.

43 app(s) in this tier:
AppDescription
bkup_survival_demoExercises the 128-byte VBATT backup-register store (VBTBKRn, via ra8_bkup): it writes a pattern across the backup words and reads it back, and it plants a sentinel plus a boot counter that has to ...
compress_demoDrives the ra8_io fabric (#155) with the opt-in DEFLATE compression layer (#161) on a stock EK-RA8D2 with no external hardware: build an in-SRAM RAM block device, bridge it to ra8_fs, format and ...
cpu1_pingpong_ipcDual-core IPC ping-pong across the full TrustZone secure-boot scaffolding (#22). CPU0 (M85) runs Secure only long enough to programme the SAU, unlock PRCR_S.PRC4, write IPCSAR = 0x00050000 and BLXNS ...
epub_openOpens a real .epub off a microSD card and runs the epub parse stack on it, on the target (#114). epub_parse proved the parser runs on the M85 from a baked in-memory blob; this closes the storage gap ...
epub_parseThe first firmware app to run the epub parse stack on the target (#139). It bakes a known-good two-chapter .epub into a C array and parses it entirely in memory – no card, no USB, no display – ...
epub_tocRuns the epub table-of-contents path on silicon (#116) against real .epub files staged on a microSD card. #74 added titled TOC parsing – EPUB2 NCX <navMap> and EPUB3 nav.xhtml <nav epub:type="toc"> ...
ereader_shelfA full e-reader GUI on the EK-RA8D2 7.0-inch 1024x600 parallel TFT, and the visible front end of the compiled-book (.rabook) pipeline: a bookshelf of cover art, a cover/title page, a table of ...
gpt_irq_demoInterrupt-driven GPT0: links the GPT0 counter-overflow event through the ICU IELSR table to an NVIC line with ra8_isr_register, starts GPT0 in saw-wave PWM mode, then sleeps. Every overflow fires an ...
lpm_deep_standby_1_demoDeep Software Standby variant 1 (LPSCR.LPMD = 0x8) entry on a bare EK-RA8D2. Variant 1 keeps the LOCO, sub-clock detection and voltage monitors running on top of the always-on wake-up detectors (HUM ...
lpm_deep_standby_2_demoDeep Software Standby variant 2 (LPSCR.LPMD = 0x9) entry on a bare EK-RA8D2. Variant 2 stops the voltage-monitor and sub-clock-detection domains that variant 1 (lpm_deep_standby_1_demo) leaves ...
lpm_deep_standby_3_demoDeep Software Standby variant 3 (LPSCR.LPMD = 0xA) entry on a bare EK-RA8D2 – the deepest standby state the RA8D2 exposes. On top of the variant 2 cuts it also stops the LOCO oscillator, leaving ...
lpm_idle_demoCounts wakes out of plain Sleep mode: enter WFI, let SysTick wake the core a millisecond later, accumulate a hundred or so of those, then bump an in-RAM counter, toggle LED1 and report.
lpm_periodic_idleThe shape a real periodic application takes (#153): each period the CPU does a small unit of work, then sleeps in Software Standby until the on-chip Ultra-Low-Power Timer (ULPT0) wakes it, for a ...
lpm_software_standby_demoSoftware Standby (LPSCR.LPMD = 0x5) with an RTC alarm as the wake source, on a bare EK-RA8D2. Software Standby is the first of the truly deep LPM states: almost every clock domain is gated including ...
lpm_ulpt_standbySoftware Standby (LPSCR.LPMD = 0x5) woken by the on-chip Ultra-Low-Power Timer (ULPT0) – the deep-idle foundation: an MCU that spends nearly all its time in standby and is woken by an internal ...
lpm_wake_matrix_demoWalks every WUPEN0 / WUPEN1 wake-source enable bit the LPM HAL exposes and confirms each reads back as written, then disarms everything and confirms both registers read zero. It is the smoke test for ...
lvd_monitor_demoWatches the VCC rail through voltage monitor 1 (PVD1) in the safest possible configuration and reports live status once a second. g_lvd_ok / g_lvd_mon_above / g_lvd_det / g_lvd_cfg_err / ...
mem_ecc_fault_demoSRAM ECC fault injection and detection (#130). Where ecc_monitor_demo only brings ECC up and reads a clean status, this deliberately provokes a memory error and proves the hardware error path latches ...
mem_subsystemDrives each layer of the ra8_mem hierarchy (#147) in isolation, so the primitives the e-reader leans on are observable without the whole reader stack around them (#263).
mpu_partition_simple
pagecacheOn-silicon exercise of the reflow import-time pagination cache (#117, the
pdg_delay_demoPWM Delay Generation Circuit (PDG) bring-up: selects the 80-160 MHz FRANGE band, enables the DLL, un-bypasses PDG channel 0, and stages a mid-range delay code on the GTIOC0A rising edge (DLY[6:0], ...
poeg_safe_shutoffDemonstrates the POEG (Port Output Enable for GPT) safe-shutoff path: kill a running GPT PWM output on a fault trigger, then clear the fault and re-enable it. This is the mechanism a motor-control ...
power_profilerSmoke test for ra8_power_profile, the enter/exit dwell-time accumulator. It walks the four interesting RA8D2 power states in a loop – a busy spin under ACTIVE, then SLEEP, DEEP_SLEEP and ...
psa_crypto_hilOn-silicon known-answer test for the real software crypto backend (TF-PSA-Crypto) on the M85 – the hardware counterpart of the host test_psa_real_kat.c.
ra8_cache_store_demoRuns the whole ra8_cache_store lifecycle end to end on the target – the persistent key-to-blob cache (#201) that backs compiled .rabook containers, which had no direct example until #257.
ra8_io_cache_demoDrives the ra8_io caching block device (#160) with no external hardware.
ra8_io_demoThe reference end-to-end run through the whole ra8_io I/O fabric (#155), with no external hardware:
ra8_io_fsfmt_demoDrives the ra8_io filesystem-format registry (#159) with no external hardware.
ra8_io_sd_demoProves the ra8_io fabric's swappable-backend promise (#155, #156): the same VFS API that ra8_io_demo runs over a RAM disk, running over a microSD card by swapping only the block device. Everything ...
ra8_io_sdram_demoThe ra8_io fabric (#155) over the EK-RA8D2's 64 MiB external SDRAM at 0x68000000. It is ra8_io_demo with exactly one thing changed: the block device is the SDRAM backend (ra8_io_blockdev_sdram_init, ...
ra8_io_xspi_demoThe ra8_io fabric (#155, #156) over the on-board Octo-SPI NOR flash – a third storage tier alongside the RAM (ra8_io_demo) and SD (ra8_io_sd_demo) cases.
reflow_contentHeadless check of the reflow book-content render path (#115): lay out a baked multi-paragraph chapter into a small RGB565 framebuffer, render every page and fold a hash over the framebuffer output, ...
reset_cause_demoChecks that ra8_reset_get_cause() decodes RSTSR1.SWRF correctly (#52). The app boots, triggers a software reset via ra8_reset_software_reset(), and on the post-reset boot enters a loop that advances ...
rng_demoPulls bytes from ra8_psa_crypto_random() once a second and dumps them as hex over the console, toggling LED1 on each emit so the heartbeat is visible without a serial terminal.
rot_verify_hilOn-silicon proof that a working root of trust can authenticate an image on this hardware. It runs the real ra8_rot verify chain against a signed fixture:
rsip_sha256_katOn-silicon FIPS 180-4 known-answer test for ra8_rsip_sha256. ra8_rot re-computes an image digest through this function, so its correctness is security-critical; the app hashes three published NIST ...
rtc_alarmSets the on-chip RTC to a known seed time, schedules an alarm a few seconds out through ra8_rtc_set_alarm, polls RCR1.AIF for the fire, logs over the console, then advances the seed and re-arms. No ...
rtc_periodic_demoExtends rtc_alarm to the RTC's periodic interrupt: after programming the same few-seconds-out calendar alarm it enables both the alarm and periodic IRQ flags (RCR1.AIE and RCR1.PIE), then polls ...
touch_calInteractive N-point affine touch calibration (#262), wiring the weighted least-squares solver in libs/ra8_touch_cal end to end over the real GoodIX GT911 driver (ra8_touch on IIC_B) and the real ...
touch_demoStandalone GoodIX GT911 capacitive-touch bring-up (#122). The GT911 driver was previously only exercised inside ereader_ui, with no standalone example and no gate of its own.
tz_nsc_cgc_usbRuns a full ThreadX + USBX CDC-ACM self-loop entirely inside the Non-Secure image (#60), layered on the Non-Secure-Callable CGC veneer wall. Both USB controllers are delegated to the NS world and the ...
usb_selftest_wlunThe write-path counterpart to the read-only MSC self-loops: it exercises the host-to-device bulk-OUT data phase (SCSI WRITE(10)). The two USB ports are cabled to each other and one firmware image ...