|
ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
|
| apps | |
| board | |
| stand_alone | |
| ereader | |
| src | |
| main.c | CPU0 (M85) Secure world bootloader/fallback for the e-reader |
| ns_main.c | Non-Secure main entry point: launches ThreadX and the e-reader UI |
| secure_exception.c | Secure-side fault handler for NS -> S violations |
| system_init.c | Cortex-M85 / RA8D2 core bring-up (called from Reset_Handler) |
| trustzone_init.c | Single-core TrustZone bring-up for a RAM-resident NS image (#60) |
| vector_table.c | Cortex-M85 vector table and default interrupt handlers for RA8D2 |
| host | |
| alphabet_soup | |
| inc | |
| alphabet_soup.h | Word search puzzle solver API and bounded workspace definitions |
| src | |
| alphabet_soup.c | Word search puzzle solver implementation with NASA Power-of-10 safety guarantees |
| alphabet_soup_cli.c | Bounded POSIX file ingestion for the Alphabet Soup host CLI |
| alphabet_soup_cli_internal.h | Private host-file helpers for the Alphabet Soup CLI wrapper |
| main.c | Standalone Alphabet Soup word search solver host CLI |
| cbz2jof | |
| inc | |
| jof_worker.h | Single-image to JOF worker: the per-page transcode the cbz2jof Go driver shells out to |
| src | |
| jof_worker.c | Single-image to JOF transcode behind jof_worker.h |
| jof_worker_main.c | Process entry for the cbz2jof page worker |
| mdl | |
| inc | |
| mdl_cli.h | Command-line parsing for the mdl CLI |
| mdl_net_curl.h | Factory for the concrete libcurl-backed mdl_net_iface_t backend |
| src | |
| main.c | Mdl – host CLI for the e-reader media downloader |
| mdl_cli.c | Implementation of the mdl command-line parser |
| mdl_cli_internal.h | Private byte-stream helpers shared by mdl CLI units |
| mdl_cli_nums.c | Strict bounded numeric-option parsing for mdl |
| mdl_cli_stream.c | Bounded byte-stream composition helpers for mdl diagnostics |
| mdl_cli_usage.c | Stable command-line help rendering for mdl |
| mdl_compose.c | The composition of THIS form: libcurl in, one parsed command out |
| mdl_compose_internal.h | What this FORM injects, and how one parsed invocation reaches a mode |
| mdl_host_credentials.c | Pure host credential-snapshot metadata comparison |
| mdl_host_credentials_internal.h | Private host credential-snapshot hardening helpers |
| mdl_net_curl.c | Libcurl host backend registered through the mdl_net vtable seam |
| mdl_net_curl_credentials.c | Path-free libcurl cookie and CA credential binding |
| mdl_net_curl_internal.h | Module-private libcurl-backend helpers promoted for host unit tests |
| shared_libs | |
| book | |
| inc | |
| book.h | Flat, execute-in-place container for a build-time "compiled" e-book |
| book_chunked.h | Demand-paged chunk reader for the "RBKC" .rabook container |
| book_library.h | Auto-generated index of the compiled e-book library |
| book_paged.h | Paged (demand-fetched) accessor mode for book over ra8_vmem (#163) |
| book_stream.h | Strict, zero-allocation validation of a streamed RABOOK1 flat blob |
| src | |
| book.c | Implementation of the .rabook blob validator |
| book_chunked.c | Implementation of the demand-paged "RBKC" chunk reader |
| book_chunked_validate.c | Strict streaming-validation adapter for an open RBKC chunk reader |
| book_internal.h | Book DOM-walk helpers shared across the library's translation units |
| book_paged.c | Paged book-source layer: copy-out reads over ra8_vmem (#163) |
| book_stream.c | Strict callback-driven validation of a RABOOK1 flat blob |
| book_stream_internal.h | Private wire geometry for strict RABOOK1 stream validation |
| book_stream_wire.c | Wire decoding and canonical layout validation for streamed books |
| book_xhtml.c | Serialize a compiled-book chapter DOM back to XHTML for the renderer |
| comic | |
| inc | |
| comic.h | Unified demand-paged reader for comic-book archives – CBZ (ZIP) and CBR (RAR) |
| comic_tiles.h | Tile an oversized comic page through the JOF atlas + ra8_tile_cache so a CBZ/CBR page larger than the whole-decode arena opens and zooms (#344) |
| ra8_rar.h | Clean-room, read-only RAR archive walker (RAR4 + RAR5 headers, STORE data) |
| ra8_rar5.h | Clean-room RAR 5.0 ("method 50") decompressor – LZ + Huffman + filters |
| src | |
| comic.c | Facade for the comic-archive reader: magic detect, page index, dispatch |
| comic_cbr.c | CBR backend: walk a RAR archive (ra8_rar.h) and index its page images |
| comic_cbt.c | CBT backend: walk a tar archive (unarch_tar.h) and index its pages |
| comic_cbz.c | CBZ backend: a streaming miniz ZIP reader that indexes page images |
| comic_internal.h | Cross-TU seams between the comic facade and its CBZ / CBR backends |
| comic_tiles.c | Tile an oversized comic page: encoded bytes -> JOF atlas -> tile cache (#344) |
| comic_wrapped.c | Wrapped comic open: gzip / XZ unwrap in front of the container detect |
| ra8_rar.c | Implementation of the clean-room RAR4/RAR5 archive walker (ra8_rar.h) |
| ra8_rar5.c | RAR 5.0 LZ decoder driver: token loop, data filters, public entry |
| ra8_rar5_internal.h | Cross-TU seam between the RAR5 entropy front-end and the LZ decoder |
| ra8_rar5_tables.c | RAR 5.0 entropy front-end: bit reader, canonical Huffman, block tables |
| compress | |
| inc | |
| ra8_compress.h | App-domain DEFLATE compress / decompress (zero-heap, firmware-safe) |
| ra8_vfs_compress.h | Transparent VFS-level whole-file compression (compress-on-write,decompress-on-read) over the ra8_io fabric |
| src | |
| ra8_compress.c | Raw-DEFLATE compress / decompress over miniz, heap-free |
| ra8_vfs_compress.c | Transparent whole-file compress-on-write / decompress-on-read over the ra8_io VFS |
| epub | |
| inc | |
| epub.h | EPUB (.epub) reader and chapter iterator for ra8-firmware |
| epub_entry.h | Iterative, bounded-RAM ZIP-entry extraction for the EPUB reader (#231) |
| epub_fs.h | ra8_fs -> epub bridge: open a .epub straight off a filesystem |
| epub_img_tiles.h | Page a large in-EPUB image through ra8_tile_cache + a real reflow <img> loader off the streaming reader (#231) |
| epub_miniz_alloc.h | Caller-owned bounded-arena allocator for miniz |
| src | |
| epub_chapter.c | Chapter / metadata / cover / glyph accessors for the EPUB reader |
| epub_entry.c | Bounded-RAM streaming + windowed extraction of a single ZIP entry (#231) |
| epub_fs.c | ra8_fs -> epub bridge implementation (Phase 4.2 file adapter) |
| epub_fs_internal.h | Test-access surface for the EPUB filesystem stream callback |
| epub_img_import.c | Import-time transcode wiring: manifest href -> JOF atlas -> binder (#231's open-path integration) |
| epub_img_tiles.c | Tile-cache paging of JOF atlases + a real reflow img loader (#231) |
| epub_internal.h | Test-access surface for epub internal helpers (MC/DC) |
| epub_miniz_alloc.c | First-fit allocator over one caller-owned miniz workspace |
| epub_open.c | epub_open() / epub_close() lifecycle plumbing |
| epub_xml_consumer_internal.h | Private contracts for streamed EPUB XML consumers |
| epub_xml_opf_internal.h | Private contracts for the EPUB container and OPF consumers |
| epub_xml_shim.c | Strict bounded container/OPF/NCX/nav XML consumers |
| epub_xml_shim_internal.h | Library-private contract for the bounded EPUB XML parser |
| epub_xml_toc.c | Bounded NCX and EPUB 3 nav table-of-contents consumers |
| epub_xml_toc_internal.h | Private contracts for the EPUB NCX and nav table-of-contents consumers |
| epub_zip_guard.c | Decompression-limits retrofit for every miniz ZIP consumer |
| jof | |
| inc | |
| jof.h | JOF band-tile atlas: the display-native normalized image format (#231, shared with the longstrip scroll #289 and codec policy #290) |
| jof_audit.h | No-heap, backing-agnostic structural audit for JOF atlases |
| jof_produce.h | Import-time transcode producer: JPEG/PNG/WebP -> JOF band-tile atlas in bounded RAM (#231, #290 normalize-on-import) |
| src | |
| jof.c | JOF atlas reader: parse/validate + bounded per-tile decode (#231) |
| jof_audit.c | No-heap implementation of the backing-agnostic JOF audit |
| jof_internal.h | Module-private seams shared by the producer translation units |
| jof_png.c | Streaming PNG scanline decoder for the transcode producer (#231) |
| jof_png_chunk.c | PNG chunk layer for the streaming decoder: prologue, palette tables, ancillary skipping and the post-IDAT walk (#231) |
| jof_png_internal.h | Module-private declarations shared by the two PNG decoder units |
| jof_produce.c | Transcode producer: sniff, decode, tile, encode, emit (#231, #290) |
| jof_produce_webp.c | Transcode producer: whole-frame WebP arm (#290 normalize-on-import) |
| longstrip | |
| inc | |
| longstrip.h | Continuous vertical-scroll (longstrip / manhwa) reading mode over an JOF band-tile atlas (#289) |
| src | |
| longstrip.c | Continuous vertical-scroll (longstrip) engine over a JOF atlas (#289) |
| mdl | |
| inc | |
| mdl_app.h | The downloader's portable application layer: one run mode, one call |
| mdl_cache.h | Bounded per-host HTTP document cache for the media downloader |
| mdl_config.h | Per-site descriptor loaded from a flat key=value config file |
| mdl_discover.h | Search / browse discovery: governed fetch of a results page, parse, honest presentation, and optional select-for-download |
| mdl_export.h | Package a downloaded chapter folder into a reader-openable container |
| mdl_extract.h | Extract image URLs and anchor links from an HTML page (v1 scanner) |
| mdl_fetch.h | State-aware chapter/page download orchestrator for the media downloader |
| mdl_format.h | Shared media artifact format contract for download and export paths |
| mdl_hash.h | Content-identity hashing (FNV-1a 64) for the media downloader's persistent library state |
| mdl_library.h | Portable bounded operations over a tracked media library |
| mdl_net.h | Streaming HTTP(S) GET seam (a real function-pointer vtable) for the host manga downloader (v0) |
| mdl_net_c6link.h | Media network backend over the ESP32-C6 raw HTTPS transport |
| mdl_pack.h | Archive packaging of downloaded page folders for the mdl CLI |
| mdl_pathfs.h | Guarded filesystem directory joins for the media downloader |
| mdl_politeness.h | Jittered inter-request delay plus the per-host politeness governor |
| mdl_report.h | Human-facing progress and failure reporting for the mdl CLI |
| mdl_robots.h | Robots.txt parser, path matcher, and per-host cache |
| mdl_sanitize.h | Neutralise untrusted names before they reach a filesystem or XML sink |
| mdl_search.h | Pure search/discovery policy: query encoding, URL templating, and the honest zero-vs-broken result classifier |
| mdl_session.h | Session identity (honest User-Agent) and robots.txt gating |
| mdl_state.h | Persistent per-series library state for the media downloader |
| mdl_storage.h | Injected portable storage resources for downloader domain code |
| mdl_url_guard.h | Pure URL / address safety predicates for the libcurl backend |
| mdl_urlname.h | Bounded URL naming and portable image-classification helpers |
| mdl_verify.h | Bounded, no-heap structural validation of mdl artifacts |
| src | |
| mdl_app.c | The application layer's one composition seam: the bound working set |
| mdl_app_admin.c | Discovery, descriptor generation, and verification actions |
| mdl_app_cover.c | Cached series-cover acquisition and validated publication |
| mdl_app_direct.c | Direct artifact, page, pack, and run composition actions |
| mdl_app_internal.h | Module-private contract shared by the application-mode translation units |
| mdl_app_library.c | Tracked-library list, remove, and update-all actions |
| mdl_app_prepare.c | Descriptor-driven series preparation and safe path setup |
| mdl_app_series.c | Series selection, download lifecycle, and export actions |
| mdl_app_storage.c | Portable application-storage policy over the injected filesystem |
| mdl_app_storage_internal.h | Private portable filesystem operations shared by CLI application modes |
| mdl_cache.c | Per-host HTTP cache lookup and revalidation state machine |
| mdl_cache_internal.h | Private binary-index and body I/O seams for mdl_cache |
| mdl_cache_io.c | Checksummed binary index and immutable body I/O for mdl_cache |
| mdl_config.c | Flat key=value site-descriptor parser over injected portable storage |
| mdl_discover.c | Governed search/browse: build the query URL, fetch it politely, parse the hits, and present them honestly (with optional select-for-download) |
| mdl_export.c | Coordinate bounded chapter export and validated publication |
| mdl_export_epub.c | Emit deterministic fixed-layout EPUB3 chapter containers |
| mdl_export_epub_internal.h | Private bounded EPUB3 writer contracts for the media downloader |
| mdl_export_epub_meta.c | Render the EPUB3 package document, navigation, and identifier |
| mdl_export_internal.h | Module-private contracts shared by chapter export writers |
| mdl_export_io.c | Portable source streams and validated exporter publication stages |
| mdl_export_io_internal.h | Private portable byte-stream contracts for media exporters |
| mdl_export_jof.c | JOF tile-atlas exporter: one .jof band atlas per chapter page |
| mdl_export_meta.c | Parse, validate, and serialize portable publication metadata |
| mdl_export_rabook.c | Bounded fixed-layout EPUB-to-RBKC writer for media chapters |
| mdl_export_rabook_internal.h | Private bounded RABOOK export contracts for the media downloader |
| mdl_export_rabook_io.c | Portable temporary EPUB and flat-blob adapters for RABOOK export |
| mdl_export_tar.c | Stream deterministic CBT and gzip-wrapped CBT containers |
| mdl_export_workspace.c | Manage the caller-owned media export bump workspace |
| mdl_export_zip.c | Provide bounded miniz storage and the CBZ container writer |
| mdl_extract.c | Bounded image/anchor URL scanning and relative-URL resolution |
| mdl_extract_hits.c | Bounded titled-anchor extraction and deduplication |
| mdl_extract_internal.h | Shared bounded markup lexer helpers for media extraction units |
| mdl_fetch.c | State-aware chapter, asset, and run download orchestration |
| mdl_fetch_body.c | Portable single-transaction response-body sink implementation |
| mdl_fetch_body_internal.h | Portable single-transaction response-body sink for media fetches |
| mdl_fetch_internal.h | Module-private fetch-loop decisions promoted for host unit tests and the CLI's end-of-run reporting |
| mdl_fetch_page.c | Cached page validation, streamed transfer, and publication |
| mdl_hash.c | FNV-1a 64 content hashing over an injected portable filesystem |
| mdl_library.c | Portable bounded tracked-library enumeration and tree removal |
| mdl_net.c | Backend-agnostic dispatchers for the mdl_net_iface_t vtable seam |
| mdl_net_c6link.c | Digest-verified media network backend over C6link |
| mdl_net_internal.h | Private HTTP classification shared by downloader network backends |
| mdl_pack.c | Implementation of the downloaded-folder archive packaging |
| mdl_pathfs.c | Implementation of the guarded filesystem directory join |
| mdl_politeness.c | Seeded xorshift64 jitter, injectable clock, and the per-host governor |
| mdl_report.c | Implementation of the mdl progress + failure presenter |
| mdl_robots.c | Implementation of the robots.txt parser, matcher, and per-host cache |
| mdl_sanitize.c | Implementation of the untrusted-name sanitisers |
| mdl_search.c | Pure search/discovery policy: percent-encoding, URL templating, and the zero-vs-broken result classifier |
| mdl_session.c | Implementation of the session identity + robots.txt gating |
| mdl_state.c | In-memory model and coverage queries for persistent series state |
| mdl_state_codec.c | Portable parser for persistent series state payloads |
| mdl_state_decimal.c | Exact locale-free conversion for legacy decimal state values |
| mdl_state_internal.h | Module-private validation shared by the state model and codec |
| mdl_state_store.c | Portable checksummed two-generation persistence for downloader state |
| mdl_storage.c | Portable downloader storage binding and validated atomic copy |
| mdl_stream.c | Private bounded text helpers over the portable byte-stream contract |
| mdl_stream_internal.h | Private bounded text helpers over the portable byte-stream contract |
| mdl_url_guard.c | Implementation of the pure URL / address safety predicates |
| mdl_urlname.c | Bounded URL naming and portable image-type readers |
| mdl_verify.c | Portable bounded structural validators for media artifacts |
| mdl_verify_internal.h | Private bounded validator seams shared by the mdl verifiers |
| mdl_verify_rabook.c | Strict allocation-free RBKC validation for media downloader artifacts |
| mdl_verify_rabook_internal.h | Private strict RBKC validator seam for media downloader artifacts |
| mdl_verify_tarball.c | Streamed USTAR and gzip-framed CBT structural validation |
| mdl_storage_vfs | |
| inc | |
| mdl_rabook_vfs.h | Strict no-heap RBKC validator and reader over named RA8 VFS mounts |
| mdl_storage_vfs.h | No-heap VFS storage binding for the media-download coordinator |
| src | |
| mdl_rabook_vfs.c | Strict no-heap RBKC validation and reading through the RA8 VFS |
| mdl_storage_vfs.c | Transactional media-download storage over named RA8 VFS mounts |
| rabook_compile | |
| inc | |
| ra8_rabook_comic.h | Streaming image-sequence builder for reader-native RABOOK comics |
| ra8_rabook_container.h | Zero-heap streaming writer for the chunked RBKC .rabook container |
| ra8_rabook_gray4.h | Grayscale image transcode stage (4-bpp / 8-bpp) for the on-device EPUB compiler (#149) |
| ra8_rabook_pipeline.h | End-to-end EPUB -> RABOOK1 compile pipeline (#149) |
| ra8_rabook_raster.h | Caller-arena raster normalizer for RABOOK image records |
| ra8_rabook_xml_shim.h | Bounded XHTML-to-RABOOK streaming builder |
| rabook_compile.h | Zero-heap builder that emits a RABOOK1 blob (the #149 compiler back-end) |
| src | |
| ra8_rabook_comic.c | Streaming image-sequence builder for reader-native RABOOK comics |
| ra8_rabook_container.c | Zero-heap streaming RBKC container writer |
| ra8_rabook_finalize.c | Canonical RABOOK1 serialization and finalization |
| ra8_rabook_gray4.c | Grayscale image transcode – downscale + quantise + nibble-pack (4-bpp) or copy (8-bpp) |
| ra8_rabook_pipeline.c | End-to-end EPUB -> RABOOK1 compile pipeline (#149) |
| ra8_rabook_pipeline_fs.c | Optional ra8_fs publication wrapper for the RABOOK pipeline |
| ra8_rabook_pipeline_internal.h | Private validation seam shared by RABOOK pipeline entry points |
| ra8_rabook_raster.c | Caller-arena raster normalizer for RABOOK image records |
| ra8_rabook_xml_shim.c | Strict streamed XHTML-to-RABOOK consumer |
| ra8_rabook_xml_shim_test_internal.h | Test-only seams for post-validation XML reader faults |
| rabook_compile.c | RABOOK1 builder implementation (see rabook_compile.h) |
| rabook_import | |
| inc | |
| rabook_import.h | On-import EPUB -> .rabook compile-and-cache manager (#151) |
| rabook_import_compiler.h | Production adapter binding the import seam to the real compiler (#151) |
| rabook_import_internal.h | Module-private bounded source-key streaming contracts |
| src | |
| rabook_import.c | On-import EPUB -> .rabook compile-and-cache manager (#151) |
| rabook_import_compiler.c | Production adapter binding the import seam to the real compiler (#151) |
| reflow | |
| inc | |
| ra8_img_arena.h | Heap-free scratch allocator hooks for the stb_image single-TU build |
| ra8_stbtt_alloc.h | Heap-free scratch allocator for stb_truetype (glyph rasterise) |
| ra8_stbtt_guard.h | Sfnt (TrueType/OpenType) table-directory bounds guard for stb_truetype |
| reflow.h | HTML / CSS reflow + paginate engine for the ra8d2 ereader |
| reflow_api.h | Reflow-engine public + internal function prototypes |
| reflow_cache.h | Import-time pagination cache for reflow (#79) |
| reflow_css.h | Minimal content-CSS cascade for the reflow ereader engine (#111) |
| reflow_image.h | Zero-heap raster image decode + scale + blit for reflow (#106) |
| reflow_svg.h | Minimal SVG handling for the reflow ereader (#112) |
| reflow_types.h | Reflow-engine data model: enums, structs, typedefs, and the handle |
| src | |
| ra8_img_arena.c | Caller-bound bump arena with refcount auto-reset for stb_image |
| ra8_stbtt_alloc.c | Fixed bump arena with refcount auto-reset for stb_truetype |
| ra8_stbtt_guard.c | Sfnt table-directory bounds validator run before stbtt_InitFont() |
| reflow_cache.c | Import-time pagination cache serialiser / loader for reflow |
| reflow_css.c | Content-CSS primitives + declaration-body parsing (#111) |
| reflow_css_cascade.c | Content-CSS stylesheet scanner, cascade, and face lookup (#111) |
| reflow_css_internal.h | Cross-TU surface for the split content-CSS cascade (#111) |
| reflow_css_rules.c | Content-CSS selector + @font-face rule parsing (#111) |
| reflow_image.c | Zero-heap raster image decode + nearest-neighbour scale + blit (#106) |
| reflow_internal.h | Test-access surface for reflow internal helpers (MC/DC) |
| reflow_layout.c | Greedy line-break + page-break engine for reflow |
| reflow_layout_driver.c | Token-stream driver + public lifecycle API for the reflow engine |
| reflow_layout_image.c | Block-level <img> layout for the reflow engine (#106) |
| reflow_layout_internal.h | Cross-TU shared declarations for the reflow layout engine |
| reflow_layout_table.c | <table> equal-column grid layout for the reflow engine (#107) |
| reflow_link.c | Page tap-target queries: link + image hit-test, anchor lookup, href split |
| reflow_parse.c | HTML-subset parser entry point for reflow |
| reflow_render.c | Page-rasteriser for reflow |
| reflow_svg.c | Scan / attribute / colour-parsing core of the minimal SVG subset (#112) |
| reflow_svg_doc.c | SVG document walk, gradient definitions, and the public render API (#112) |
| reflow_svg_internal.h | Cross-TU surface for the split minimal-SVG subset (#112) |
| reflow_svg_path.c | SVG <path> d mini-language parser + Bezier flatten (#112) |
| reflow_svg_shape.c | SVG shape rasterisers: rect / circle / line / polygon + fill + arc (#112) |
| reflow_svg_xform.c | Coordinate transform + 2x3 affine transform= parsing for SVG (#112) |
| reflow_tokenize.c | No-heap streaming XHTML tokenizer for reflow (replaces the former heap-backed DOM shim) |
| reflow_tokenize_attr.c | Attribute and CSS-identity helpers for the no-heap XHTML tokenizer: quoted-attribute scanning, <img src> / <a href> capture, CSS element-identity + inline-style extraction, link interning, and embedded-face resolution |
| reflow_tokenize_internal.h | Test-access surface for reflow_tokenize.c internal helpers |
| reflow_tokenize_lex.c | Lexical primitives for the no-heap streaming XHTML tokenizer: whitespace/entity/UTF-8 scanning, tag classification, and the text-pool / token-pool emit helpers |
| v2 | |
| src | |
| reflow_v2.cpp | LiteHTML-backed reflow engine – reflow public API adapter |
| unarch | |
| inc | |
| unarch_gzip.h | Clean-room gzip member decoder (RFC 1952) over the miniz DEFLATE core |
| unarch_io.h | Shared seek+read seam and flat-memory backing for the unarchivers |
| unarch_tar.h | Clean-room, read-only streaming tar walker (POSIX ustar + pax + GNU) |
| unarch_xz.h | Bounded, fail-closed XZ/LZMA2 decoding over the vendored xz-embedded |
| unarch_xz_pool.h | Caller-owned bump arena backing xz-embedded's allocator seam |
| xz_config.h | First-party porting header for the vendored xz-embedded decoder |
| src | |
| unarch_gzip.c | RFC 1952 gzip member decoder over the vendored miniz tinfl core |
| unarch_io.c | Flat-memory backing for the shared unarchiver read seam |
| unarch_tar.c | Streaming tar walker: open / next / read over the shared read seam |
| unarch_tar_fields.c | Untrusted-byte parsers for the tar walker: numerics, checksum, pax |
| unarch_tar_internal.h | Module-private tar field/record parsers shared across the tar TUs |
| unarch_xz.c | Bounded XZ/LZMA2 decode wrapper over the vendored xz-embedded |
| unarch_xz_pool.c | Bump-arena implementation behind xz-embedded's allocator seam |
| webp | |
| inc | |
| ra8_webp.h | Zero-heap WebP (VP8 / VP8L) decode facade over the vendored libwebp |
| ra8_webp_arena.h | Heap-free scratch allocator hooks for the vendored libwebp decoder |
| src | |
| ra8_webp.c | Zero-heap WebP decode facade over the vendored libwebp (impl) |
| ra8_webp_arena.c | Caller-bound bump arena with refcount auto-reset for libwebp |
| xml | |
| inc | |
| xml.h | Bounded, caller-owned, no-heap XML pull reader |
| src | |
| xml.c | Bounded no-heap XML pull-reader implementation |
| xml_decode.c | Bounded entity and UTF-8 decoding for the no-heap XML pull reader |
| xml_doctype.c | Bounded external-only DOCTYPE lexer for the no-heap XML reader |
| xml_internal.h | Private lexical seams shared by the bounded XML reader |
| xml_reader_internal.h | Private contracts for the bounded XML reader implementation |
| zoom | |
| inc | |
| zoom.h | Tap-to-zoom image viewer: viewport state machine + tiled magnifying render (#478) |
| zoom_book.h | Bind a .rabook image-pool figure as a zoom source (#478) |
| zoom_tiles.h | Bind a tiled gray8 atlas behind an ra8_tile_cache as a zoom source (#478) |
| src | |
| zoom.c | Viewport state machine for the tap-to-zoom image viewer (#478) |
| zoom_book.c | .rabook image-pool source adapter for the tap-to-zoom viewer (#478) |
| zoom_internal.h | Module-private seam shared by the zoom state machine and its render |
| zoom_render.c | Strip composite for the tap-to-zoom viewer: magnify, re-dither, blit (#478) |
| zoom_tiles.c | Tiled-atlas source adapter for the tap-to-zoom viewer (#478) |
| coprocessor | Firmware for the companion co-processors, built by their own vendor toolchains rather than this tree's: today the ESP32-C6 esp-hosted peripheral image that libs/ra8_c6link talks to over SPI |
| esp32c6 | |
| docs | Human-facing documentation: architecture, policy, the DO-178C / IEC 61508 safety-and-certification evidence, hardware bring-up, and quick reference |
| adr | |
| design | |
| formats | |
| generated | |
| pinouts | |
| qualification | |
| release | |
| reference | Committed vendor reference material: the RA8D2 datasheet, Hardware User's Manual, technical brief, and the EK-RA8D2 board manual (PDFs), plus the chapter map used by the HUM-citation tooling |
| sbom | |
| patches | |
| SOUP | |
| examples | Example applications – the primary showcase of the repository |
| _unsupported | Apps that need external hardware not on the stock board (motor driver, audio CODEC, BLE/Thread radios, ...) |
| audio_loopback | |
| src | |
| main.c | BSP-driven I2S audio playback demo for EK-RA8D2 (DA7212 CODEC) |
| motor_3phase | |
| src | |
| main.c | Three-phase GPT PWM motor demo for EK-RA8D2 (GPT0/1/2 -> U/V/W) |
| threadx_https_client | |
| src | |
| main.c | ThreadX + NetX Duo + Mbed TLS HTTPS client demo for EK-RA8D2 |
| mbedtls_psa_rng.c | Mbed TLS PSA random-source adapter for the HTTPS client demo |
| threadx_nimble_peripheral | |
| src | |
| main.c | NimBLE-based Battery Service peripheral on top of ThreadX (RA8D2) |
| threadx_sdcard_demo | |
| src | |
| main.c | Eclipse ThreadX SD-card boot-sector dump on the EK-RA8D2 |
| usb_audio_device | |
| src | |
| main.c | USB Audio Class 1.0 device-mode smoke test for EK-RA8D2 (USB-FS, 48 kHz / 16-bit / stereo iso-IN sine generator) |
| ek_ra8d2 | |
| common | |
| c6_camera_server | |
| inc | |
| c6_camera_server.h | Shared contracts for ESP32-C6 browser camera servers |
| src | |
| c6_cam_app.c | Shared C6 camera-stream application workflow |
| c6_cam_audio.c | Interrupt-driven onboard PDM microphone recorder for camera servers |
| c6_cam_console.c | Heap-free console formatting for camera livestream diagnostics |
| c6_cam_net.c | NetX DHCP and a single-connection HTTP camera server over ESP32-C6 |
| network_provision | |
| inc | |
| ra8_net_provision.h | Runtime network provisioning contract for EK-RA8D2 applications |
| src | |
| ra8_net_provision.c | Bounded runtime network provisioning parser and UART receiver |
| hil_needs_revalidation | |
| bkup_survival_demo | |
| src | |
| main.c | VBATT backup-register read/write + reset-survival demo (EK-RA8D2) |
| compress_demo | |
| src | |
| main.c | Transparent compress-on-write / decompress-on-read over the VFS (#161) |
| cpu1_pingpong_ipc | |
| src | |
| cpu1_main.c | CPU1 (Cortex-M33) ping-pong responder |
| main.c | CPU0 (M85) Secure fallback entry for the TZ ping-pong demo |
| ns_main.c | Self-contained Non-Secure image at 0x02080000 for the IPC ping-pong demo |
| system_init.c | Examples/ek_ra8d2/hil_needs_revalidation/cpu1_pingpong_ipc/src/system_init.c |
| trustzone_init.c | Examples/ek_ra8d2/hil_needs_revalidation/cpu1_pingpong_ipc/src/trustzone_init.c |
| epub_open | |
| inc | |
| epub_fixture.h | Baked known-good EPUB3 fixture (tests/fuzz/corpus/fuzz_epub/seed_two_chapters.epub) |
| src | |
| main.c | On-silicon HIL: open + parse a real .epub from SD via ra8_fs (#114) |
| epub_parse | |
| inc | |
| epub_fixture.h | Baked known-good EPUB3 fixture (tests/fuzz/corpus/fuzz_epub/seed_two_chapters.epub) |
| src | |
| main.c | On-silicon HIL: epub parse layer runs on the target (#139) |
| epub_toc | |
| inc | |
| epub_toc_fixture.h | Baked EPUB TOC fixtures for epub_toc (#116) |
| src | |
| main.c | On-silicon HIL: EPUB TOC navigation (NCX + nav.xhtml) from SD (#116) |
| ereader_shelf | |
| inc | |
| library.h | @generated by tools/epub_compile/src/bake_library.py – do not edit by hand |
| sh_app.h | Shared contract for the ereader_shelf multi-screen e-reader |
| sh_classify.h | Book-format classification by file extension (long-name aware, #633) |
| sh_comic_fixture.h | Baked CBZ + CBR comic fixtures for the ereader_shelf comic self-check |
| src | |
| main.c | Hybrid baked + SD e-reader: shelf, cover, TOC, full-book reader |
| sh_book.c | Format-agnostic book backend: book (.rabook) + epub (.epub) |
| sh_comic.c | Full-page image reader for CBZ / CBR comic archives (#236) |
| sh_cover.c | Cover / title page for the open book |
| sh_image.c | 4bpp-grayscale cover / image decode + scaled blit for ereader_shelf |
| sh_paged.c | Demand-paged .rabook backing: chunk reader + page cache + source bind |
| sh_reader.c | Full-book reader: per-chapter text extraction, word-wrap, pagination |
| sh_sd.c | Optional SD-card book source for the hybrid e-reader |
| sh_shelf.c | Bookshelf screen: a grid of book cards with cover thumbnails |
| sh_toc.c | Table-of-contents screen: scrollable chapter list for the open book |
| sh_util.c | Small shared drawing + formatting helpers for ereader_shelf |
| gpt_irq_demo | |
| src | |
| main.c | GPT0 overflow interrupt -> NVIC -> ISR demo for EK-RA8D2 |
| lpm_deep_standby_1_demo | |
| src | |
| main.c | Deep Software Standby 1 (LPSCR.LPMD = 0x8) entry demo |
| lpm_deep_standby_2_demo | |
| src | |
| main.c | Deep Software Standby 2 (LPSCR.LPMD = 0x9) entry demo |
| lpm_deep_standby_3_demo | |
| src | |
| main.c | Deep Software Standby 3 (LPSCR.LPMD = 0xA) entry demo |
| lpm_idle_demo | |
| src | |
| main.c | Sleep-mode wake-count demo for the bare EK-RA8D2 |
| lpm_periodic_idle | |
| src | |
| main.c | Periodic-app deep-idle loop: wake-do-work-standby on ULPT0 self-wake |
| lpm_software_standby_demo | |
| src | |
| main.c | Software Standby (LPSCR.LPMD = 0x5) + RTC periodic wake demo |
| lpm_ulpt_standby | |
| src | |
| main.c | ULPT0-underflow wake from Software Standby (LPSCR.LPMD = 0x5) |
| lpm_wake_matrix_demo | |
| src | |
| main.c | Exercise the WUPEN0 / WUPEN1 wake-source enable matrix |
| lvd_monitor_demo | |
| src | |
| main.c | Safe LVD / PVD VCC-monitor demo for the EK-RA8D2 |
| mem_ecc_fault_demo | |
| src | |
| main.c | SRAM ECC fault-injection + detection demo (EK-RA8D2, issue #130) |
| mem_subsystem | |
| src | |
| main.c | Drives each ra8_mem (#147) memory-hierarchy layer in isolation (#263) |
| mpu_partition_simple | |
| src | |
| main.c | Single-region MPU read-only partition demo with fault recovery |
| vector_table.c | Cortex-M85 vector table and default interrupt handlers for RA8D2 |
| pagecache | |
| src | |
| main.c | On-silicon HIL: reflow pagination-cache round-trip on SD (#117) |
| pdg_delay_demo | |
| src | |
| main.c | PWM Delay Generation (PDG) bring-up + delay-program demo (EK-RA8D2) |
| poeg_safe_shutoff | |
| src | |
| main.c | POEG (Port Output Enable for GPT) safe-shutoff demo for the EK-RA8D2 |
| power_profiler | |
| src | |
| main.c | Power-mode profiler smoke app for the EK-RA8D2 |
| psa_crypto_hil | |
| src | |
| main.c | On-silicon NIST/RFC known-answer test for the REAL crypto backend |
| psa_kat_shim.c | TEST-ONLY platform shims for the tf-psa-crypto software backend |
| ra8_cache_store_demo | |
| inc | |
| cache_store_demo.h | Hardware-free driver for the ra8_cache_store on-media cache demo (#257) |
| lx_nor_ram.h | RAM-backed standalone-LevelX NOR driver (the ra8_cache_store DIP seam) |
| src | |
| cache_store_demo.c | Hardware-free ra8_cache_store on-media cache demo – implementation (#257) |
| lx_nor_ram.c | RAM-backed standalone-LevelX NOR driver – implementation |
| main.c | Ra8_cache_store on-media render/glyph cache demo for the EK-RA8D2 (#257) |
| ra8_io_cache_demo | |
| src | |
| main.c | Ra8_io caching block device demo (Phase 5, #160) |
| ra8_io_demo | |
| inc | |
| ra8_io_roundtrip.h | Shared, backend-agnostic ra8_io VFS round-trip for the FAT demos (#155) |
| src | |
| main.c | End-to-end demo of the ra8_io fabric (epic #155) over a RAM block device |
| ra8_io_roundtrip.c | Shared ra8_io VFS round-trip implementation for the FAT demos (#155) |
| ra8_io_fsfmt_demo | |
| src | |
| main.c | Ra8_io pluggable filesystem-format registry demo (Phase 4, #159) |
| ra8_io_sd_demo | |
| inc | |
| ra8_io_roundtrip.h | Shared, backend-agnostic ra8_io VFS round-trip for the FAT demos (#155) |
| src | |
| main.c | Prove the ra8_io fabric's swappable backend (#155/#156) over a microSD |
| ra8_io_roundtrip.c | Shared ra8_io VFS round-trip implementation for the FAT demos (#155) |
| ra8_io_sdram_demo | |
| inc | |
| ra8_io_roundtrip.h | Shared, backend-agnostic ra8_io VFS round-trip for the FAT demos (#155) |
| src | |
| main.c | Ra8_io fabric over the external SDRAM backend (epic #155) on EK-RA8D2 |
| ra8_io_roundtrip.c | Shared ra8_io VFS round-trip implementation for the FAT demos (#155) |
| ra8_io_xspi_demo | |
| inc | |
| ra8_io_roundtrip.h | Shared, backend-agnostic ra8_io VFS round-trip for the FAT demos (#155) |
| src | |
| main.c | Ra8_io fabric over OSPI NOR flash (epic #155, #156) on the EK-RA8D2 |
| ra8_io_roundtrip.c | Shared ra8_io VFS round-trip implementation for the FAT demos (#155) |
| reflow_content | |
| inc | |
| font_fixture.h | Baked Ahem TTF (public domain) for the ereader_link layout gate |
| src | |
| main.c | Headless on-silicon HIL gate for reflow content render + pagination (#115) |
| reset_cause_demo | |
| src | |
| main.c | HIL gate for the ra8_reset driver – software-reset round-trip |
| rng_demo | |
| src | |
| main.c | Ra8_psa_crypto_random() dump over SCI8 for the bare EK-RA8D2 EVM |
| rot_verify_hil | |
| inc | |
| rot_fixture.h | Baked RoT-signed image fixture (body + ra8_rot_trailer_t) |
| src | |
| main.c | On-silicon root-of-trust image verify (ECDSA-P256 via tf-psa-crypto) |
| psa_kat_shim.c | TEST-ONLY platform shims for the tf-psa-crypto software backend |
| rsip_sha256_kat | |
| src | |
| main.c | On-silicon FIPS 180-4 known-answer test for the RSIP HASH engine |
| rtc_alarm | |
| src | |
| main.c | RTC alarm + UART log demo for EK-RA8D2 |
| rtc_periodic_demo | |
| src | |
| main.c | RTC alarm + UART log demo for EK-RA8D2 |
| touch_cal | |
| src | |
| main.c | N-point affine touch-calibration demo + HIL gate (#262) |
| touch_demo | |
| src | |
| main.c | Standalone GoodIX GT911 capacitive-touch bring-up demo + HIL (#122) |
| tz_nsc_cgc_usb | |
| inc | |
| ns_usb_internal.h | Private split-seam shared between ns_usb.c and ns_usb_host.c (#96) |
| src | |
| main.c | CPU0 (M85) Secure fallback entry for the single-core S->NS demo |
| ns_main.c | Non-Secure image: prove the NSC CGC veneers return OK from NS (#60) |
| ns_usb.c | Non-Secure image: full ThreadX + USBX CDC self-loop inside TrustZone NS (#96) |
| ns_usb_host.c | Non-Secure USBHS polled HOST ladder: enumerate + bulk echo (#96) |
| system_init.c | Cortex-M85 / RA8D2 core bring-up (called from Reset_Handler) |
| trustzone_init.c | Single-core TrustZone bring-up for a RAM-resident NS image (#60) |
| usb_selftest_wlun | |
| inc | |
| usb_selftest_wlun_steps.h | Examples/ek_ra8d2/hil_needs_revalidation/usb_selftest_wlun/inc/usb_selftest_wlun_steps.h |
| src | |
| main.c | USB self-loop: HS host WRITE(10)s + reads back a RAM-backed device |
| usb_selftest_wlun_console.c | Examples/ek_ra8d2/hil_needs_revalidation/usb_selftest_wlun/src/usb_selftest_wlun_console.c |
| usb_selftest_wlun_host.c | Examples/ek_ra8d2/hil_needs_revalidation/usb_selftest_wlun/src/usb_selftest_wlun_host.c |
| hw_pending | Apps written but not yet hardware-validated on a stock board |
| adc_diag_tsn_demo | |
| src | |
| main.c | ADC_B self-diagnosis (modes 1/2/3) + on-die temperature demo |
| battery_monitor_demo | |
| src | |
| main.c | Battery state-of-charge monitor over a MAX17048-class fuel gauge |
| blink_m33_hal | |
| inc | |
| blink_m33_hal.h | One-iteration LED1 blink step for the HAL-based M33 example |
| src | |
| cpu1_main.c | CPU1 (Cortex-M33) image: blink LED1 through the HAL PCNTR primitive |
| main.c | CPU0 (Cortex-M85) launcher for the HAL-based M33 blink |
| trustzone_init.c | Cortex-M85 TrustZone-M Security Attribution Unit (SAU) bring-up |
| c6 | |
| c6_mdl_test | |
| src | |
| main.c | Cross-build fixture for the bounded C6 media RPC types |
| cache_hal_enable_demo | |
| src | |
| main.c | Cortex-M85 L1 cache brought up through the ra8_cache HAL (issue #577) |
| compile_on_m33 | |
| inc | |
| compile_on_m33.h | Shared-SRAM contract for the "RABOOK1 emitter on the M33" demo (#149b) |
| parity_fixture.h | Baked parity .epub + golden blob for the M33 compile (#149) |
| src | |
| cpu1_main.c | CPU1 (Cortex-M33 secondary core) image: full text/CSS/SVG EPUB->RABOOK1 compile |
| main.c | CPU0 (Cortex-M85 primary core) driver: stage an EPUB, offload its compile to the M33 |
| trustzone_init.c | Cortex-M85 TrustZone-M Security Attribution Unit (SAU) bring-up |
| dtc_isr_arm_demo | |
| src | |
| main.c | DTC arm/disarm demo built on the ra8_isr_set_dtc() HAL primitive |
| epaper_refresh | |
| src | |
| main.c | IT8951 e-paper full + partial refresh demo through the display PAL |
| epub_stress | |
| inc | |
| epub_stress_fixture.h | Baked synthetic large-structure EPUB3 for the #144 pool-stress gate |
| scripts | |
| make_stress_fixture.py | |
| src | |
| main.c | On-silicon HIL: large-structure EPUB opens on the static arena (#144) |
| ereader_comic | |
| inc | |
| cm_tiled_check.h | Boot-time self-check that opens an oversized comic page via the JOF tile path and reports a deterministic digest (#344) |
| comic_large_fixture.h | Baked oversized single-page CBZ for the ereader_comic tile self-check (#344; generated by scripts/gen/gen_comic_large_fixture.py – do not edit) |
| comic_pages_fixture.h | Baked multi-page CBZ fixture for the viewable ereader_comic demo (generated by scripts/gen/gen_comic_fixture.py – do not edit) |
| src | |
| cm_tiled_check.c | Oversized-page tile self-check for ereader_comic (#344) |
| main.c | Viewable page-turn comic reader – baked CBZ decoded to the 1024x600 GLCDC panel, tap-zone navigation (ra8_emulator / emulator-viewable) |
| ereader_cover | |
| inc | |
| epub_cover_fixture.h | Baked minimal EPUB3 with a real PNG cover (cover-image manifest item) |
| scripts | |
| make_cover_fixture.py | |
| src | |
| main.c | On-silicon HIL: EPUB cover-art extraction + decode + render (#143) |
| ereader_longstrip | |
| src | |
| main.c | Viewable continuous vertical-scroll (longstrip / manhwa) reader (#289) |
| ereader_m33 | |
| inc | |
| ereader_m33.h | Shared contract for the "render a held e-reader page on the M33" demo |
| rabook_fixture.h | Baked, INFLATED .rabook flat blob for the ereader_rabook gate |
| src | |
| cpu1_main.c | CPU1 (Cortex-M33 secondary core) image: render a held e-reader page |
| main.c | CPU0 (Cortex-M85 primary core) driver for the e-reader-on-M33 demo |
| trustzone_init.c | Cortex-M85 TrustZone-M Security Attribution Unit (SAU) bring-up |
| ereader_manga | |
| inc | |
| mg_page_fixture.h | Baked demo manga page for the ereader_manga viewer |
| mg_reader.h | Tap-driven pan/zoom viewer over a tiled manga page (ereader_manga) |
| src | |
| main.c | Viewable manga reader: pan/zoom a page larger than the panel (Demo B) |
| mg_reader.c | Tap-driven pan/zoom viewer over a tiled manga page (ereader_manga) |
| ereader_zoom | |
| inc | |
| ez_scene.h | Tap-to-zoom demo scene: tiled 12 MP page, zoom viewport, loupe (#478) |
| src | |
| ez_scene.c | Tap-to-zoom demo scene: page sampler, viewports, chrome, self-check |
| main.c | Viewable tap-to-zoom image viewer: full-screen zoom + panel loupe (#478) |
| eth_gptp_timestamp_demo | |
| src | |
| main.c | GPTP hardware-timer demo – proves the HUM Ch 35 counter really runs |
| eth_hal_bringup | |
| src | |
| main.c | HAL-based ESWM/COMA Ethernet media bring-up demo (issue #581) |
| eth_l3switch_forward_demo | |
| src | |
| main.c | L3 Ethernet switch / frame-forwarding config demo (ra8_eth_mfwd + ra8_layer3_switch) |
| eth_tsn_tas_demo | |
| src | |
| main.c | TSN scheduled-traffic demo: 802.1Qbv time-aware + 802.1Qav credit shaper |
| gpt_edge_capture_count | |
| src | |
| main.c | GPT hardware input-capture + external event/pulse counting demo |
| hal_timebase_demo | |
| src | |
| main.c | HAL SysTick + DWT timebase demo for EK-RA8D2 (SCI8 @ 115200) |
| i2c_peripheral_responder | |
| src | |
| main.c | RIIC (ra8_i2c) target/peripheral responder driven by an external controller |
| i3c_i2c_peripheral_demo | |
| src | |
| main.c | IIC_B peripheral-mode demo on EK-RA8D2 |
| import_reader | |
| src | |
| main.c | End-to-end on-import EPUB -> .rabook compile + cache + read (#151) |
| imu_lsm6dso_demo | |
| src | |
| main.c | LSM6DSO 6-DoF IMU bring-up demo over IIC_B |
| lin_commander_hil | |
| src | |
| main.c | LIN commander frame-driver HIL demo for EK-RA8D2 (SCI2 on Pmod1) |
| lowpower_holdpage | |
| inc | |
| lowpower_holdpage.h | Shared-SRAM contract for the low-power "hold the page" dual-core demo |
| src | |
| cpu1_main.c | CPU1 (Cortex-M33 secondary core) image: hold the page in low power |
| main.c | CPU0 (Cortex-M85 primary core) driver for the low-power hold-page demo |
| system_init.c | Cortex-M85 / RA8D2 core bring-up (called from Reset_Handler) |
| trustzone_init.c | Cortex-M85 TrustZone-M Security Attribution Unit (SAU) bring-up |
| manual | |
| usb_msc_sdcard | |
| inc | |
| usb_msc_sdcard_steps.h | Examples/ek_ra8d2/hw_pending/manual/usb_msc_sdcard/inc/usb_msc_sdcard_steps.h |
| src | |
| main.c | USB MSC device serving the LIVE full-capacity Pmod2 SD card (R/W) |
| usb_msc_sdcard_console.c | Examples/ek_ra8d2/hw_pending/manual/usb_msc_sdcard/src/usb_msc_sdcard_console.c |
| usb_msc_sdcard_steps.c | Examples/ek_ra8d2/hw_pending/manual/usb_msc_sdcard/src/usb_msc_sdcard_steps.c |
| usb_printer_vendor | |
| inc | |
| usb_printer_vendor_ch9.h | Chapter-9 SETUP router + descriptor tables for the printer/vendor demo |
| src | |
| main.c | Native (bare-metal) USB printer + vendor composite device for EK-RA8D2 |
| media_download | |
| inc | |
| media_download_format_internal.h | Private source-image to RBKC formatter for the media app |
| media_download_image_internal.h | Private encoded-image download and RABOOK publication composition |
| src | |
| main.c | Download, validate, publish, and reopen one C6-fetched .rabook |
| media_download_format.c | Private source-image to RBKC formatter for the media app |
| media_download_image.c | Convert one C6-fetched encoded image into a strict .rabook |
| modem_at_demo | |
| src | |
| main.c | Cellular AT-modem bring-up + query demo over the MikroBUS UART (SCI7) |
| mpu_boot_map_hal | |
| src | |
| main.c | "MPU boot map brought up through the ra8_mpu HAL" self-test (#576) |
| system_init.c | Cortex-M85 / RA8D2 core bring-up – MPU map via the ra8_mpu HAL (#576) |
| ota_ab_orchestration | |
| src | |
| main.c | A/B OTA orchestration demo: stage -> verify -> commit / rollback over MRAM |
| ra8_ftl_demo | |
| src | |
| main.c | Wear-levelled block I/O + power-cycle survival over the FTL (#258) |
| ra8_io_mram_demo | |
| src | |
| main.c | Ra8_io fabric over on-chip extra-MRAM (data flash) backend (#155/#156) |
| ra8_io_sdhi_demo | |
| src | |
| main.c | Prove the ra8_io fabric's swappable backend (#155/#156) over native SDHI |
| ra8_io_swap_demo | |
| src | |
| main.c | Ra8_io fabric capstone: two block-dev backends swapped behind one interface, a VFS open/read/write/close round-trip, and stdio retargeted to both a UART and a RAM stream (epic #155, issue #264) |
| ra8_sdhi_card_demo | |
| src | |
| main.c | Native 4-bit SDHI raw-block round-trip on the EK-RA8D2 microSD (#123) |
| scb_diag_demo | |
| src | |
| main.c | Cortex-M85 SCB HAL demo: VTOR query + fault-status dump over UART |
| secure_boot_ns_hil | |
| inc | |
| trustzone_init.h | Secure TrustZone bring-up contract for the BLXNS RoT proof (#172) |
| scripts | |
| sign_and_merge.py | |
| src | |
| main.c | Secure side: authenticate the NS image, then BLXNS – the TrustZone RoT proof (#172) |
| ns_main.c | Non-Secure image: liveness beacon proving the BLXNS RoT gate passed (#172) |
| psa_verify_rng.c | Fail-closed PSA external-RNG hook for the verify-only secure boot (#172) |
| system_init.c | Cortex-M85 / RA8D2 core bring-up (called from Reset_Handler) |
| trustzone_init.c | Single-core TrustZone bring-up for a RAM-resident NS image (#172) |
| vector_table.c | Cortex-M85 vector table and default interrupt handlers for RA8D2 |
| smbus_demo | |
| src | |
| main.c | SMBus 3.2 protocol-layer demo + HIL over IIC_B (#128) |
| tls_client | |
| src | |
| main.c | TLS client over ra8_tls + ra8_net_pal (NetX Duo transport) |
| tz_threadx_demo | |
| src | |
| main.c | CPU0 (M85) Secure world fallback for the trustzone_threadx_demo |
| ns_main.c | Non-Secure main entry point: launches ThreadX and demo worker threads |
| system_init.c | Cortex-M85 / RA8D2 core bring-up (called from Reset_Handler) |
| trustzone_init.c | Single-core TrustZone bring-up for a RAM-resident NS image (#60) |
| vector_table.c | Cortex-M85 vector table and default interrupt handlers for RA8D2 |
| webp_decode_demo | |
| src | |
| main.c | On-target WebP decode smoke test (ra8_webp over vendored libwebp) |
| hw_validated | Apps confirmed working on a stock EK-RA8D2 board: smoke (no-UART), uart (print over SCI), manual (jumper/button steps), and hil (hardware-in-the-loop, driven by the bench rig) |
| c6 | |
| c6_camera_livestream | |
| src | |
| c6_cam_camera.c | Camera initialization and VGA UYVY to QVGA JPEG frame production |
| main.c | Entry point for the software-JPEG C6 camera livestream |
| c6_camera_mjpeg | |
| src | |
| c6_cam_camera.c | OV5640 hardware-JPEG camera backend for the C6 MJPEG example |
| main.c | Entry point for the sensor-JPEG C6 camera livestream |
| c6_fw_version | |
| inc | |
| c6_fwver.h | Shared contract for the esp-hosted RPC round-trip application |
| src | |
| c6_fwver_console.c | Bounded console formatters for the esp-hosted RPC round-trip app |
| c6_fwver_link.c | The esp-hosted transaction pump: frame in, frame out, counted |
| c6_fwver_priv.c | The ESP_PRIV_IF control channel: host capabilities out, INIT in |
| c6_fwver_rpc.c | The ESP_SERIAL_IF RPC channel: request, response, verdict |
| main.c | Complete an esp-hosted RPC round-trip against the ESP32-C6 |
| c6_hosted_init | |
| inc | |
| c6_hosted.h | Shared contract for the esp-hosted port bring-up application |
| src | |
| c6_hosted_console.c | Bounded console formatters for the esp-hosted port bring-up app |
| c6_hosted_frame.c | The single esp-hosted transaction, its decode and its verdict |
| c6_hosted_report.c | Banner, resolved pin map and side-band reporting for the bring-up |
| main.c | Bring the RA8D2 + ThreadX esp-hosted port up against the ESP32-C6 |
| c6_spi_probe | |
| inc | |
| c6_probe.h | Shared contract for the EK-RA8D2 <-> ESP32-C6 esp-hosted SPI probe |
| c6_proto.h | The esp-hosted SPI full-duplex wire format, hand-decoded |
| src | |
| c6_console.c | Bounded console formatters for the ESP32-C6 SPI probe |
| c6_frame.c | Hand-decoded esp-hosted payload header for the ESP32-C6 SPI probe |
| c6_sideband.c | Pmod1 side-band sampling, wire test, pull-up contest, chip-select hunt |
| c6_xfer.c | One full esp-hosted SPI full-duplex transaction against the C6 |
| main.c | First raw SPI link probe against the ESP32-C6 wireless co-processor |
| c6_wifi_join | |
| inc | |
| c6_join.h | Shared contract for the C6 Wi-Fi join + DHCP + reachability app |
| src | |
| c6_join_console.c | Bounded console formatters for the C6 Wi-Fi join application |
| c6_join_net.c | NetX Duo IP bring-up over the C6 link: DHCP lease + ICMP reachability |
| main.c | Join the bench Wi-Fi over the ESP32-C6 and get an IP by DHCP (#492) |
| c6_wifi_link | |
| inc | |
| c6_wifi.h | Shared contract for the ra8_c6link facade bring-up application |
| src | |
| c6_wifi_console.c | Bounded console formatters for the ra8_c6link bring-up application |
| main.c | Bring the ESP32-C6's Wi-Fi station up through the ra8_c6link facade |
| wifi_hal_join | |
| inc | |
| wifi_hal_join.h | Constants, console formatters and the DHCP provider for the HAL join |
| src | |
| main.c | The same Wi-Fi join as c6_wifi_join, the HAL way, through ra8_wifi |
| wifi_hal_console.c | Bounded console formatters for the HAL Wi-Fi join application |
| wifi_hal_core.c | The example's join+DHCP journey, hardware-free so it is host-testable |
| wifi_hal_ip.c | The NetX Duo DHCP provider the ra8_wifi facade calls for an address |
| hil | |
| acmphs_compare | |
| src | |
| main.c | High-Speed Analog Comparator (ACMPHS) channel-0 polling demo |
| adc_b_demo | |
| src | |
| main.c | ADC_B VREF-channel sample-and-log demo for EK-RA8D2 |
| agt_cascade_demo | |
| src | |
| main.c | AGT0 + AGT1 cascade (32-bit virtual counter) demo for EK-RA8D2 |
| agt_periodic | |
| src | |
| main.c | AGT 1 Hz tick + LED1 blink demo for EK-RA8D2 |
| agt_pulse_demo | |
| src | |
| main.c | AGT pulse-output / output-compare demo for EK-RA8D2 |
| app_launch_demo | |
| src | |
| main.c | Minimal chrome stub: register apps + launch + back-stack (#146) |
| app_shell_demo | |
| src | |
| main.c | App-shell chrome: launch reader / library / settings apps (#146 Ph2) |
| blink | |
| src | |
| main.c | Minimal LED-blink demo for EK-RA8D2 (single LED, BSP-driven) |
| blink_hal | |
| src | |
| main.c | HAL-based LED-blink demo for EK-RA8D2 (using ra8_board_ek_ra8d2) |
| blink_m33 | |
| src | |
| cpu1_main.c | CPU1 (Cortex-M33 secondary core) image: blink LED1 forever |
| main.c | CPU0 (Cortex-M85 primary core) launcher for the M33 blink template |
| trustzone_init.c | Cortex-M85 TrustZone-M Security Attribution Unit (SAU) bring-up |
| bscan_selftest | |
| src | |
| main.c | Headless on-silicon self-test gate for the JTAG boundary-scan TAP bookkeeping driver ra8_bscan (#138) |
| cac_accuracy_demo | |
| src | |
| main.c | Clock Frequency Accuracy Measurement (CAC) demo for the EK-RA8D2 |
| cache_coherency_hil | |
| inc | |
| cache_coherency_shared.h | Shared-SRAM message layout for the M85<->M33 cache-coherency HIL test |
| src | |
| cpu1_main.c | CPU1 (Cortex-M33) cache-coherency responder |
| main.c | CPU0 (Cortex-M85) cache-coherency validator against CPU1 (Cortex-M33) |
| cache_mpu_hil | |
| src | |
| main.c | Cortex-M85 L1 cache + MPU "runs correctly with them on" HIL self-test |
| camera_capture | |
| inc | |
| cam_ceu.h | App-specific GPIO diagnostic for the parallel DVP camera signals |
| cam_image.h | SDRAM-backed RGB888 views of one packed VGA UYVY camera frame |
| src | |
| cam_ceu.c | GPIO activity diagnostic for the J35 parallel DVP camera signals |
| cam_image.c | UYVY-to-RGB888 conversion and 0/90/180/270 SDRAM image production |
| main.c | OV5640 parallel (CEU) camera capture + plausibility self-test |
| can_classic_loopback | |
| src | |
| main.c | CAN 2.0B (classic, non-FD) internal-loopback HIL test |
| canfd_filter_demo | |
| src | |
| main.c | CAN-FD acceptance-filter demo for EK-RA8D2 |
| canfd_loopback | |
| src | |
| main.c | CANFD0 internal-loopback HIL test for EK-RA8D2 |
| clock_check | |
| src | |
| main.c | Clock bring-up HIL test for EK-RA8D2 (CGC: HOCO + PLL) |
| cpu1_pingpong | |
| inc | |
| shared_pingpong.h | Shared-SRAM message layout for the CPU0 <-> CPU1 ping-pong demo |
| src | |
| cpu1_main.c | CPU1 (Cortex-M33) ping-pong responder |
| main.c | CPU0 (Cortex-M85) ping-pong demo against CPU1 (Cortex-M33) |
| trustzone_init.c | Cortex-M85 TrustZone-M Security Attribution Unit (SAU) bring-up |
| crc_demo | |
| src | |
| main.c | CRC-32 hardware vs |
| crypto_aes_demo | |
| src | |
| main.c | AES-128-GCM encrypt + decrypt round-trip on EK-RA8D2 |
| dac_b_demo | |
| src | |
| main.c | DAC_B 12-bit DC sweep demo for EK-RA8D2 |
| dac_waveform | |
| src | |
| main.c | 12-bit DAC_B triangle-wave generator for EK-RA8D2 |
| dfu_bootloader | |
| scripts | |
| stage_slot_image.py | |
| src | |
| main.c | Real USB-DFU MRAM bootloader: boot the active app slot, or accept a DFU update |
| psa_verify_rng.c | Fail-closed PSA external-RNG hook for the verify-only bootloader |
| vector_table.c | Cortex-M85 vector table and default interrupt handlers for RA8D2 |
| dfu_copy_to_run | |
| inc | |
| payload_image.h | GENERATED by examples/ek_ra8d2/hw_validated/hil/dfu_copy_to_run/scripts/ build_payload.sh from src/payload.c – do not edit |
| src | |
| main.c | Copy-to-run HIL demo: launch one embedded image at the SRAM run base |
| payload.c | Minimal copy-to-run payload – one image that runs from the SRAM run base |
| vector_table.c | Cortex-M85 vector table and default interrupt handlers for RA8D2 |
| dfu_selftest_boot | |
| src | |
| main.c | USB self-loop: the board is its own dfu-util – DFU-flash + commit a bootable Slot-A image |
| vector_table.c | Cortex-M85 vector table and default interrupt handlers for RA8D2 |
| dfu_selftest_fs_host | |
| src | |
| main.c | USB self-loop config B: FS host DFU-downloads firmware to an HS DFU device, uploads + verifies |
| vector_table.c | Cortex-M85 vector table and default interrupt handlers for RA8D2 |
| dfu_selftest_hs_host | |
| src | |
| main.c | USB self-loop: HS host DFU-downloads firmware to an FS DFU device, uploads + verifies |
| vector_table.c | Cortex-M85 vector table and default interrupt handlers for RA8D2 |
| dma_coherency_hil | |
| src | |
| main.c | DMAC mem-to-mem coherency HIL proof with the M85 D-cache ENABLED |
| dma_memcopy_demo | |
| src | |
| main.c | 1 KB DMAC SRAM-to-SRAM copy + verify demo for the EK-RA8D2 |
| dma_memcopy_hal | |
| src | |
| main.c | 1 KB DMAC SRAM-to-SRAM copy demo driven by the ra8_dmac HAL |
| doc_demo | |
| src | |
| main.c | Data Operation Circuit (DOC) hardware vs software check |
| dotf_selftest_demo | |
| src | |
| main.c | DOTF (Decryption On The Fly) bring-up + AES self-test demo (EK-RA8D2) |
| drw_blend_demo | |
| src | |
| main.c | DRW 2D-engine blit + per-pixel alpha-blend headless CRC demo (EK-RA8D2) |
| drw_dlist_demo | |
| src | |
| main.c | DRW display-list (DLR) clear+fill demo – loop-stable (EK-RA8D2, #247) |
| drw_fill_demo | |
| src | |
| main.c | DRW 2D-engine framebuffer fill-rect + verify demo (EK-RA8D2) |
| dtc_coherency_hil | |
| src | |
| main.c | DTC vector-table / TI coherency HIL proof with the M85 D-cache ENABLED |
| dtc_transfer_demo | |
| src | |
| main.c | 1 KB DTC SRAM-to-SRAM block-copy + verify demo for the EK-RA8D2 |
| dualcore_background_m33 | |
| inc | |
| dualcore_background.h | Shared-SRAM control block for the M33 autonomous counter demo |
| src | |
| cpu1_main.c | CPU1 (Cortex-M33 secondary core) autonomous counter image |
| main.c | CPU0 (Cortex-M85 primary core) driver for the autonomous M33 demo |
| trustzone_init.c | Cortex-M85 TrustZone-M Security Attribution Unit (SAU) bring-up |
| dualcore_mailbox | |
| inc | |
| dualcore_mailbox.h | Shared-SRAM mailbox layout for the M85 <-> M33 dual-core demo |
| src | |
| cpu1_main.c | CPU1 (Cortex-M33 secondary core) responder image |
| main.c | CPU0 (Cortex-M85 primary core) driver for the dual-core demo |
| trustzone_init.c | Cortex-M85 TrustZone-M Security Attribution Unit (SAU) bring-up |
| ecc_monitor_demo | |
| src | |
| main.c | SRAM ECC bring-up + error-status monitor demo (EK-RA8D2) |
| elc_event_demo | |
| src | |
| main.c | Event Link Controller (ELC) software-event demo for the EK-RA8D2 |
| ereader_align | |
| inc | |
| font_fixture.h | Baked Ahem TTF (public domain) for the ereader_link layout gate |
| src | |
| main.c | Headless on-silicon HIL gate for text alignment + justification (#108) |
| ereader_chrome | |
| src | |
| main.c | Headless on-silicon HIL gate for the e-reader chrome render pipeline |
| ereader_image | |
| inc | |
| cover_fixture.h | Baked 120x90 RGB PNG test cover for the ereader_image gate |
| src | |
| main.c | Headless on-silicon HIL gate for the raster image decode pipeline (#106) |
| ereader_imgfmt | |
| inc | |
| imgfmt_fixtures.h | Baked BMP + GIF test images for the ereader_imgfmt gate |
| scripts | |
| make_imgfmt_fixtures.py | |
| src | |
| main.c | On-silicon HIL: BMP + GIF decode format-coverage gate (#143) |
| ereader_input | |
| src | |
| main.c | Headless on-silicon HIL gate for e-reader interaction / hit-test (#118) |
| ereader_jpeg | |
| inc | |
| jpeg_fixture.h | Baked 120x90 RGB JPEG test cover for the ereader_jpeg gate |
| src | |
| main.c | Headless on-silicon HIL gate for the raster image decode pipeline (#143) |
| ereader_link | |
| inc | |
| font_fixture.h | Baked Ahem TTF (public domain) for the ereader_link layout gate |
| src | |
| main.c | Headless on-silicon HIL gate for in-content hyperlink navigation (#110) |
| ereader_rabook | |
| inc | |
| font_fixture.h | Baked Ahem TTF (public domain) for the ereader_link layout gate |
| rabook_fixture.h | Baked, INFLATED .rabook flat blob for the ereader_rabook gate |
| rabook_gray8_fixture.h | Baked, INFLATED .rabook flat blob carrying one full-resolution gray8 image (#476) |
| src | |
| main.c | Headless HIL gate: load a compiled .rabook and render it (small to large) |
| ereader_svg | |
| inc | |
| svg_fixture.h | Baked deterministic SVG vector-art fixture for ereader_svg |
| src | |
| main.c | On-silicon HIL: SVG vector-art render-at-size + CRC gate (#143) |
| ereader_table | |
| inc | |
| font_fixture.h | Baked Ahem TTF (public domain) for the ereader_link layout gate |
| src | |
| main.c | Headless on-silicon HIL gate for <table> grid layout (#107) |
| ereader_ui | |
| inc | |
| er_pageturn.h | Pure page-turn + input-region decisions for the e-reader (#78) |
| ereader_ui_steps.h | E-reader UI chrome – shared contract between main.c and the per-aspect helper translation units (screens + input) |
| figure_fixture.h | Baked 200x130 RGB PNG figure for the Reading screen (#106 Phase 1/2) |
| src | |
| ereader_ui_input.c | E-reader UI chrome – on-screen keyboard, battery nag, input polling |
| ereader_ui_screens.c | E-reader UI chrome – Library + Reading rendering and in-content nav |
| main.c | E-reader device chrome – Library + Reading screens |
| eth_loopback | |
| src | |
| main.c | ETHA per-port internal loopback bring-up demo for EK-RA8D2 |
| eth_open_probe | |
| src | |
| main.c | Bare-metal ra8_eth_open() bring-up probe (tracker issue #524) |
| fault_crashlog_hil | |
| src | |
| main.c | Prove the cross-reset crash-log + reset-loop guard (T2-03, #191) |
| fault_div0_hil | |
| src | |
| main.c | Prove CCR.DIV_0_TRP: a zero divisor must raise a decoded UsageFault |
| flash_journal | |
| src | |
| main.c | Octo-SPI flash journal demo for EK-RA8D2 |
| fs_format_mount | |
| src | |
| main.c | Format + mount + file-ops HIL demo across every FAT type ra8_fs writes |
| glcdc_render | |
| src | |
| main.c | Headless on-silicon HIL gate for the GLCDC layer-1 render path |
| gpio_input_demo | |
| src | |
| main.c | SW1 -> LED1 mirror demo for the EK-RA8D2 |
| gpt_capture_input | |
| src | |
| main.c | GPT input-capture-style demo: measure SW1 press period |
| gpt_dma_demo | |
| src | |
| main.c | GPT period-streaming DMA HIL demo for EK-RA8D2 |
| gpt_one_shot_demo | |
| src | |
| main.c | GPT one-shot (saw-wave one-shot) HIL demo for EK-RA8D2 |
| gpt_pwm_demo | |
| src | |
| main.c | GPT PWM duty-cycle LED demo for EK-RA8D2 |
| gpt_three_phase_demo | |
| src | |
| main.c | GPT three-phase complementary PWM HIL demo for EK-RA8D2 |
| i2c_i3c_combined | |
| src | |
| main.c | RIIC + I3C(I2C-mode) coexistence self-test for the EK-RA8D2 |
| i2c_loopback | |
| src | |
| main.c | RIIC (ra8_i2c) controller self-test against the on-board U15 |
| i3c_loopback | |
| src | |
| main.c | I3C (ra8_i3c) controller bring-up self-test for the EK-RA8D2 |
| icu_extint_demo | |
| src | |
| main.c | ICU external-interrupt-on-user-button demo for EK-RA8D2 |
| iic_b_facade_demo | |
| src | |
| main.c | IIC_B (I3C block in I2C-compat mode) facade controller + peripheral demo |
| iwdt_demo | |
| src | |
| main.c | IWDT window-mode refresh demo for EK-RA8D2 |
| keyboard | |
| src | |
| main.c | On-silicon HIL for the on-screen keyboard widget ra8_keyboard (#105) |
| kint_demo | |
| src | |
| main.c | Key-interrupt (KINT / IRQ pin) input demo for EK-RA8D2 |
| lpm_deep_sleep_demo | |
| src | |
| main.c | Deep-Sleep mode (LPMD=0, SCR.SLEEPDEEP=1) one-shot wake demo |
| pdm_mic_demo | |
| src | |
| main.c | PDM MEMS microphone capture + plausibility demo (SPH0690 / ch 2) |
| rtt_log_demo | |
| src | |
| main.c | Minimal SEGGER RTT logging demo for EK-RA8D2 |
| sd_font_render | |
| src | |
| main.c | Load a TTF/OTF font off an SD card and render text with reflow |
| sdram_benchmark | |
| src | |
| main.c | External SDRAM bring-up + 64 KB write/read benchmark on EK-RA8D2 |
| secure_boot_hil | |
| inc | |
| signed_payload.h | GENERATED: copy-to-run payload signed by scripts/secrets/rot_sign.py – do not edit |
| src | |
| main.c | On-silicon enforcing secure boot: reject a tampered image, launch the signed one |
| psa_kat_shim.c | TEST-ONLY platform shims for the tf-psa-crypto software backend |
| vector_table.c | Cortex-M85 vector table and default interrupt handlers for RA8D2 |
| spi_loopback | |
| src | |
| main.c | SPI_B internal-loopback HIL test for the EK-RA8D2 |
| ssie_audio_loop | |
| src | |
| main.c | SSIE I2S internal-loopback audio integrity demo for EK-RA8D2 |
| threadx_blink | |
| src | |
| main.c | Eclipse ThreadX bring-up HIL test on the EK-RA8D2 |
| threadx_canfd_demo | |
| src | |
| main.c | Eclipse ThreadX CANFD heartbeat / RX-logger demo for RA8D2 |
| threadx_fs_demo | |
| src | |
| main.c | ThreadX + ra8_fs file-operations demo on the on-board OSPI flash |
| threadx_fs_levelx_demo | |
| src | |
| main.c | ThreadX + ra8_fs-on-LevelX-on-OSPI wear-levelled FAT demo for EK-RA8D2 |
| threadx_ipc_demo | |
| src | |
| main.c | ThreadX inter-thread queue (TX_QUEUE) demo on the EK-RA8D2 |
| threadx_levelx_demo | |
| src | |
| main.c | ThreadX + LevelX wear-levelling demo for EK-RA8D2 OSPI flash |
| threadx_mpu_partition_demo | |
| src | |
| main.c | Eclipse ThreadX + Arm v8-M MPU partition demo for RA8D2 |
| threadx_netx_tcp_echo | |
| src | |
| main.c | ThreadX + NetX Duo TCP echo demo for EK-RA8D2 |
| threadx_systick_retune | |
| src | |
| main.c | Eclipse ThreadX SysTick retune-to-live-CPUCLK0 demo (issue #287) |
| timer_capture_demo | |
| src | |
| main.c | GPT free-running timer capture demo for the EK-RA8D2 |
| tz_secure_only_sd | |
| src | |
| main.c | SPI-mode SD card round-trip HIL demo for the EK-RA8D2 |
| uart_hello | |
| src | |
| main.c | UART "hello world" HIL test for EK-RA8D2 (SCI8 @ 115200) |
| uart_irq_echo | |
| src | |
| main.c | Interrupt-driven SCI8 UART echo for EK-RA8D2 (RXI / TXI / TEI) |
| ulpt_demo | |
| src | |
| main.c | ULPT 1 Hz wake-from-software-standby demo for EK-RA8D2 |
| usb_host_keyboard | |
| inc | |
| usb_host_keyboard_steps.h | Shared seam between usb_host_keyboard main.c and its sibling TUs |
| src | |
| main.c | USB host-mode HID boot-keyboard over the self-loop (no real keyboard) |
| usb_host_keyboard_console.c | SCI8 -> J-Link OB CDC console formatters for usb_host_keyboard |
| usb_host_keyboard_device.c | USBX HID boot-keyboard device worker for usb_host_keyboard |
| usb_host_msc_browse | |
| inc | |
| usb_host_msc_browse_steps.h | Shared constants + device-side FAT16/MSC step declarations |
| src | |
| main.c | USB host-mode MSC browse over the on-board self-loop (no external drive) |
| usb_host_msc_browse_host.c | Console formatters + host-side ra8_fs browse/verify ladder |
| usb_host_msc_browse_steps.c | Device-side FAT16 synthesis + USBX storage media callbacks |
| usb_selftest_cdc | |
| inc | |
| usb_selftest_cdc_steps.h | Host-side self-test ladder + console helpers shared with main.c |
| src | |
| main.c | USB self-loop: HS host writes bytes to a CDC-ACM device, reads the echo |
| usb_selftest_cdc_steps.c | Host-side self-test ladder, console formatters, and echo pattern |
| usb_selftest_dfu | |
| inc | |
| usb_selftest_dfu_steps.h | Shared constants + host-side DFU ladder interface for usb_selftest_dfu |
| src | |
| main.c | USB self-loop: HS host DFU-downloads firmware to an FS DFU device, uploads + verifies |
| usb_selftest_dfu_steps.c | Host-side DFU ladder + console helpers for usb_selftest_dfu |
| usb_selftest_fs_host | |
| inc | |
| usb_selftest_fs_host_steps.h | Examples/ek_ra8d2/hw_validated/hil/usb_selftest_fs_host/inc/usb_selftest_fs_host_steps.h |
| src | |
| main.c | USB self-loop config B: FS host reads the HS device's MSC MRAM disk |
| usb_selftest_fs_host_fatdisk.c | Examples/ek_ra8d2/hw_validated/hil/usb_selftest_fs_host/src/usb_selftest_fs_host_fatdisk.c |
| usb_selftest_fs_host_host.c | Examples/ek_ra8d2/hw_validated/hil/usb_selftest_fs_host/src/usb_selftest_fs_host_host.c |
| usb_selftest_hid | |
| inc | |
| usb_selftest_hid_steps.h | Shared contract for the USB HID self-loop console + host clusters |
| src | |
| main.c | USB self-loop: HS host reads + verifies a HID device's interrupt reports |
| usb_selftest_hid_console.c | USB HID self-loop console formatters (SCI8 -> J-Link OB CDC) |
| usb_selftest_hid_host.c | USB HID self-loop host side: polled enumerate + interrupt-IN read |
| usb_selftest_hs_host | |
| inc | |
| usb_selftest_hs_host_steps.h | Shared constants + step prototypes for the USB self-loop config A app |
| src | |
| main.c | USB self-loop config A: HS host reads the FS device's MSC MRAM disk |
| usb_selftest_hs_host_host.c | Host-side console formatters + ra8_fs backend + pass ladder |
| usb_selftest_hs_host_msc.c | Device-side FAT16 synthesis + USBX storage media callbacks |
| usb_selftest_microsd | |
| inc | |
| usb_selftest_microsd_steps.h | Examples/ek_ra8d2/hw_validated/hil/usb_selftest_microsd/inc/usb_selftest_microsd_steps.h |
| src | |
| main.c | USB self-loop: HS host reads the microSD card as a read-only MSC |
| usb_selftest_microsd_console.c | Examples/ek_ra8d2/hw_validated/hil/usb_selftest_microsd/src/usb_selftest_microsd_console.c |
| usb_selftest_microsd_steps.c | Examples/ek_ra8d2/hw_validated/hil/usb_selftest_microsd/src/usb_selftest_microsd_steps.c |
| usb_selftest_mlun | |
| inc | |
| usb_selftest_mlun_steps.h | Shared constants + cross-TU prototypes for usb_selftest_mlun |
| src | |
| main.c | USB self-loop: HS host reads a 2-LUN FS device (multi-LUN MSC) |
| usb_selftest_mlun_steps.c | Pattern + SCI8 console + host-side enumerate/verify for usb_selftest_mlun |
| usb_selftest_ospi | |
| inc | |
| usb_selftest_ospi_steps.h | Shared constants + step prototypes for the OSPI USB self-loop app |
| src | |
| main.c | USB self-loop: the onboard OSPI flash exposed as a USB drive |
| usb_selftest_ospi_format.c | FAT16 synthesis, OSPI pattern, MSC media callbacks + console helpers |
| usb_selftest_ospi_host.c | Host-side pass ladder for the OSPI USB self-loop app |
| usb_selftest_ospi_rw | |
| inc | |
| usb_selftest_ospi_rw_steps.h | Shared tunables + host-side worker seam for the writable-OSPI self-loop |
| src | |
| main.c | USB self-loop: HS host WRITE(10)s + reads back the onboard OSPI flash |
| usb_selftest_ospi_rw_device.c | OSPI-flash bring-up + write-window pre-erase for the writable-OSPI self-loop |
| usb_selftest_ospi_rw_steps.c | Host-side step routines + console formatters for the writable-OSPI self-loop |
| usb_selftest_soak | |
| inc | |
| usb_selftest_common.h | Shared constants for the usb_selftest_soak translation units |
| usb_selftest_console.h | Shared SCI8 console + text formatters for the soak self-test |
| usb_selftest_device.h | Device-side worker entry of the soak self-test |
| usb_selftest_host.h | Host-side entry point of the soak self-test |
| src | |
| main.c | USB self-loop endurance soak + throughput benchmark (board-only) |
| usb_selftest_console.c | SCI8 / J-Link OB CDC console + text formatters (see header) |
| usb_selftest_device.c | Device side of the soak self-test: USBX MSC over a FAT16 MRAM volume |
| usb_selftest_host.c | Host side of the soak self-test: enumerate, mount, verify, soak |
| watchdog_demo | |
| src | |
| main.c | IWDT watchdog + reset-cause demo for EK-RA8D2 |
| wdt_reset_recovery_demo | |
| src | |
| main.c | WWDT reset + recovery HIL demo for EK-RA8D2 |
| wdt_supervisor_demo | |
| src | |
| main.c | WDT supervisor abstraction HIL demo for EK-RA8D2 |
| wdt_window_demo | |
| src | |
| main.c | WWDT (window watchdog) windowed-refresh demo for EK-RA8D2 |
| widget_app | |
| src | |
| main.c | On-silicon HIL: ra8_widget compositor + ra8_app framework (#145/#146) |
| widget_app_demo | |
| src | |
| main.c | Interactive ra8_widget + ra8_app launcher on the live GLCDC panel |
| widget_chrome_demo | |
| src | |
| main.c | Concrete ereader chrome widgets composited on the live GLCDC panel (#145 Phase 2) |
| widget_compose_demo | |
| src | |
| main.c | Nested ra8_widget tree composited on the live GLCDC panel (#145) |
| widget_kit_demo | |
| src | |
| main.c | Concrete ra8_widget leaf widgets composited on the GLCDC panel (#145) |
| manual | |
| display_pal_animation | |
| src | |
| main.c | Canonical display PAL example – animated scrolling colour bars |
| lcd_color_cycle | |
| src | |
| main.c | GLCDC parallel-RGB BG-plane color cycle on the EK-RA8D2 panel |
| lcd_draw_x | |
| src | |
| main.c | Draw a coloured X to a SRAM-backed GR1 layer on the EK-RA8D2 panel |
| threadx_usbx_cdc_demo | |
| src | |
| main.c | ThreadX + USBX CDC ACM echo for EK-RA8D2 (USB-FS) |
| tz_secure_only_usb_fs | |
| inc | |
| trustzone_init.h | No-op TrustZone bring-up entry point for the secure-only USB demo |
| src | |
| main.c | Secure-world-only ThreadX + USBX CDC ACM echo for EK-RA8D2 (USB-FS) |
| trustzone_init.c | No-op TrustZone bring-up for the secure-only USB experiment |
| tz_secure_only_usb_hs | |
| inc | |
| trustzone_init.h | No-op TrustZone bring-up entry point for the secure-only USB demo |
| tz_secure_only_usb_hs_steps.h | Examples/ek_ra8d2/hw_validated/manual/tz_secure_only_usb_hs/inc/tz_secure_only_usb_hs_steps.h |
| src | |
| main.c | Secure-world-only ThreadX + USBX CDC ACM echo for EK-RA8D2 (USB-HS) |
| trustzone_init.c | No-op TrustZone bring-up for the secure-only USB experiment |
| tz_secure_only_usb_hs_descriptors.c | Examples/ek_ra8d2/hw_validated/manual/tz_secure_only_usb_hs/src/tz_secure_only_usb_hs_descriptors.c |
| tz_secure_only_usb_hs_steps.c | Examples/ek_ra8d2/hw_validated/manual/tz_secure_only_usb_hs/src/tz_secure_only_usb_hs_steps.c |
| usb_cdc_echo | |
| src | |
| main.c | ThreadX + USBX CDC ACM echo for EK-RA8D2 (USB-FS) |
| usb_hid_device | |
| src | |
| main.c | ThreadX + USBX HID boot-mouse demo for EK-RA8D2 (USB-FS) |
| usb_host_file_ops | |
| inc | |
| usb_host_file_ops_steps.h | Examples/ek_ra8d2/hw_validated/manual/usb_host_file_ops/inc/usb_host_file_ops_steps.h |
| src | |
| main.c | USB host MSC + ra8_fs file-operations exerciser for EK-RA8D2 (USB-HS) |
| usb_host_file_ops_steps.c | Examples/ek_ra8d2/hw_validated/manual/usb_host_file_ops/src/usb_host_file_ops_steps.c |
| usb_msc_device | |
| src | |
| main.c | ThreadX + USBX Mass-Storage RAM-disk for EK-RA8D2 (USB-FS) |
| usb_msc_mram | |
| inc | |
| usb_msc_mram_steps.h | Shared geometry constants + FAT16 sector-synthesis prototype |
| src | |
| main.c | ThreadX + USBX Mass-Storage view of the onboard MRAM (USB-FS) |
| usb_msc_mram_steps.c | FAT16 read-only volume image synthesizer for the MSC MRAM demo |
| usb_msc_mram_hs | |
| inc | |
| usb_msc_mram_hs_steps.h | Synthesized FAT16 volume helpers for the USB-HS MRAM MSC demo |
| src | |
| main.c | ThreadX + USBX Mass-Storage view of the onboard MRAM (USB-HS) |
| usb_msc_mram_hs_steps.c | Synthesized FAT16 volume helpers for the USB-HS MRAM MSC demo |
| ra8p1_foundation | Foundation apps for the RA8P1 variant (RA8D2 + Ethos-U55 NPU) |
| blink_ra8p1 | |
| src | |
| main.c | RA8P1 build-foundation blink – proves ra8_core + ra8_hal compile and link for the R7KA8P1KFLCAC |
| vector_table.c | Cortex-M85 vector table and default interrupt handlers for RA8D2 |
| npu_infer | |
| src | |
| main.c | RA8P1 Ethos-U55 inference runtime smoke – quantize + IRQ + TFLite-micro |
| vector_table.c | Cortex-M85 vector table + ra8_isr dispatching IRQ trampolines (RA8P1) |
| npu_smoke | |
| src | |
| main.c | RA8P1 Arm Ethos-U55 NPU foundation smoke – runs a checkable stand-in job |
| vector_table.c | Cortex-M85 vector table and default interrupt handlers for RA8D2 |
| npu_vela | |
| src | |
| main.c | RA8P1 Ethos-U55 .npub container loader end-to-end – load a .npub, run it |
| vector_table.c | Cortex-M85 vector table and default interrupt handlers for RA8D2 |
| libs | Hand-written first-party libraries – the drivers and substrates the rest of the firmware builds on (HAL peripherals and register maps, the ra8_core substrate, I/O fabric, security and TrustZone, the e-reader stack, storage, networking, and board support) |
| if | |
| inc | |
| fw_if_fs.h | Architecture-neutral filesystem namespace, stream, and transaction ports |
| fw_if_fs_backend.h | Backend-author interface for binding concrete filesystem ports |
| fw_if_fs_types.h | Portable filesystem value types and caller-owned opaque handles |
| src | |
| fw_if_fs.c | Guarded dispatch for the architecture-neutral filesystem ports |
| fw_if_fs_dir.c | Guarded incremental-directory dispatch for portable filesystem ports |
| if_ra8_vfs | |
| inc | |
| fw_if_fs_ra8_vfs.h | Firmware filesystem-port adapter over ra8_io_vfs and ra8_fs |
| src | |
| fw_if_fs_ra8_vfs.c | fw_if_fs adapter over one bound ra8_io_vfs mount |
| fw_if_fs_ra8_vfs_contracts_internal.h | File-local contracts for the firmware VFS filesystem adapter |
| ra8_app | |
| inc | |
| ra8_app.h | Zero-heap app framework: lifecycle + static registry + launcher (#146) |
| src | |
| ra8_app.c | Implementation of the ra8_app app framework (#146) |
| ra8_audio | |
| inc | |
| ra8_audio.h | Transport-neutral, caller-owned audio capture facade |
| ra8_audio_source_memory.h | Fixed in-memory PCM replay backend for ra8_audio |
| ra8_audio_source_pdm.h | RA8 PDM-IF backend for the transport-neutral audio facade |
| src | |
| ra8_audio.c | Validation and dispatch for the transport-neutral audio facade |
| ra8_audio_internal.h | Private audio-source vtable shared by concrete backends |
| ra8_audio_source_memory.c | Fixed PCM replay backend implementation |
| ra8_audio_source_pdm.c | RA8 PDM-IF audio-source backend implementation |
| ra8_batt | |
| inc | |
| ra8_batt.h | Bounded, allocation-free low-battery nag policy |
| src | |
| ra8_batt.c | Implementation of the low-battery nag policy |
| ra8_board_ek_ra8d2 | |
| inc | |
| ra8_board_ek_ra8d2.h | Board-support layer for the Renesas EK-RA8D2 v1 evaluation kit |
| ra8_board_ek_ra8d2_connectors.h | Board-identity, LEDs, switches, display, audio, Arduino, Pmod, and MikroBUS portion of the EK-RA8D2 v1 board-support layer |
| ra8_board_ek_ra8d2_console_stream.h | EK-RA8D2 debug console as an ra8_io_stream byte sink |
| ra8_board_ek_ra8d2_dualcore.h | Where the EK-RA8D2's Cortex-M85 and Cortex-M33 meet, stated once |
| ra8_board_ek_ra8d2_pdm.h | EK-RA8D2 onboard SPH0690 PDM microphone policy |
| ra8_board_ek_ra8d2_peripherals.h | I/O-expander, USB, camera, external-memory, MIPI-DSI, UART console, and Ethernet portion of the EK-RA8D2 v1 board-support layer |
| ra8_board_ek_ra8d2_touch.h | One-call bring-up of the EK-RA8D2 panel's GoodIX GT911 touch controller |
| ra8_boot_intrinsics.h | Tiny MMIO / barrier intrinsics shared by the boot files |
| ra8_panel.h | Active display-panel descriptor for the EK-RA8D2 (ER-TFT070-6) |
| ra8_panel_timing.h | EK-RA8D2 panel timing as the HAL's ra8_glcdc_timing_t (ER-TFT070-6) |
| trustzone_init.h | Cortex-M85 TrustZone-M SAU bring-up entry point |
| src | |
| boot | |
| nmi_exception.c | RA8D2 NMI handler – record the ICU cause instead of a bare trap |
| secure_exception.c | Secure-side fault handler for NS -> S violations |
| system_init.c | Cortex-M85 / RA8D2 core bring-up (called from Reset_Handler) |
| trustzone_init.c | Cortex-M85 TrustZone-M Security Attribution Unit (SAU) bring-up |
| vector_table.c | Cortex-M85 vector table and default interrupt handlers for RA8D2 |
| ra8_board_ek_ra8d2.c | Board-support implementation for the EK-RA8D2 v1 |
| ra8_board_ek_ra8d2_audio_usb.c | EK-RA8D2 BSP – DA7212 audio CODEC, USB-HS, and U15 I/O expander |
| ra8_board_ek_ra8d2_audio_usb_internal.h | Private diagnostic surface for the EK-RA8D2 audio and USB BSP |
| ra8_board_ek_ra8d2_camera.c | EK-RA8D2 J35 camera clock, routing, reset, and SCCB adapter |
| ra8_board_ek_ra8d2_comms.c | EK-RA8D2 BSP – MIPI-DSI panel + J-Link VCOM serial bring-up |
| ra8_board_ek_ra8d2_console_stream.c | EK-RA8D2 BSP – bind the debug console into an ra8_io byte stream |
| ra8_board_ek_ra8d2_dualcore.c | EK-RA8D2 BSP – the runtime view of the CPU0 <-> CPU1 shared window |
| ra8_board_ek_ra8d2_ethernet.c | EK-RA8D2 BSP – on-board RGMII Ethernet (GPY111/PEF7071) bring-up |
| ra8_board_ek_ra8d2_internal.h | Cross-translation-unit seam for the EK-RA8D2 BSP implementation |
| ra8_board_ek_ra8d2_pdm.c | EK-RA8D2 SPH0690 PDM microphone routing and filter policy |
| ra8_board_ek_ra8d2_touch.c | EK-RA8D2 BSP – GoodIX GT911 bring-up on the board's own I2C wiring |
| ra8_board_ra8p1 | |
| inc | |
| ra8_board_ra8p1.h | Board-support layer for the Renesas RA8P1 (R7KA8P1KFLCAC) target board |
| ra8_boot_intrinsics.h | Tiny MMIO / barrier intrinsics shared by the boot files |
| trustzone_init.h | Cortex-M85 TrustZone-M SAU bring-up entry point |
| src | |
| boot | |
| nmi_exception.c | RA8D2/RA8P1 NMI handler – record the ICU cause instead of a bare trap |
| secure_exception.c | Secure-side fault handler for NS -> S violations |
| system_init.c | Cortex-M85 / RA8D2/RA8P1 core bring-up (called from Reset_Handler) |
| trustzone_init.c | Cortex-M85 TrustZone-M Security Attribution Unit (SAU) bring-up |
| vector_table.c | Cortex-M85 vector table and default interrupt handlers for RA8D2/RA8P1 |
| ra8_board_ra8p1.c | Board-support implementation for the RA8P1 foundation board |
| ra8_box | |
| inc | |
| ra8_box.h | Bounded, allocation-free box-model layout for e-reader chrome |
| src | |
| ra8_box.c | Implementation of the bounded box-model layout engine |
| ra8_c6link | |
| inc | |
| ra8_c6link.h | The single integration boundary between this firmware and the ESP32-C6 |
| ra8_c6link_mdl.h | Pull-based media download client over ESP-hosted CustomRpc |
| ra8_c6link_mdl_msg.h | Media service dispatch contract for the ESP32-C6 integration |
| ra8_c6link_mdl_transfer.h | Transactional RA8-side coordinator for C6 media byte streams |
| ra8_c6link_transport.h | The one seam between ra8_c6link and the wire that reaches the C6 |
| ra8_c6link_wifi.h | Wi-Fi station bring-up and association over the C6 link |
| ra8_mdl_http.h | Wire-neutral media HTTP request and response records |
| ra8_mdl_protocol.h | Allocation-free constants shared by the RA8 and C6 media endpoints |
| ra8_mdl_storage_ram.h | Caller-buffer transaction adapter for verified C6 media sources |
| ra8_media_download.pb-c.h | Generated protobuf-C declarations for the media-download protocol |
| src | |
| ra8_c6link.c | Link lifecycle, frame routing and the identity round-trip |
| ra8_c6link_arena.c | The fixed decode arena that lets a protobuf codec run with no heap |
| ra8_c6link_frame.c | The twelve-byte esp-hosted payload header: build it, believe it or not |
| ra8_c6link_internal.h | Cross-translation-unit contract inside libs/ra8_c6link |
| ra8_c6link_mdl.c | Pull-based media download client over generated protobuf codecs |
| ra8_c6link_mdl_internal.h | Private response-validation seams for the media RPC client |
| ra8_c6link_mdl_service.c | Portable one-job media service state machine for the ESP32-C6 port |
| ra8_c6link_mdl_service_internal.h | Private bounded-allocation seam for the portable media service |
| ra8_c6link_mdl_transfer.c | Bounded transactional coordinator for C6 media byte streams |
| ra8_c6link_mdl_transfer_internal.h | Private commit-stage seam for the transactional media coordinator |
| ra8_c6link_pump.c | The transaction loop: handshake, clock, classify, route |
| ra8_c6link_rpc.c | The control plane: one protobuf message type, correlated by UID |
| ra8_c6link_tlv.c | The two-tag envelope the co-processor's serial endpoint speaks |
| ra8_c6link_wifi.c | Radio lifecycle: initialise, choose station mode, start, tear down |
| ra8_c6link_wifi_sta.c | Station credentials, association, and what the radio reports back |
| ra8_mdl_storage_ram.c | Caller-buffer transaction adapter for C6 media source bytes |
| ra8_media_download.pb-c.c | Generated protobuf-C implementation of the media-download protocol |
| ra8_cache_store | |
| inc | |
| ra8_cache_store.h | Persistent key(CRC32)->blob cache for compiled .rabook containers,built on the vendored, HIL-validated LevelX NOR wear-levelling layer (#201) |
| src | |
| ra8_cache_store.c | Ra8_cache_store runtime path: put / get / read / evict / pin / checkpoint (#201) |
| ra8_cache_store_internal.h | Internal on-media format + cross-TU helpers for ra8_cache_store (#201) |
| ra8_cache_store_mount.c | Ra8_cache_store mount/recovery path + shared on-flash helpers (#201) |
| ra8_camera | |
| inc | |
| ra8_camera.h | Transport-neutral camera source and image-codec facade |
| ra8_camera_codec_jpeg_sw.h | RGB888-to-JPEG software codec backend for ra8_camera |
| ra8_camera_codec_passthrough.h | Zero-copy JPEG passthrough codec backend |
| ra8_camera_source_ceu.h | RA8 CEU capture backend for the transport-neutral camera facade |
| ra8_camera_source_memory.h | Fixed in-memory frame source backend for ra8_camera |
| src | |
| ra8_camera.c | Validation and opaque-vtable dispatch for ra8_camera |
| ra8_camera_codec_jpeg_sw.c | ra8_jpeg_sw adapter for the generic camera codec facade |
| ra8_camera_codec_passthrough.c | Zero-copy JPEG passthrough backend implementation |
| ra8_camera_internal.h | Private source and codec vtables for ra8_camera backends |
| ra8_camera_source_ceu.c | RA8 CEU implementation of the camera-source backend |
| ra8_camera_source_memory.c | Fixed-frame memory source backend implementation |
| ra8_camera_io | |
| inc | |
| ra8_camera_stream.h | Bridge encoded camera frames to ra8_io_stream sinks |
| src | |
| ra8_camera_stream.c | ra8_camera encoded-frame to ra8_io_stream bridge |
| ra8_core | |
| inc | |
| ra8_attributes.h | Annotation-attribute framework macros for ra8-firmware |
| ra8_bit_constants.h | Named Bit Positions and Masks for Register Manipulation |
| ra8_boot_entry.h | Boot entry points shared between a vector table and its startup code |
| ra8_check.h | Validation and Error-Checking Macros for ra8-firmware |
| ra8_crashlog.h | Cross-reset crash-log: persist the last fault + a reset-loop guard |
| ra8_decomp_limits.h | Unified decompression-limits policy: one bound set for every decoder |
| ra8_device.h | Compile-time device selection for the RA8 multi-chip build (RA8D2 / RA8P1) |
| ra8_err.h | Error Code Definitions for ra8-firmware |
| ra8_error_handler.h | Centralised fatal-error sink |
| ra8_error_interface.h | Abstract error-reporter interface for DI |
| ra8_exception.h | Cortex-M85 CPU exception diagnostic helpers |
| ra8_freestanding.h | Project-owned freestanding C runtime ABI primitives |
| ra8_gpio_constants.h | PSEL codes for peripheral pin routing on the RA8D2 |
| ra8_infrastructure.h | Bring-up Helpers Called Before Any Driver Init |
| ra8_log.h | Lightweight Logging Interface for ra8-firmware |
| ra8_off_target_config.h | Guards for host-compiled unit tests |
| ra8_pin_interface.h | Abstract pin-driver interface for dependency injection |
| ra8_pin_validator.h | Runtime Pin-Ownership Validator |
| ra8_port_constants.h | Typed Port / Pin Constants for the RA8D2 IOPORT Module |
| ra8_register_guard.h | IRQ-masked read-modify-write helper for shared registers |
| ra8_sbrk_trap.h | The newlib heap syscall, replaced by a halting trap |
| ra8_scb.h | Cortex-M85 System Control Block: VTOR relocation + fault-status decode |
| ra8_secure.h | Secure-comparison primitives for the crypto / secure-boot paths |
| ra8_stack_budget.h | Greppable stack-frame deviation marker |
| ra8_systick.h | Cortex-M85 SysTick + DWT cycle-counter timebase primitive |
| ra8_time.h | SysTick-based tick counter, delay and timestamp helpers |
| ra8_time_constants.h | Named Time Unit Constants for Delay / Timeout / Tick Math |
| ra8_time_interface.h | Abstract time-source interface for DI and unit testing |
| src | |
| ra8_crashlog.c | Cross-reset crash-log implementation (.noinit record + loop guard) |
| ra8_crashlog_internal.h | Cross-TU surface for ra8_crashlog (host-test white-box access only) |
| ra8_decomp_limits.c | Unified decompression-limits policy – budget charging and checks |
| ra8_error_handler.c | Default implementation of the fatal-error sink |
| ra8_exception.c | Cortex-M85 CPU exception diagnostic implementation |
| ra8_freestanding_math.c | Project-owned freestanding integer math primitive (abs) |
| ra8_freestanding_mem.c | Project-owned freestanding memory ABI primitives (memset, memcpy, memmove, memcmp, memchr) |
| ra8_freestanding_str.c | Project-owned freestanding string ABI primitives (strlen, strcmp, strchr, strstr, etc.) |
| ra8_infrastructure.c | Application-layer bring-up (called from main() after SystemInit) |
| ra8_log.c | Default log sink implementation |
| ra8_pin_validator.c | Runtime pin-ownership bitmap implementation |
| ra8_rand_stub.c | Deterministic xorshift32 rand()/srand() override |
| ra8_sbrk_trap.c | Newlib _sbrk() trap stub – enforces NASA Power of 10 Rule 3 |
| ra8_scb.c | Cortex-M85 System Control Block driver implementation |
| ra8_secure.c | Secure-comparison primitives implementation |
| ra8_systick.c | Cortex-M85 SysTick + DWT cycle-counter timebase implementation |
| ra8_time.c | SysTick tick counter implementation |
| ra8_devcfg | |
| inc | |
| ra8_devcfg.h | Per-device (per-unit) configuration record – schema, storage seam, two-copy resolution |
| src | |
| ra8_devcfg.c | Per-device configuration record – codec, two-copy resolver, commit |
| ra8_devcfg_store_extra_mram.c | Production ra8_devcfg_store_t binding over the extra-MRAM window |
| ra8_dfu | |
| inc | |
| ra8_dfu.h | Controller-agnostic USB-DFU MRAM bootloader core for the RA8D2 |
| ra8_dfu_antirollback.h | DFU anti-rollback (downgrade protection) policy + storage seam |
| ra8_dfu_device.h | USBX DFU device class wired to real MRAM, bound to either controller |
| ra8_dfu_host.h | Polled on-board USB-DFU host driver, bound to either controller |
| ra8_rot.h | Root-of-trust signed-image verifier (SHA-256 + ECDSA-P256, default-deny) |
| src | |
| ra8_dfu_antirollback.c | DFU anti-rollback (downgrade protection) – policy + storage seam |
| ra8_dfu_boot.c | Pure boot logic for the USB-DFU MRAM bootloader core |
| ra8_dfu_device.c | USBX DFU device class wired to the ra8_dfu MRAM program path |
| ra8_dfu_host.c | Polled on-board USB-DFU host driver (factored from usb_selftest_dfu) |
| ra8_dfu_internal.h | TU-shared surface for the DFU MRAM program/verify implementation |
| ra8_dfu_launch.c | Copy-to-run launch: copy an image to the SRAM run base and branch to it |
| ra8_dfu_program.c | MRAM slot program / verify for the USB-DFU bootloader core |
| ra8_rot.c | Root-of-trust signed-image verifier – SHA-256 + ECDSA-P256 gate |
| ra8_display_pal | |
| inc | |
| ra8_display_pal.h | Display Platform Abstraction Layer for the RA8D2 |
| ra8_display_pal_eink.h | E-ink backend (IT8951) for the display PAL |
| ra8_display_pal_lcd.h | LCD backend (ra8_glcdc) for the display PAL |
| ra8_display_pal_policy.h | Pluggable page-turn refresh-cadence policy for bistable (e-ink) panels |
| src | |
| ra8_display_pal.c | Display PAL dispatcher – forwards every public call into the bound backend's vtable |
| ra8_display_pal_eink.c | E-ink (IT8951) backend for the display PAL, wired to ra8_epaper |
| ra8_display_pal_internal.h | Internal vtable + handle types for the display PAL |
| ra8_display_pal_lcd.c | LCD backend (ra8_glcdc) implementation for the display PAL |
| ra8_display_pal_policy.c | Implementation of the e-ink page-turn refresh-cadence policy |
| ra8_epd_cal | |
| inc | |
| ra8_epd_cal.h | Per-device e-paper panel calibration (VCOM) – record, storage seam, resolution policy |
| src | |
| ra8_epd_cal.c | Per-device e-paper VCOM calibration – record codec and resolver |
| ra8_fonts | |
| literata_latin1.h | Declaration of the Latin-1 Literata font baked into internal flash |
| ra8_fs | |
| inc | |
| ra8_fs.h | Minimal FAT12/FAT16/FAT32 filesystem adapter (read + write) |
| ra8_fs_check.h | Read-only on-device volume consistency check (fsck) for ra8_fs |
| ra8_fs_meta.h | Volume-level metadata: free space, volume label, and per-entry utime |
| ra8_fs_seams.h | The two dependency-injection seams ra8_fs offers its callers |
| ra8_fs_types.h | On-disk and handle data types shared by the ra8_fs public API |
| src | |
| ra8_fs_fat.c | FAT12/FAT16/FAT32 low-level primitives for the ra8_fs adapter |
| ra8_fs_fat_alloc.c | Where the free space is: next-free hint, FAT sector cache, FSInfo |
| ra8_fs_fat_alloc_internal.h | Per-mount allocator state: next-free hint, free count, FAT cache |
| ra8_fs_fat_attr.c | Set / clear a named entry's file attributes (ra8_fs_set_attr()) |
| ra8_fs_fat_bytes_internal.h | The little-endian byte codec and the runtime sector-geometry reads |
| ra8_fs_fat_check.c | Read-only consistency check (fsck): shared scaffolding + FAT12/16/32 |
| ra8_fs_fat_check_internal.h | Cross-TU state and helpers for the volume consistency check (fsck) |
| ra8_fs_fat_dir.c | FAT listdir / unlink / rename directory-entry operations |
| ra8_fs_fat_dirmk.c | FAT subdirectory creation and removal (mkdir / rmdir) |
| ra8_fs_fat_exfat_check.c | Read-only consistency check (fsck): the exFAT half |
| ra8_fs_fat_exfat_dir.c | ExFAT directories: path resolution, mkdir, rmdir |
| ra8_fs_fat_exfat_dir_internal.h | Cross-TU prototypes of the exFAT DIRECTORY seam |
| ra8_fs_fat_exfat_fmt.c | ExFAT formatter (mkfs) for the ra8_fs adapter |
| ra8_fs_fat_exfat_label.c | ExFAT volume-label read/write (the exFAT half of ra8_fs_{get,set}_label) |
| ra8_fs_fat_exfat_mutate.c | ExFAT unlink / rename / listdir mutation helpers |
| ra8_fs_fat_exfat_openw.c | ExFAT open-for-write: create, truncate, append, and the survey between |
| ra8_fs_fat_exfat_read.c | ExFAT directory scan and read-path open |
| ra8_fs_fat_exfat_stream.c | ExFAT streaming write: grow the allocation, keep the entry set true |
| ra8_fs_fat_exfat_stream_internal.h | The exFAT streaming-write mechanism: entry-set positions and its helpers |
| ra8_fs_fat_exfat_upcase.c | Canonical Microsoft exFAT up-case table, its writer, and its reader |
| ra8_fs_fat_exfat_write.c | ExFAT allocation-bitmap primitives and directory entry-set construction |
| ra8_fs_fat_file.c | FAT open / close path and directory resolution |
| ra8_fs_fat_fileio.c | FAT read / write / seek / tell / size I/O |
| ra8_fs_fat_fmt.c | FAT12/16/32 formatter (mkfs) for the ra8_fs adapter |
| ra8_fs_fat_gpt.c | GPT partition-table parsing for the ra8_fs mount path |
| ra8_fs_fat_gpt_internal.h | Cross-TU prototypes for the GPT partition locators |
| ra8_fs_fat_internal.h | Cross-TU shared declarations for the FAT/exFAT ra8_fs adapter |
| ra8_fs_fat_label.c | Runtime volume-label read/set (ra8_fs_get_label() / ra8_fs_set_label()) |
| ra8_fs_fat_lfn.c | VFAT long-filename (LFN) entry layout: reading a chain, and filling one slot |
| ra8_fs_fat_lfn_write.c | Writing VFAT long names: reserve the slots, build the chain, take it away again |
| ra8_fs_fat_lfn_write_internal.h | Cross-TU prototypes of the VFAT long-name WRITE seam |
| ra8_fs_fat_lock.c | The optional mutual-exclusion seam taken around every public call |
| ra8_fs_fat_mount.c | FAT/exFAT volume detection, geometry, and mount/unmount |
| ra8_fs_fat_name.c | FAT 8.3 short-name pack/unpack and directory walking |
| ra8_fs_fat_protos_a_internal.h | Cross-TU helper prototypes for the FAT/exFAT adapter (part A of 2) |
| ra8_fs_fat_protos_b_internal.h | Cross-TU helper prototypes for the FAT/exFAT adapter (part B of 2) |
| ra8_fs_fat_space.c | Free / used / total space query (ra8_fs_free_space()) for FAT and exFAT |
| ra8_fs_fat_stat.c | Path metadata lookup – what is at this path, without opening it |
| ra8_fs_fat_time.c | The wall-clock seam, and the packing of a reading into on-disk fields |
| ra8_fs_fat_time_internal.h | On-disk timestamp field offsets, packing constants, and stampers |
| ra8_fs_fat_truncate.c | Ra8_fs_truncate: shrink or grow an open file to an arbitrary length |
| ra8_fs_fat_types_internal.h | Cross-TU on-disk-layout enums and typedefs for the FAT/exFAT adapter |
| ra8_fs_fat_utime.c | Set a named entry's create / modify / access timestamps (ra8_fs_utime()) |
| ra8_fs_utf.c | The one UTF-8 <-> UTF-16LE seam between ra8_fs's API and its disks |
| ra8_fs_utf_internal.h | UTF-8 <-> UTF-16LE conversion and case folding for ra8_fs names |
| ra8_ftl | |
| inc | |
| ra8_ftl.h | Flash Translation Layer – free overwrite over erase-before-write media |
| src | |
| ra8_ftl.c | Flash Translation Layer implementation – copy-on-write + wear-levelling |
| ra8_ftl_checkpoint.c | Canonical persistent metadata for the flash translation layer |
| ra8_gfx | |
| inc | |
| ra8_gfx.h | Software 2D graphics primitives layered on top of a caller-ownedframebuffer (DRW / D/AVE 2D / GLCDC ready) |
| ra8_gfx_dither.h | Void-and-cluster blue-noise dithering: continuous-tone gray8 -> 16-level panel (#477) |
| ra8_gfx_font.h | Bitmap font descriptor + bundled font handles for ra8_gfx |
| src | |
| ra8_gfx_blit_gray4.c | Sub-rectangle nearest-neighbour integer-zoom blit for packed gray4 images |
| ra8_gfx_dither.c | Void-and-cluster blue-noise dither: gray8 -> 16-level e-ink panel (#477) |
| ra8_gfx_dither_mask_internal.h | Void-and-cluster blue-noise threshold mask for the e-ink dither (#477) |
| ra8_gfx_font_8x16.c | 8x16 monochrome bitmap font, ASCII 0x20..0x7E |
| ra8_gfx_internal.h | Module-private declarations shared across the ra8_gfx software rasteriser TUs |
| ra8_gfx_text.c | Software pixel-pusher implementation of ra8_gfx primitives |
| ra8_gfx_text_glyph.c | Glyph-cell blitting and text rendering for the ra8_gfx software rasteriser |
| ra8_hal | |
| inc | |
| ra8_acmphs.h | Full-featured High-Speed Analog Comparator (ACMPHS) driver |
| ra8_acmphs_regs.h | High-Speed Analog Comparator (ACMPHS) register layout for the RA8D2 |
| ra8_adc.h | Full-featured ADC_B driver |
| ra8_adc_b_regs.h | ADC16H (16-bit SAR) register layout for the Renesas RA8D2 / RA8P1 |
| ra8_agt.h | Asynchronous General-Purpose Timer (AGT) driver header |
| ra8_agt_regs.h | Asynchronous General-Purpose Timer (AGT) register layout for RA8D2 |
| ra8_bkup.h | Battery Backup Function (VBATT) HAL driver – public API |
| ra8_bkup_regs.h | Battery Backup Function (VBATT / BAT*) register layout for the RA8D2 |
| ra8_ble.h | BLE HCI transport seam (host-side) |
| ra8_bscan.h | JTAG / IEEE-1149.1 Boundary Scan TAP HAL surface |
| ra8_bscan_regs.h | JTAG / IEEE-1149.1 Boundary Scan TAP constants for the RA8D2 |
| ra8_cac.h | Clock Accuracy Check driver |
| ra8_cac_regs.h | Clock Accuracy Check (CAC) register layout for the Renesas RA8D2 |
| ra8_cache.h | Cortex-M85 L1 cache maintenance, enable/disable, and I-cache invalidate |
| ra8_canfd.h | CANFD Lite driver (bit-timing, TX, RX, error state) |
| ra8_canfd_regs.h | CANFD controller register layout for the Renesas RA8D2 |
| ra8_ceu.h | Capture Engine Unit (CEU) camera-capture driver |
| ra8_ceu_api.h | Capture Engine Unit (CEU) driver function prototypes |
| ra8_ceu_regs.h | Capture Engine Unit (CEU) register layout for the RA8D2 |
| ra8_ceu_types.h | Capture Engine Unit (CEU) configuration descriptors and types |
| ra8_cgc.h | High-level Clock Generation Circuit driver |
| ra8_cgc_regs.h | Clock Generation Circuit (CGC) field layouts for the Renesas RA8D2 |
| ra8_cnecc.h | CANFD ECC (CNECC) HAL driver public API |
| ra8_cnecc_regs.h | CANFD ECC (CNECC) register layout for the RA8D2 |
| ra8_crc.h | CRC hardware calculator driver header |
| ra8_crc_regs.h | CRC calculator register layout for the Renesas RA8D2 |
| ra8_dac_b.h | Full-featured 12-bit DAC_B driver |
| ra8_dac_b_regs.h | 12-bit DAC_B register layout for the Renesas RA8D2 |
| ra8_dma.h | Generic DMA transfer substrate (DMAC engine) |
| ra8_dmac.h | 8-channel DMA controller (DMAC0) driver |
| ra8_dmac_regs.h | DMAC (Direct Memory Access Controller) register layout for the RA8D2 |
| ra8_doc.h | Data Operation Circuit (DOC) driver header |
| ra8_doc_regs.h | Data Operation Circuit (DOC) register layout for the Renesas RA8D2 |
| ra8_dotf.h | Decryption On The Fly (DOTF) HAL driver public API |
| ra8_dotf_regs.h | Decryption On The Fly (DOTF) register layout for the Renesas RA8D2 |
| ra8_drw.h | 2D Drawing Engine (DRW / D/AVE 2D) HAL driver – public API |
| ra8_drw_dlist.h | 2D Drawing Engine (DRW / D/AVE 2D) display-list builder – public API |
| ra8_drw_regs.h | 2D Drawing Engine (DRW / D/AVE 2D) register layout for the RA8D2 |
| ra8_dtc.h | Data Transfer Controller (DTC) driver |
| ra8_dtc_regs.h | DTC (Data Transfer Controller) register layout for the RA8D2 |
| ra8_dual_core.h | Dual-core (CPU0 / CPU1) lifecycle helper – public API |
| ra8_dual_core_job.h | Cross-core compile-job dispatch seam + status contract (#149) |
| ra8_elc.h | Event Link Controller driver |
| ra8_elc_regs.h | Event Link Controller (ELC) register layout for the Renesas RA8D2 |
| ra8_epaper.h | IT8951 e-paper controller SPI driver – public API |
| ra8_eth.h | Ethernet Switch Module (ESWM) + frame TX/RX driver |
| ra8_eth_coma.h | Ethernet Common Agent (COMA) driver |
| ra8_eth_gptp.h | Ethernet Generic PTP Timer (GPTP) driver – HUM Ch 35 |
| ra8_eth_gwca.h | Ethernet CPU Agent (GWCA) driver |
| ra8_eth_mfwd.h | Ethernet Message Forwarding Engine (MFWD) driver |
| ra8_etha.h | Per-port Ethernet Agent (ETHA) driver – HUM Ch 32 (p 1627-1702) |
| ra8_etha_ops.h | Per-port ETHA lifecycle / IRQ / mode / queue API – HUM Ch 32 (p 1627-1702) |
| ra8_etha_regs.h | Ethernet Agent (ETHA) per-port register layout for the RA8D2 |
| ra8_etha_shaper.h | Per-port ETHA VLAN / shaper / stats / ring / PHY API – HUM Ch 32 (p 1627-1702) |
| ra8_etha_types.h | Per-port Ethernet Agent (ETHA) data types – HUM Ch 32 (p 1627-1702) |
| ra8_ether_phy.h | Generic Ethernet PHY abstraction (MDIO Clause-22 + auto-neg) |
| ra8_ether_regs.h | Ethernet controller base addresses for the Renesas RA8D2 |
| ra8_ethosu_kernel.h | First-party TFLite-micro Ethos-U custom-op registration probe (RA8P1-only) |
| ra8_ethosu_shim.h | Arm ethos-u-core-driver C API shim over the ra8_npu driver (RA8P1-only) |
| ra8_flash.h | Code MRAM + Extra MRAM + Option-Setting driver – DANGEROUS, brick-capable |
| ra8_flash_core.h | Code MRAM + Extra MRAM + Option-Setting driver – core API |
| ra8_flash_fsp.h | Code MRAM driver – FSP r_mram parity surface |
| ra8_flash_regs.h | Flash / MRAM controller register layout for the Renesas RA8D2 |
| ra8_flash_types.h | Code MRAM driver – shared types (enums, structs, callback typedef) |
| ra8_fpu_probe.h | Double-precision FPU probe – codegen witness for the RA8P1 DP-FPU |
| ra8_glcdc.h | Graphics LCD Controller driver (two-layer with alpha blending) |
| ra8_glcdc_regs.h | Graphics LCD Controller (GLCDC) register layout for the RA8D2 |
| ra8_gpt.h | Full-featured General PWM Timer (GPT) driver |
| ra8_gpt_capture.h | GPT input-capture + external event / pulse-count extension |
| ra8_gpt_regs.h | General PWM Timer (GPT) register layout for the Renesas RA8D2 |
| ra8_hw_err.h | Bounded wait-flag primitives for RA8D2 HAL drivers |
| ra8_hw_intrinsics.h | Shared CPU-intrinsic seam for the HAL drivers (host/target split) |
| ra8_i2c.h | I2C Bus Interface (IIC) controller driver – polling mode |
| ra8_i2c_bus_ops.h | Injected I2C-bus seam consumed by Ring-3 I2C device drivers |
| ra8_i2c_regs.h | I2C Bus Interface (IIC) register layout for the Renesas RA8D2 |
| ra8_i3c.h | I3C Bus Interface driver – unified native-I3C + I2C-compat modes |
| ra8_i3c_i2c.h | IIC_B (I3C unified IP, I2C-only mode) controller driver |
| ra8_i3c_i2c_peripheral.h | IIC_B (I3C in I2C-only mode) peripheral driver – mirrors FSP r_iic_b_peripheral |
| ra8_i3c_i2c_regs.h | IIC_B (I3C-based I2C) register layout for the Renesas RA8D2 |
| ra8_i3c_regs.h | I3C Bus Interface register layout for the Renesas RA8D2 |
| ra8_icu.h | Interrupt Control Unit driver (IRQ pins, NMI) |
| ra8_icu_regs.h | Interrupt Control Unit (ICU) register layout for the Renesas RA8D2 |
| ra8_ipc.h | Inter-Processor Communication (IPC) HAL driver – public API |
| ra8_ipc_regs.h | Inter-Processor Communication (IPC) register layout for the RA8D2 |
| ra8_ipc_sync.h | Inter-Processor Communication (IPC) HAL driver – sync API |
| ra8_ipc_types.h | Inter-Processor Communication (IPC) HAL driver – public types |
| ra8_ipc_xfer.h | Inter-Processor Communication (IPC) HAL driver – transfer API |
| ra8_isr.h | NVIC + ICU IELSR allocator |
| ra8_iwdt.h | Independent Watchdog driver header |
| ra8_iwdt_regs.h | Independent Watchdog Timer (IWDT) register layout for the RA8D2 |
| ra8_layer3_switch.h | Layer-3 Ethernet switch driver – placeholder |
| ra8_lpm.h | Low Power Mode (LPM) HAL driver – public API |
| ra8_lpm_regs.h | Low Power Mode (LPM) register layout for the Renesas RA8D2 |
| ra8_lpm_safe_boot.h | Self-healing LPM register reset for very early boot |
| ra8_lvd.h | Programmable Voltage Detection (PVD / LVD) HAL driver |
| ra8_lvd_api.h | Programmable Voltage Detection (PVD / LVD) HAL function prototypes |
| ra8_lvd_regs.h | Programmable Voltage Detection (PVD / LVD) register layout for the RA8D2 |
| ra8_lvd_types.h | Programmable Voltage Detection (PVD / LVD) HAL types |
| ra8_mipi_csi.h | MIPI CSI-2 receiver HAL driver – public API |
| ra8_mipi_csi_ctrl.h | MIPI CSI-2 receiver HAL driver – control, status, and IRQ-enable API |
| ra8_mipi_csi_isr.h | MIPI CSI-2 receiver HAL driver – FIFO, ISR dispatch, framing, power |
| ra8_mipi_csi_regs.h | MIPI CSI-2 Receiver register layout for the RA8D2 (HUM Ch 66) |
| ra8_mipi_csi_types.h | MIPI CSI-2 receiver HAL driver – public types |
| ra8_mipi_dsi.h | MIPI DSI-2 host driver – public API (full HUM Ch 65 surface) |
| ra8_mipi_dsi_api.h | MIPI DSI-2 host driver – public function surface (full HUM Ch 65) |
| ra8_mipi_dsi_regs.h | MIPI DSI Host (DSI-2) register layout for the RA8D2 |
| ra8_mipi_dsi_types.h | MIPI DSI-2 host driver – public types (enums / structs / typedefs) |
| ra8_mipi_phy.h | MIPI D-PHY driver – physical layer shared by DSI and CSI |
| ra8_mipi_phy_api.h | MIPI D-PHY driver – public function prototypes |
| ra8_mipi_phy_ops.h | MIPI D-PHY driver – runtime operations prototypes |
| ra8_mipi_phy_regs.h | MIPI D-PHY register layout for the RA8D2 |
| ra8_mipi_phy_types.h | MIPI D-PHY driver – shared enums, structs, and callback typedef |
| ra8_mpc.h | Multi-function Pin Controller (MPC) facade |
| ra8_mpu_regs.h | Memory Protection Unit register layout for the Renesas RA8D2 |
| ra8_mrms_regs.h | MRAM Memory System (MRMS) wait-state register layout for the RA8D2 |
| ra8_mstp.h | Ref-counted Module Stop Control wrapper for the RA8D2 |
| ra8_mstp_regs.h | Module Stop Control (MSTP) register layout for the Renesas RA8D2 |
| ra8_npu.h | Arm Ethos-U55 NPU command/queue driver foundation (RA8P1-only) |
| ra8_npu_blob.h | .npub linkable-blob container for a Vela-compiled Ethos-U55 model |
| ra8_npu_fake_cmd.h | Ra8_emulator / host-test command-stream convention for the Ethos-U55 model |
| ra8_npu_loader.h | On-target loader: .npub Vela blob -> ra8_npu_job_t (RA8P1-only) |
| ra8_npu_quant.h | Affine (scale + zero-point) tensor quantization for the NPU runtime |
| ra8_npu_regs.h | Arm Ethos-U55 NPU register window on the Renesas RA8P1 (RA8P1-only) |
| ra8_ofs.h | Option Function Select (OFS) boot-map inventory for the active RA8 device |
| ra8_ospi_regs.h | XSPI / Octo-SPI controller register layout for the Renesas RA8D2 |
| ra8_pcntr.h | CPU1-safe combined direction+level PORT primitive over PCNTR1/PCNTR2 |
| ra8_pdg.h | PWM Delay Generation Circuit (PDG) driver public API |
| ra8_pdg_regs.h | PWM Delay Generation Circuit (PDG) register layout for the Renesas RA8D2 |
| ra8_pdm.h | Pulse Density Modulation Interface (PDM-IF) capture driver |
| ra8_pdm_regs.h | Pulse Density Modulation Interface (PDM-IF) register layout |
| ra8_pfs_regs.h | Pin Function Select (PFS) register layout for the Renesas RA8D2 |
| ra8_poeg.h | Port Output Enable for GPT (POEG) driver |
| ra8_poeg_regs.h | Port Output Enable for GPT (POEG) register layout for the RA8D2 |
| ra8_port_regs.h | IOPORT (GPIO) register layout for the Renesas RA8D2 |
| ra8_port_utils.h | High-level GPIO helpers on top of the PORT + PFS register layer |
| ra8_pwr.h | Low Power Mode + clock-domain wrapper |
| ra8_register_protection.h | Scoped PRCR unlock helper |
| ra8_regs.h | Top-level peripheral register header for the Renesas RA8D2 |
| ra8_reset.h | Reset cause introspection + software reset trigger |
| ra8_reset_regs.h | Reset block register layout (offsets, bit masks, accessors)for the Renesas RA8D2 |
| ra8_rmac.h | Per-port Ethernet MAC (RMAC) driver – HUM Ch 33 |
| ra8_rmac_phy.h | Reduced-MAC (RMAC) PHY driver – off-chip PHY for the GMAC-FPI |
| ra8_rmac_regs.h | Ethernet MAC (RMAC) per-port register layout for the RA8D2 |
| ra8_rsip.h | Renesas Secure IP (RSIP-E50D) HAL driver – public API |
| ra8_rsip_core.h | Renesas Secure IP (RSIP-E50D) HAL – core lifecycle / TRNG / hash API |
| ra8_rsip_key_injection.h | RSIP key-injection HAL – wrap raw key material into theRSIP installed-key blob format |
| ra8_rsip_keys.h | Renesas Secure IP (RSIP-E50D) HAL – key install + cipher / hash API |
| ra8_rsip_mgmt.h | Renesas Secure IP (RSIP-E50D) HAL – vault / KDF / lifecycle / tamper |
| ra8_rsip_protected.h | RSIP protected-key HAL – crypto operations driven by wrappedkey blobs (the RSIP engine never sees the raw key) |
| ra8_rsip_regs.h | Renesas Secure IP (RSIP-E50D) register layout for the RA8D2 |
| ra8_rsip_regs_fields.h | RSIP-E50D register field/value enums and the reg32 accessor |
| ra8_rsip_regs_offsets.h | RSIP-E50D register base address, byte offsets, and layout asserts |
| ra8_rtc.h | Real-Time Clock driver (BCD calendar mode) |
| ra8_rtc_regs.h | Real-Time Clock (RTC) register layout for the Renesas RA8D2 |
| ra8_sci.h | Full-featured Serial Communications Interface driver |
| ra8_sci_lin.h | LIN (Local Interconnect Network) commander + responder driver on SCI_B |
| ra8_sci_regs.h | SCI_B (Serial Communication Interface, B variant) register layoutfor the RA8D2 |
| ra8_sci_spi.h | SCI Simple-SPI controller-mode driver (polling, full-duplex) |
| ra8_sdcard.h | SD card driver layered on top of the RA8D2 SDHI peripheral |
| ra8_sdhi.h | SD/MMC Host Interface (SDHI) driver scaffold |
| ra8_sdhi_regs.h | SDHI (SD/MMC host interface) register layout for the Renesas RA8D2 |
| ra8_sdramc.h | External SDRAM controller driver (framework) |
| ra8_sdramc_regs.h | External SDRAM controller register layout for the Renesas RA8D2 |
| ra8_smbus.h | SMBus 3.2 protocol layer over an injected I2C bus seam |
| ra8_spi.h | SPI_B controller driver (RA8D2 Type-B SPI peripheral) |
| ra8_spi_bus_ops.h | Injected SPI-bus seam consumed by Ring-3 SPI device drivers |
| ra8_spi_regs.h | SPI_B register layout for the Renesas RA8D2 |
| ra8_sram.h | SRAM (with ECC) HAL driver public API |
| ra8_sram_regs.h | SRAM (with ECC) control / status / security register layout |
| ra8_ssie.h | Serial Sound Interface Enhanced (SSIE / I2S audio) driver |
| ra8_ssie_regs.h | Serial Sound Interface Enhanced (SSIE) register layout for the RA8D2 |
| ra8_system_regs.h | System Control (SYSC) register layout for the Renesas RA8D2 |
| ra8_touch.h | Multi-touch input driver – GoodIX GT911 backend |
| ra8_touch_gt911_regs.h | Register layout for the GoodIX GT911 capacitive touch controller |
| ra8_tsn.h | On-chip Temperature Sensor (TSN) driver |
| ra8_tsn_regs.h | Temperature Sensor (TSN) register layout for the Renesas RA8D2 |
| ra8_ulpt.h | Ultra-Low-Power Timer (ULPT) driver header |
| ra8_ulpt_regs.h | Ultra-Low-Power Timer (ULPT) register layout for the Renesas RA8D2 |
| ra8_usb.h | Native USB controller driver public API (device + host modes) |
| ra8_usb_cdc.h | Native USB CDC ACM (Communications Device Class - AbstractControl Model) class layer |
| ra8_usb_composite.h | Native USB device-side composite-class layer |
| ra8_usb_device.h | Native USB controller driver public API – shared types + device mode |
| ra8_usb_haud.h | Native USB host-side Audio class layer (USB Audio 1.0) |
| ra8_usb_hcdc.h | Native USB host-side CDC ACM (Communications Device Class -Abstract Control Model) class layer |
| ra8_usb_hcdc_ecm.h | Native USB host-side CDC ECM (Communications Device Class -Ethernet Networking Control Model) class layer |
| ra8_usb_hhid.h | Native USB host-side HID (Human Interface Device) class layer |
| ra8_usb_hhub.h | Native USB host-side HUB class layer |
| ra8_usb_hmsc.h | Native USB host-side MSC (Mass Storage Class) class layer |
| ra8_usb_host.h | Native USB controller driver public API – host-mode bring-up |
| ra8_usb_paud.h | Native USB device-side Audio (UAC) class layer |
| ra8_usb_phid.h | Native USB device-side HID (Human Interface Device) class layer |
| ra8_usb_pmsc.h | Native USB device-side MSC (Mass Storage Class) class layer |
| ra8_usb_pprn.h | Native USB device-side Printer class layer |
| ra8_usb_pvnd.h | Native USB device-side Vendor-defined class layer |
| ra8_usb_regs.h | USB Full-Speed + High-Speed controller layout for the Renesas RA8D2 |
| ra8_vin.h | Video Input Module (VIN) driver – public API |
| ra8_vin_api.h | Video Input Module (VIN) driver function prototypes |
| ra8_vin_regs.h | Video Input Module (VIN) register layout for the RA8D2 |
| ra8_vin_types.h | Video Input Module (VIN) configuration descriptors and types |
| ra8_vreg.h | Internal Voltage Regulator (DCDC / LDO) driver – full HUM Ch 68 surface |
| ra8_vreg_regs.h | Internal Voltage Regulator (VREG / DCDC / LDO) register layout for RA8D2 |
| ra8_wdt.h | Software Watchdog Timer (WDT) driver header |
| ra8_wdt_regs.h | Watchdog Timer (WDT) register layout for the RA8D2 |
| ra8_xspi.h | XSPI / Octo-SPI driver (flash read/program/erase + ID/status) |
| src | |
| adc.c | ADC16H (16-bit SAR) converter driver implementation |
| adc_internal.h | Cross-TU constants shared by the ADC_B driver split |
| adc_selfdiag.c | ADC_B self-diagnosis + internal extended-analog channel reads |
| gpio.c | High-level GPIO driver on top of PORT + PFS |
| ra8_acmphs.c | High-Speed Analog Comparator driver implementation |
| ra8_agt.c | Low Power Asynchronous General Purpose Timer driver |
| ra8_bkup.c | Battery Backup Function (VBATT) driver – core lifecycle and storage |
| ra8_bkup_internal.h | Cross-TU shared surface for the ra8_bkup driver split |
| ra8_bkup_security.c | Battery Backup Function (VBATT) driver – TrustZone partitioning |
| ra8_bkup_tamper.c | Battery Backup Function (VBATT) driver – tamper detection |
| ra8_ble.c | HCI transport seam (host-side) – in-memory loopback backend |
| ra8_ble_internal.h | Test-access surface for the BLE loopback transport |
| ra8_bscan.c | JTAG / IEEE-1149.1 Boundary Scan TAP HAL implementation |
| ra8_cac.c | Clock Frequency Accuracy Measurement Circuit driver |
| ra8_cache.c | Cortex-M85 L1 cache maintenance, enable/disable, and I-cache invalidate |
| ra8_canfd.c | CAN with Flexible Data-rate driver implementation |
| ra8_canfd_afl.c | CANFD Acceptance-Filter-List (AFL) configuration (split from ra8_canfd.c) |
| ra8_canfd_frame.c | CANFD frame transmit / receive data path (split from ra8_canfd.c) |
| ra8_canfd_tdc.c | CANFD Transmitter Delay Compensation (TDC) configuration |
| ra8_canfd_timing.c | CANFD bit-timing solver + bitrate / BRS configuration (split from ra8_canfd.c) |
| ra8_ceu.c | Capture Engine Unit (CEU) driver implementation |
| ra8_ceu_init_regs.c | Capture Engine Unit (CEU) init-time register programming |
| ra8_ceu_internal.h | Cross-TU surface for the ra8_ceu driver split |
| ra8_cgc.c | Clock Generation Circuit driver – RA8D2 PLL bring-up |
| ra8_cgc_eswclk.c | Clock Generation Circuit driver – Ethernet-switch (ESWCLK) path |
| ra8_cgc_internal.h | Cross-TU sharing for the split Clock Generation Circuit driver |
| ra8_cgc_usb.c | Clock Generation Circuit driver – PLL2 + USB-FS / USB-HS clocks |
| ra8_cnecc.c | CANFD ECC (CNECC) driver implementation |
| ra8_crc.c | Cyclic Redundancy Check driver implementation |
| ra8_dac_b.c | 12-Bit D/A Converter (DAC_B) driver implementation |
| ra8_dma.c | Generic DMA transfer substrate implementation |
| ra8_dmac.c | DMAC0 channel driver implementation |
| ra8_dmac_internal.h | Test-access surface for ra8_dmac internal helpers (MC/DC) |
| ra8_doc.c | Data Operation Circuit (DOC) driver implementation |
| ra8_dotf.c | Decryption On The Fly (DOTF) HAL driver implementation |
| ra8_dotf_power.c | Decryption On The Fly (DOTF) high-level open/close + power control |
| ra8_drw.c | 2D Drawing Engine (DRW / D/AVE 2D) HAL driver implementation |
| ra8_drw_draw.c | 2D Drawing Engine (DRW / D/AVE 2D) geometry primitives |
| ra8_drw_internal.h | Test-access surface for ra8_drw internal helpers (MC/DC) |
| ra8_dtc.c | Data Transfer Controller driver implementation |
| ra8_dual_core.c | CPU1 (Cortex-M33) lifecycle helper – implementation |
| ra8_elc.c | Event Link Controller driver implementation |
| ra8_epaper.c | IT8951 e-paper SPI driver implementation |
| ra8_epaper_devinfo.c | IT8951 GET_DEV_INFO response decoder |
| ra8_epaper_geom.c | IT8951 geometry, pixel-format, waveform-map and config validation |
| ra8_eth.c | Ethernet Switch Module (ESWM) + frame TX/RX driver implementation |
| ra8_eth_coma.c | Ethernet Common Agent driver implementation |
| ra8_eth_gptp.c | Ethernet Generic PTP Timer driver implementation |
| ra8_eth_gwca.c | Ethernet CPU Agent driver implementation |
| ra8_eth_gwca_default.c | Ethernet CPU Agent driver – one-call default-state API |
| ra8_eth_gwca_internal.h | Cross-TU shared surface for the ra8_eth_gwca driver split |
| ra8_eth_gwca_queue.c | Ethernet CPU Agent driver – per-queue descriptor + ring primitives |
| ra8_eth_internal.h | Cross-TU shared surface for the ra8_eth driver split |
| ra8_eth_link.c | Ethernet PHY link-status poller + MAC speed/duplex resync |
| ra8_eth_media.c | ESWM media mux: select a port's MII/RGMII mode and release its block |
| ra8_eth_mfwd.c | Ethernet Message Forwarding Engine driver implementation |
| ra8_etha.c | Per-port Ethernet Agent (ETHA) driver implementation – HUM Ch 32 |
| ra8_etha_internal.h | Cross-TU shared surface for the ra8_etha driver split |
| ra8_etha_stats.c | ETHA per-port statistics, descriptor-ring sizing, and PHY open – HUM Ch 32 |
| ra8_etha_tas.c | ETHA time-aware shaper (TAS / 802.1Qbv) flows – HUM Ch 32.4.2 |
| ra8_ether_phy.c | Generic Ethernet PHY abstraction (MDIO Clause-22) |
| ra8_ethosu_shim.c | Arm ethos-u-core-driver C API shim over the ra8_npu driver (RA8P1-only) |
| ra8_flash.c | Code-MRAM + Extra-MRAM + Option-Setting driver implementation – DANGEROUS |
| ra8_flash_config.c | MRAM configuration-set, ARC counters + extra-MRAM programming – DANGEROUS |
| ra8_flash_internal.h | Test-access surface for ra8_flash internal helpers (MC/DC) |
| ra8_flash_irq.c | MRAM IRQ enables + dispatcher and FSP r_mram parity surface – DANGEROUS |
| ra8_fpu_probe.c | Double-precision FPU probe implementation (see ra8_fpu_probe.h) |
| ra8_glcdc.c | Graphics LCD Controller driver implementation |
| ra8_glcdc_gamma.c | GLCDC piecewise-linear gamma correction driver |
| ra8_glcdc_layer.c | Graphics LCD Controller driver – layer composition and CLUT |
| ra8_gpt.c | General PWM Timer (GPT) driver implementation |
| ra8_hal_internal.h | Cross-translation-unit private helpers shared inside ra8_hal |
| ra8_i2c.c | I2C Bus Interface (IIC) controller driver implementation |
| ra8_i2c_config.c | I2C Bus Interface (IIC) bring-up, clock and error-status plane |
| ra8_i2c_internal.h | Test-access surface for ra8_i2c internal helpers (MC/DC) |
| ra8_i2c_peripheral.c | I2C Bus Interface (IIC) target (peripheral) role – polling mode |
| ra8_i3c.c | I3C Bus Interface driver implementation |
| ra8_i3c_i2c.c | IIC_B (I3C unified IP) controller driver implementation |
| ra8_i3c_i2c_control.c | IIC_B (I3C unified IP) control-plane + diagnostics implementation |
| ra8_i3c_i2c_internal.h | Test-access surface for ra8_i3c_i2c internal helpers (MC/DC) |
| ra8_i3c_i2c_peripheral.c | IIC_B peripheral driver implementation |
| ra8_i3c_internal.h | Test-access surface for ra8_i3c internal helpers (MC/DC) |
| ra8_icu.c | Interrupt Control Unit driver implementation |
| ra8_ipc.c | Inter-Processor Communication (IPC) HAL driver implementation |
| ra8_ipc_sem_ring.c | IPC HAL – hardware semaphores, NMI surface, and ring buffers |
| ra8_isr.c | NVIC + ICU IELSR allocator implementation |
| ra8_iwdt.c | Independent Watchdog Timer driver implementation |
| ra8_layer3_switch.c | Layer-3 Ethernet switch driver – placeholder implementation |
| ra8_lpm.c | Low Power Mode (LPM) HAL driver implementation |
| ra8_lpm_graphics.c | Graphics power-domain bring-up for the LPM HAL driver |
| ra8_lvd.c | Programmable Voltage Detection (PVD / LVD) driver implementation |
| ra8_lvd_events.c | PVD / LVD security attribution, n-channel lock, ELC / standby helpers, filter-timing math, and callback registration / ISR demux |
| ra8_lvd_internal.h | Test-access surface for ra8_lvd internal helpers (MC/DC) |
| ra8_lvd_runtime.c | PVD / LVD runtime control: IRQ / reset / CMPE toggles, filter, hysteresis, negate, and status read / clear |
| ra8_mipi_csi.c | MIPI CSI-2 receiver HAL driver implementation |
| ra8_mipi_csi_irq.c | MIPI CSI-2 receiver HAL driver – interrupt path and per-VC framing |
| ra8_mipi_dsi.c | MIPI DSI-2 host driver – full HUM Ch 65 coverage |
| ra8_mipi_dsi_cmd.c | MIPI DSI-2 sequence-channel command path (HUM Ch 65) |
| ra8_mipi_dsi_dispatch.c | MIPI DSI-2 host driver – video mode, status, IRQ dispatch, and convenience surfaces |
| ra8_mipi_dsi_internal.h | Module-private link seam shared between the MIPI DSI-2 hostdriver translation units |
| ra8_mipi_phy.c | MIPI D-PHY driver implementation |
| ra8_mipi_phy_internal.h | Module-private link seam shared between the MIPI D-PHY drivertranslation units |
| ra8_mipi_phy_timing.c | MIPI D-PHY driver – HUM timing tables and table-driven setup |
| ra8_mpc.c | Multi-function Pin Controller facade implementation |
| ra8_mstp.c | Ref-counted Module Stop Control implementation |
| ra8_mstp_internal.h | Cross-TU surface for the ra8_mstp module-stop driver (test access) |
| ra8_npu.c | Arm Ethos-U55 NPU command/queue driver foundation (RA8P1-only) |
| ra8_npu_loader.c | On-target .npub Vela blob loader over ra8_npu (RA8P1-only) |
| ra8_npu_quant.c | Affine (scale + zero-point) tensor quantization for the NPU runtime |
| ra8_ofs.c | RA boot-ROM Option Function Select register defaults |
| ra8_pdg.c | PWM Delay Generation Circuit (PDG) driver implementation |
| ra8_pdm.c | Pulse Density Modulation Interface (PDM-IF) capture driver |
| ra8_poeg.c | Port Output Enable for GPT (POEG) driver implementation |
| ra8_pwr.c | Low Power Mode + clock-domain wrapper implementation |
| ra8_reset.c | Reset cause introspection + software-reset trigger |
| ra8_rmac.c | Per-port Ethernet MAC (RMAC) driver implementation – HUM Ch 33 |
| ra8_rmac_mgmt.c | RMAC status read/clear + statistics snapshot + Clause-22 PHY – HUM Ch 33 |
| ra8_rmac_phy.c | RMAC off-chip PHY driver |
| ra8_rmac_phy_internal.h | Test-access surface for ra8_rmac_phy internal helpers (MC/DC) |
| ra8_rsip.c | Renesas Secure IP (RSIP-E50D) HAL driver implementation |
| ra8_rsip_asym.c | RSIP-E50D hash / HMAC + key-management (fail-closed) |
| ra8_rsip_asym_internal.h | Cross-TU surface shared by the RSIP asymmetric + RSA split |
| ra8_rsip_cipher.c | RSIP-E50D symmetric cipher + wrapped-key install path |
| ra8_rsip_devsec.c | RSIP-E50D device-security path (lifecycle / debug / tamper / DPA), fail-closed |
| ra8_rsip_ecc.c | RSIP-E50D elliptic-curve asymmetric path (ECDSA / ECDH / Ed25519) |
| ra8_rsip_internal.h | Cross-TU surface for the ra8_rsip driver split |
| ra8_rsip_key_injection.c | RSIP key-injection HAL implementation |
| ra8_rsip_protected.c | RSIP protected-key HAL implementation |
| ra8_rsip_rsa.c | RSIP-E50D RSA sign / verify / encrypt / decrypt path |
| ra8_rtc.c | BCD-calendar Realtime Clock driver implementation |
| ra8_sci.c | Full-featured SCI_B driver implementation |
| ra8_sci_dma_isr.c | SCI_B DMA TX/RX descriptors + TXI/RXI/ERI ISR dispatch |
| ra8_sci_internal.h | Src/-local shared surface for the ra8_sci driver TUs |
| ra8_sci_lin.c | LIN commander + responder driver implementation on SCI_B |
| ra8_sci_spi.c | SCI Simple-SPI controller-mode driver (polling, full-duplex) |
| ra8_sdcard.c | SD card driver implementation – SD Physical Layer state machine |
| ra8_sdhi.c | SD/MMC Host Interface driver implementation |
| ra8_sdramc.c | SDRAM controller driver implementation |
| ra8_smbus.c | SMBus 3.2 protocol layer over an injected I2C bus seam – implementation |
| ra8_spi_b.c | SPI_B controller driver (polling + IRQ dispatch + DMA pipes) |
| ra8_spi_b_dma.c | SPI_B DMA TX/RX pipes with Cortex-M85 cache coherency |
| ra8_spi_b_target.c | SPI_B peripheral (target) mode driver – polling single-byte xfer |
| ra8_sram.c | SRAM (with ECC) HAL driver implementation |
| ra8_sram_internal.h | Src/-local shared surface for the SRAM HAL driver split |
| ra8_sram_security.c | SRAM HAL: TrustZone security attribution + ECC error callbacks |
| ra8_ssie.c | Serial Sound Interface Enhanced (SSIE / I2S) driver implementation |
| ra8_ssie_stream.c | SSIE streaming data path: DMAC channel attach/detach + polled ISO bulk send/receive |
| ra8_touch.c | Multi-touch input driver – GoodIX GT911 backend (implementation) |
| ra8_tsn.c | On-chip Temperature Sensor (TSN) driver implementation |
| ra8_ulpt.c | Ultra-Low-Power Timer driver implementation |
| ra8_usb.c | Native USB controller driver implementation (device + host) |
| ra8_usb_cdc.c | Native USB CDC ACM class layer implementation |
| ra8_usb_cdc_internal.h | Test-access surface for the USB CDC line-coding decoder |
| ra8_usb_composite.c | Native USB device-side composite-class layer implementation |
| ra8_usb_device.c | USB device-mode lifecycle, status, and endpoint configuration |
| ra8_usb_haud.c | Native USB host-side Audio class layer implementation |
| ra8_usb_hcdc.c | Native USB host-side CDC ACM class layer implementation |
| ra8_usb_hcdc_ecm.c | Native USB host-side CDC-ECM (Ethernet over USB) class layer implementation |
| ra8_usb_hhid.c | Native USB host-side HID class layer implementation |
| ra8_usb_hhub.c | Native USB host-side HUB class layer implementation |
| ra8_usb_hmsc.c | Native USB host-side MSC (Mass Storage Class) class layer implementation |
| ra8_usb_hmsc_enum.c | Native USB host-side MSC (Mass Storage Class) polled enumeration ladder |
| ra8_usb_hmsc_internal.h | Cross-TU surface shared between the host-MSC class layer(ra8_usb_hmsc.c) and the polled enumeration ladder (ra8_usb_hmsc_enum.c) |
| ra8_usb_host_bulk.c | USB host-mode bulk-transfer engine (polled, synchronous) |
| ra8_usb_host_ctrl.c | USB host-mode control-transfer engine (polled, synchronous) |
| ra8_usb_internal.h | Cross-TU surface for the ra8_usb driver split |
| ra8_usb_irq.c | USB IRQ dispatch / event callbacks / power + host-mode bring-up |
| ra8_usb_paud.c | Native USB device-side Audio (UAC1) class layer implementation |
| ra8_usb_phid.c | Native USB device-side HID class layer implementation |
| ra8_usb_phy.c | USBHS embedded-PHY bring-up + shared FS/HS module bring-up |
| ra8_usb_pmsc.c | Native USB device-side MSC (Mass Storage Class) class layer implementation |
| ra8_usb_pmsc_internal.h | Cross-TU surface shared between the device-MSC BOT statemachine (ra8_usb_pmsc.c) and the SCSI command handlers (ra8_usb_pmsc_scsi.c) |
| ra8_usb_pmsc_scsi.c | Native USB device-side MSC (Mass Storage Class) SCSI command handlers |
| ra8_usb_pprn.c | Native USB device-side Printer class layer implementation |
| ra8_usb_pvnd.c | Native USB device-side Vendor-defined class layer implementation |
| ra8_usb_xfer.c | USB device-mode data path: pipe queue, DCP control data, SETUP |
| ra8_vin.c | Video Input Module (VIN) driver implementation |
| ra8_vreg.c | Internal Voltage Regulator (DCDC / LDO) driver implementation |
| ra8_wdt.c | Software Watchdog Timer (WDT) driver implementation |
| ra8_xspi.c | Octal Serial Peripheral Interface (OSPI / xSPI) driver |
| ra8_xspi_flash.c | OSPI / xSPI manual-command engine + JEDEC NOR-flash operations |
| ra8_xspi_internal.h | Module-private seam shared between the ra8_xspi translation units |
| timer.c | Thin SysTick-based timer wrapper |
| ra8_io | |
| inc | |
| ra8_io.h | Ra8_io – unified peripheral-agnostic I/O fabric (umbrella header) |
| ra8_io_blockdev.h | Ra8_io block-device fabric – one LBA vtable across every storage medium |
| ra8_io_blockdev_backend.h | Backend implementation contract for the ra8_io block-device fabric |
| ra8_io_blockdev_cache.h | Ra8_io caching block device – an LRU sector cache over any backend |
| ra8_io_blockdev_mram.h | Ra8_io block-device backend over the on-chip extra/data MRAM region |
| ra8_io_blockdev_ram.h | Ra8_io block-device backend over a caller-owned RAM buffer |
| ra8_io_blockdev_sdhi.h | Ra8_io block-device backend over the native SDHI SD-card controller |
| ra8_io_blockdev_sdram.h | Ra8_io block-device backend over the external 64 MiB SDRAM window |
| ra8_io_blockdev_sdspi.h | Ra8_io block-device backend over the micro-SD-in-SPI-mode driver |
| ra8_io_blockdev_usbmsc.h | Ra8_io block-device backend over a hosted USB mass-storage device |
| ra8_io_blockdev_vsource.h | Thin adapter exposing an ra8_io block device as an ra8_vsource reader |
| ra8_io_blockdev_xspi.h | Ra8_io block-device backend over OSPI NOR flash via ra8_xspi |
| ra8_io_fsfmt.h | Ra8_io pluggable filesystem-format registry (probe + capabilities) |
| ra8_io_i2c_bus.h | Ra8_io I2C-bus facade – one controller-transfer vtable over thechip's two I2C implementations |
| ra8_io_i2c_bus_i3c_compat.h | I3C I2C-compatibility backend binder for the ra8_io I2C-bus facade |
| ra8_io_i2c_bus_riic.h | RIIC backend binder for the ra8_io I2C-bus facade |
| ra8_io_log.h | Redirect ra8_log output into an ra8_io stream |
| ra8_io_spi_bus.h | Ra8_io SPI-bus facade – one controller-transfer vtable over thechip's two SPI implementations |
| ra8_io_spi_bus_sci_spi.h | SCI Simple-SPI backend binder for the ra8_io SPI-bus facade |
| ra8_io_spi_bus_spi_b.h | SPI_B backend binder for the ra8_io SPI-bus facade |
| ra8_io_stream.h | Ra8_io targetable byte-stream facade – one writer, many destinations |
| ra8_io_stream_backend.h | Public implementer contract for ra8_io byte-stream backends |
| ra8_io_stream_blockdev.h | Ra8_io byte-stream sink that buffers into a raw block device |
| ra8_io_stream_ram.h | Ra8_io byte-stream sink over a caller-owned RAM buffer |
| ra8_io_stream_uart.h | Ra8_io byte-stream sink over a UART/SCI channel |
| ra8_io_stream_usbcdc.h | Ra8_io byte-stream sink over a USB-CDC endpoint |
| ra8_io_vfs.h | Ra8_io virtual filesystem – mount many volumes, address them by name |
| src | |
| ra8_io_blockdev.c | Block-device dispatcher – forwards each public call into the bound backend vtable, and bridges any backend to an ra8_fs_backend_t |
| ra8_io_blockdev_cache.c | Caching block device – LRU sector cache + write-through over a backend |
| ra8_io_blockdev_mram.c | MRAM block-device backend – a hard-fenced data-MRAM window as blocks |
| ra8_io_blockdev_ram.c | RAM block-device backend – a flat buffer as 512-byte logical blocks |
| ra8_io_blockdev_sdhi.c | Native-SDHI block-device backend – an SD card as 512-byte blocks |
| ra8_io_blockdev_sdram.c | SDRAM block-device backend – the 64 MiB SDRAM window as a ramdisk |
| ra8_io_blockdev_sdspi.c | Micro-SD-over-SPI block-device backend – thin shim over ra8_sdmmc_spi |
| ra8_io_blockdev_usbmsc.c | USB mass-storage block-device backend – a hosted device as 512-byte logical blocks |
| ra8_io_blockdev_vsource.c | Block-device -> ra8_vsource read adapter (LBA<->byte translation) |
| ra8_io_blockdev_xspi.c | OSPI NOR block-device backend – 512-byte LBAs over ra8_xspi flash |
| ra8_io_fsfmt.c | Pluggable filesystem-format registry and native ra8_fs adapter |
| ra8_io_i2c_bus.c | I2C-bus dispatcher – forwards each public call into the bound backend vtable, and bridges any backend to an ra8_i2c_bus_ops_t |
| ra8_io_i2c_bus_i3c_compat.c | I3C I2C-compatibility backend for the ra8_io I2C-bus facade – thin shim over ra8_i3c |
| ra8_io_i2c_bus_internal.h | Internal vtable type for the ra8_io I2C-bus facade |
| ra8_io_i2c_bus_riic.c | RIIC backend for the ra8_io I2C-bus facade – thin shim over ra8_i2c |
| ra8_io_log.c | Adapter that forwards ra8_log bytes into an ra8_io stream |
| ra8_io_spi_bus.c | SPI-bus dispatcher – forwards each public call into the bound backend vtable, and bridges any backend to an ra8_spi_bus_ops_t |
| ra8_io_spi_bus_internal.h | Internal vtable type for the ra8_io SPI-bus facade |
| ra8_io_spi_bus_sci_spi.c | SCI Simple-SPI backend for the ra8_io SPI-bus facade – thin shim over ra8_sci_spi |
| ra8_io_spi_bus_spi_b.c | SPI_B backend for the ra8_io SPI-bus facade – thin shim over ra8_spi |
| ra8_io_stream.c | Byte-stream dispatcher + no-varargs formatted-output primitives |
| ra8_io_stream_blockdev.c | Block-device byte-stream sink – buffer bytes into 512-byte sectors |
| ra8_io_stream_internal.h | Compatibility include for the public stream-backend contract |
| ra8_io_stream_ram.c | RAM byte-stream sink – append into a caller-owned buffer |
| ra8_io_stream_uart.c | UART/SCI byte-stream sink – polled writes through ra8_sci |
| ra8_io_stream_usbcdc.c | USB-CDC byte-stream sink – bulk-IN writes through ra8_usb_pal |
| ra8_io_vfs.c | Named-mount VFS dispatch over pluggable filesystem-format operations |
| ra8_io_vfs_internal.h | Module-private mount-slot layout and path resolvers for the ra8_io VFS |
| ra8_io_vfs_namespace.c | Path-namespace operations over the ra8_io VFS named-mount table |
| ra8_jpeg | |
| inc | |
| ra8_jpeg_sw.h | Pure-software baseline JPEG (ISO/IEC 10918-1 / ITU-T T.81) codec |
| src | |
| ra8_jpeg_sw.c | Pure-software baseline JPEG codec: shared entropy/DSP primitives plus the get-dimensions public API |
| ra8_jpeg_sw_decode.c | Pure-software baseline JPEG decoder: marker parser and scan |
| ra8_jpeg_sw_encode.c | Pure-software baseline JPEG encoder: pixel pipeline and public API |
| ra8_jpeg_sw_encode_emit.c | Software JPEG encoder: byte/bit emitters, Annex K.3.3 tables and JFIF header-segment writers |
| ra8_jpeg_sw_encode_internal.h | Module-private declarations shared by the two encoder translation units of the software JPEG codec |
| ra8_jpeg_sw_internal.h | Module-private declarations shared across the software JPEGcodec translation units |
| ra8_jpeg_sw_stream.c | Streaming baseline JPEG decoder: bounded-RAM MCU-row stripes (#231) |
| ra8_keyboard | |
| inc | |
| ra8_keyboard.h | On-screen keyboard widget – iOS-style layers, shift, hit-test |
| src | |
| ra8_keyboard.c | On-screen keyboard widget – iOS-style layers + shift |
| ra8_lsm6dso | |
| inc | |
| ra8_lsm6dso.h | ST LSM6DSO 6-DoF IMU driver (accel + gyro + temperature) |
| src | |
| ra8_lsm6dso.c | ST LSM6DSO 6-DoF IMU driver – implementation |
| ra8_mem | |
| inc | |
| ra8_arena.h | Init-time bump arena – carves per-tier slab backing, zero-heap |
| ra8_glyph_atlas.h | Fixed-RAM-budget glyph cache with LRU eviction (Layer 3, #147) |
| ra8_keycache.h | The one reusable hash + pin + evict cache engine (#147, #345) |
| ra8_slab.h | Fixed-cell slab allocator – O(1), zero-fragmentation, zero-heap |
| ra8_tile_cache.h | Fixed-RAM-budget image-tile cache with LRU eviction (Layer 3b, #147) |
| ra8_vmem.h | Byte-range page cache with SLRU eviction (Layer 2, #147) |
| ra8_vmem_stream.h | Read a page-cached object as a seekable byte stream (Layer 2 helper, #147/#151) |
| ra8_vsource.h | Virtual-memory object sources – the page-cache storage seam (Layer 1, #147) |
| src | |
| ra8_arena.c | Init-time bump-arena implementation (Layer 0, #147) |
| ra8_glyph_atlas.c | Fixed-budget glyph cache – implementation (Layer 3, #147) |
| ra8_keycache.c | The one reusable hash + pin + evict cache engine – impl (#147, #345) |
| ra8_slab.c | Fixed-cell slab allocator implementation (Layer 0, #147) |
| ra8_tile_cache.c | Fixed-budget image-tile cache – implementation (Layer 3b, #147) |
| ra8_vmem.c | Byte-range page cache with SLRU eviction – implementation (Layer 2) |
| ra8_vmem_stream.c | Read a page-cached object as a seekable byte stream – impl (#147/#151) |
| ra8_vsource.c | Virtual-memory object sources – implementation (Layer 1, #147) |
| ra8_modem_at | |
| inc | |
| ra8_modem_at.h | Cellular modem AT command/response driver layered on UART |
| src | |
| ra8_modem_at.c | Cellular modem AT command/response driver implementation |
| ra8_modem_at_internal.h | Test-access surface for ra8_modem_at internal helpers (MC/DC) |
| ra8_mpu | |
| inc | |
| ra8_mpu.h | Cortex-M85 Memory Protection Unit (MPU) configuration helper |
| src | |
| ra8_mpu.c | Cortex-M85 Memory Protection Unit configuration helper |
| ra8_net_pal | |
| inc | |
| ra8_net_pal.h | Network Platform Abstraction Layer for the RA8D2 ESWM block |
| src | |
| ra8_net_pal.c | Network PAL implementation – ra8_eth wrapper |
| ra8_nsc | |
| inc | |
| ra8_nsc.h | Non-Secure Callable veneers – the only NS->S gateway |
| ra8_nsc_cgc.h | NSC veneers for the Clock Generation Circuit (CGC) driver |
| ra8_nsc_comms.h | NSC veneers for the communications drivers |
| ra8_nsc_io.h | NSC veneers for the I/O drivers |
| ra8_nsc_veneer.h | Macros for declaring Non-Secure Callable veneer functions |
| src | |
| ra8_nsc_cgc.c | NSC veneers for the Clock Generation Circuit driver |
| ra8_nsc_comms.c | NSC veneers for the communications drivers |
| ra8_nsc_eth.c | NSC veneer: ethernet frame TX / RX |
| ra8_nsc_io.c | NSC veneers for the -6 I/O drivers |
| ra8_nsc_key_vault.c | NSC veneer: secure key vault challenge-response |
| ra8_nsc_log.c | NSC veneer: secure-side logging |
| ra8_nsc_ota.c | NSC veneers: OTA bank-commit + flash-bank-config write |
| ra8_nsc_periph_init.c | NSC veneer: secure peripheral substrate bring-up |
| ra8_nsc_wdt.c | NSC veneers: secure-side watchdog arm + refresh |
| ra8_nsc_xspi.c | NSC veneer: external XSPI flash read + status |
| ra8_ota | |
| inc | |
| ra8_ota.h | Phase-5 OTA firmware-update orchestration for the RA8D2 |
| src | |
| ra8_ota.c | Phase-5 OTA firmware-update orchestration – implementation |
| ra8_ota_internal.h | Test-access surface for ra8_ota internal helpers (MC/DC) |
| ra8_ota_parse.c | Phase-5 OTA configuration + manifest parsing helpers |
| ra8_ota_verify.c | Phase-5 OTA signature-verification cluster – implementation |
| ra8_ov5640 | |
| inc | |
| ra8_ov5640.h | Transport-independent OmniVision OV5640 sensor driver |
| src | |
| ra8_ov5640.c | Transport-independent OV5640 SCCB register driver |
| ra8_power_profile | |
| inc | |
| ra8_power_profile.h | Power-profiling helper – public API |
| src | |
| ra8_power_profile.c | Power-profiling helper – implementation |
| ra8_psa_crypto | |
| inc | |
| ra8_psa_crypto.h | Application-level PSA Crypto facade over tf-psa-crypto |
| src | |
| ra8_psa_crypto.c | Implementation of the ra8_psa_crypto facade over TF-PSA-Crypto |
| ra8_psa_crypto_fake.c | Off-target crypto primitives for the ra8_psa_crypto facade |
| ra8_psa_crypto_internal.h | Module-private definitions shared across the ra8_psa_crypto TUs |
| ra8_sdfont | |
| inc | |
| ra8_sdfont.h | Load a TTF/OTF font off a Pmod SD card, self-provisioning if absent |
| src | |
| ra8_sdfont.c | SD-card font store with self-provisioning – implementation |
| ra8_sdmmc_spi | |
| inc | |
| ra8_sdmmc_spi.h | SD card driver in SPI-mode (PMOD-attached cards) |
| src | |
| ra8_sdmmc_spi.c | SD card driver in SPI-mode – protocol implementation |
| ra8_sdmmc_spi_core_contracts_internal.h | Contracts for file-local SD protocol helpers |
| ra8_sdmmc_spi_internal.h | Module-private cross-TU surface for the SPI-mode SD card driver |
| ra8_sdmmc_spi_io.c | SD card driver in SPI-mode – public block I/O and SCI factory |
| ra8_sdmmc_spi_io_contracts_internal.h | Contracts for file-local SD block-I/O helpers |
| ra8_secure_app | |
| inc | |
| key_vault.h | Secure-only symmetric key store |
| ota_commit.h | Secure-side OTA bank commit + flash-bank-config write |
| src | |
| key_import.c | Secure-side sealed-key import implementation |
| key_import_internal.h | Secure-side sealed key import + opaque handle vending |
| key_vault.c | Secure-only symmetric key store implementation |
| ota_commit.c | Secure-side OTA commit + flash-bank-config implementation |
| sec_cmac.c | Secure-side AES-CMAC seam implementation |
| sec_cmac_internal.h | Secure-side AES-CMAC seam (real PSA backend / in-tree reference) |
| secure_trng.c | Secure-side TRNG read implementation (host PRNG stub) |
| secure_trng_internal.h | Secure-side TRNG read API (RSIP-backed entropy) |
| ra8_tls | |
| inc | |
| ra8_tls.h | Tiny TLS facade over the vendored Mbed TLS 4.x stack |
| src | |
| ra8_tls.c | Implementation of the ra8_tls Mbed TLS facade |
| ra8_touch_cal | |
| inc | |
| ra8_touch_cal.h | Resistive/capacitive touch-screen calibration utility |
| src | |
| ra8_touch_cal.c | Implementation of the touch-screen calibration utility |
| ra8_tz_secure_boot | |
| inc | |
| ra8_tz_secure_boot.h | FSP-style TrustZone secure-boot for the Cortex-M85 (CPU0) |
| src | |
| ra8_tz_secure_boot.c | FSP-style TrustZone secure-boot implementation for RA8D2 |
| ra8_ui | |
| inc | |
| ra8_ui.h | Bounded UI interaction core: hit-testing, screen stack, paging |
| src | |
| ra8_ui.c | Implementation of the bounded UI interaction core |
| ra8_usb_pal | |
| inc | |
| ra8_usb_pal.h | USB device-mode Platform Abstraction Layer |
| src | |
| ra8_usb_pal.c | USB PAL implementation – ra8_usb wrapper |
| ra8_usb_pal_internal.h | Test-access surface for ra8_usb_pal internal helpers (MC/DC) |
| ra8_wdt_supervisor | |
| inc | |
| ra8_wdt_supervisor.h | ThreadX-aware watchdog supervisor (per-thread check-in registry) |
| src | |
| ra8_wdt_sup_tx_shim_internal.h | ThreadX shim for ra8_wdt_supervisor (host unit-test build only) |
| ra8_wdt_supervisor.c | ThreadX-aware watchdog supervisor implementation |
| ra8_widget | |
| inc | |
| ra8_widget.h | Zero-heap composable widget layer (dwm-style) over ra8_box + ra8_ui |
| ra8_widget_book.h | Book-card + book-grid leaf widget for the ra8_widget tree (#145 Phase 2) |
| ra8_widget_keyboard.h | On-screen-keyboard leaf widget for the ra8_widget tree (#145 Phase 2) |
| ra8_widget_nav_bar.h | Navigation-strip leaf widget for the ra8_widget tree model (#145 Phase 2) |
| ra8_widget_progress_bar.h | Progress-bar leaf widget for the ra8_widget tree model (#145 Phase 2) |
| ra8_widget_reflow_view.h | Reflowed-reading-body leaf widget for the ra8_widget tree (#145 Phase 2) |
| ra8_widget_status_bar.h | Status-bar leaf widget for the ra8_widget tree model (#145 Phase 2) |
| ra8_widget_toolbar.h | Toolbar leaf widget for the ra8_widget tree model (#145 Phase 2) |
| src | |
| ra8_widget.c | Implementation of the ra8_widget composable-UI layer (#145) |
| ra8_widget_book.c | Book-card + book-grid leaf widget for the ra8_widget tree (#145 Phase 2) |
| ra8_widget_button.c | Push-button leaf widget for the ra8_widget tree model (#145 Phase 2) |
| ra8_widget_internal.h | Module-private paint helpers shared by the concrete leaf-widget TUs |
| ra8_widget_keyboard.c | On-screen-keyboard leaf widget for the ra8_widget tree (#145 Phase 2) |
| ra8_widget_label.c | Text-label leaf widget for the ra8_widget tree model (#145 Phase 2) |
| ra8_widget_nav_bar.c | Navigation-strip leaf widget for the ra8_widget tree model (#145 Phase 2) |
| ra8_widget_paint.c | Shared geometry helpers for the concrete leaf widgets (#145 Phase 2) |
| ra8_widget_panel.c | Container-panel compositor for the ra8_widget tree model (#145) |
| ra8_widget_progress_bar.c | Progress-bar leaf widget for the ra8_widget tree model (#145 Phase 2) |
| ra8_widget_reflow_view.c | Reflowed-reading-body leaf widget for the ra8_widget tree (#145 Phase 2) |
| ra8_widget_status_bar.c | Status-bar leaf widget for the ra8_widget tree model (#145 Phase 2) |
| ra8_widget_toolbar.c | Toolbar leaf widget for the ra8_widget tree model (#145 Phase 2) |
| ra8_wifi | |
| inc | |
| ra8_wifi.h | A small, uniform Wi-Fi facade: init, connect, get an IP, disconnect |
| ra8_wifi_backend.h | The radio-operation seam ra8_wifi dispatches through |
| ra8_wifi_c6link.h | The ESP32-C6 backend for the ra8_wifi facade, over ra8_c6link |
| src | |
| ra8_wifi.c | The Wi-Fi facade state machine, dispatched over a backend vtable |
| ra8_wifi_c6link.c | The ESP32-C6 backend: each ra8_wifi operation onto ra8_c6link |
| port | Adapters between the vendored stacks under libs/third_party and this firmware: ThreadX to the RA8 clock tree, NetX Duo to a link layer, USBX to ra8_usb, LevelX to an ra8_fs block device, the Mbed TLS feature set, NimBLE's HCI transport, esp-hosted, and a hosted POSIX filesystem adapter |
| esp-hosted | |
| inc | |
| idf_compat | |
| endian.h | Little-endian wire conversions for the esp-hosted frame header |
| esp_check.h | ESP-IDF-compatible check surface: the include, and nothing it does not need |
| esp_err.h | ESP-IDF-compatible error type and error codes, supplied by this port |
| esp_event_base.h | ESP-IDF-compatible event-base identity: the type and its two declarators |
| esp_heap_caps.h | ESP-IDF capability-flag compatibility for the esp-hosted port |
| esp_idf_version.h | The ESP-IDF API level the co-processor image was built against |
| esp_log.h | ESP-IDF-compatible logging surface, implemented by this port |
| esp_mac.h | ESP-IDF MAC-address-type compatibility for the esp-hosted port |
| sdkconfig.h | The CONFIG_* answers the vendored esp-hosted core asks for |
| port_esp_hosted_host_bt_config.h | Esp-hosted port header: which Bluetooth host runs above HCI |
| port_esp_hosted_host_config.h | Esp-hosted port header: transport selection, side-band pin map, link polarity |
| port_esp_hosted_host_config_features.h | Esp-hosted port header: optional host features, RPC bounds, counters |
| port_esp_hosted_host_config_transports.h | Esp-hosted port header: constants for the transports not in use |
| port_esp_hosted_host_log.h | Esp-hosted port header: the per-file log tag the core expects |
| port_esp_hosted_host_openthread.h | Esp-hosted port header: OpenThread host support switch |
| port_esp_hosted_host_os.h | Esp-hosted port header: RTOS handle types, return codes and budgets |
| port_esp_hosted_host_sdio.h | Esp-hosted port header: SDIO transport constants |
| port_esp_hosted_host_spi.h | Esp-hosted port header: full-duplex SPI transport buffer size |
| port_esp_hosted_host_spi_hd.h | Esp-hosted port header: half-duplex SPI transport buffer size |
| port_esp_hosted_host_uart.h | Esp-hosted port header: UART transport buffer size |
| port_esp_hosted_host_wifi_config.h | Esp-hosted port header: which Wi-Fi and supplicant features exist |
| ra8_esp_hosted_c6link.h | Binds the ra8_c6link transport seam to this port's OS vtable |
| ra8_esp_hosted_pins.h | THE single point of change for the RA8 <-> ESP32-C6 harness map |
| ra8_esp_hosted_port.h | Public entry point of the RA8D2 + ThreadX port of esp-hosted |
| src | |
| ra8_esp_hosted_c6link.c | The three trampolines that put ra8_c6link on this board's wire |
| ra8_esp_hosted_fmt.c | Bounded printf-subset formatter used by the esp-hosted port logger |
| ra8_esp_hosted_fmt_internal.h | Bounded, heap-free printf-subset formatter for the esp-hosted port |
| ra8_esp_hosted_gpio.c | The eight side-band GPIO slots of the esp-hosted OS-abstraction vtable |
| ra8_esp_hosted_gpio_edge.c | Software edge detector for side-band pins the ICU cannot serve |
| ra8_esp_hosted_gpio_internal.h | Module-private surface of the esp-hosted side-band GPIO slice |
| ra8_esp_hosted_log.c | Bridge from the esp-hosted logging surface onto ra8_log |
| ra8_esp_hosted_log_internal.h | Library-private surface of the esp-hosted logging bridge |
| ra8_esp_hosted_osi.c | The esp-hosted OS-abstraction vtable and its non-RTOS slots |
| ra8_esp_hosted_osi_absent.c | Vtable rows for transports this board does not carry |
| ra8_esp_hosted_osi_internal.h | Library-private surface of the esp-hosted OS-abstraction vtable |
| ra8_esp_hosted_pins.c | ICU external-interrupt routing table for the esp-hosted link pins |
| ra8_esp_hosted_port.c | Bring-up and teardown of the esp-hosted RA8D2 + ThreadX port |
| ra8_esp_hosted_port_internal.h | Library-private surface of the esp-hosted port bring-up |
| ra8_esp_hosted_rtos.c | Thread, sleep, timer and clock vtable slots, plus the bind entry |
| ra8_esp_hosted_rtos_internal.h | Module-private contract of the esp-hosted RTOS abstraction slice |
| ra8_esp_hosted_rtos_pool.c | Memory and queue half of the esp-hosted OS-abstraction vtable |
| ra8_esp_hosted_rtos_sync.c | Mutex and semaphore vtable slots |
| ra8_esp_hosted_spi.c | The three transport slots of the esp-hosted OS-abstraction vtable |
| ra8_esp_hosted_spi_internal.h | Module-private surface of the esp-hosted full-duplex SPI transport |
| esp32_c6 | |
| inc | |
| ra8_mdl_service.h | Public integration contract for the ESP32-C6 media RPC component |
| src | |
| esp_idf_mdl_compat_internal.h | ESP-IDF media-service declarations for target builds and AST audits |
| mdl_service.c | ESP-IDF HTTP backend and synchronous CustomRpc hook for media chunks |
| levelx | |
| inc | |
| lx_fs_backend.h | Ra8_fs block-device backend over a LevelX wear-levelled NOR partition |
| lx_nor_driver_ra8_xspi.h | LevelX NOR-flash driver shim that bridges LevelX onto the RA8 ra8_xspi HAL (EK-RA8D2 ISSI IS25LX512M octal-SPI flash) |
| src | |
| lx_fs_backend.c | Ra8_fs block-device trampolines onto LevelX wear-levelled NOR storage |
| lx_nor_driver_ra8_xspi.c | LevelX NOR driver implementation backed by the RA8 ra8_xspi HAL |
| mbedtls | |
| inc | |
| mbedtls_config.h | Project-wide Mbed TLS 4.x configuration for the RA8 firmware |
| tf_psa_crypto_config.h | PSA crypto configuration options (set of defines) |
| netxduo | |
| inc | |
| nx_ether_driver_c6.h | NetX Duo network driver shim that bridges onto the ESP32-C6 link |
| nx_ether_driver_ra8_eth.h | NetX Duo network driver shim that bridges onto the RA8 ra8_eth HAL |
| src | |
| nx_ether_driver_c6.c | NetX Duo network driver bound to the ESP32-C6 link (ra8_c6link) |
| nx_ether_driver_ra8_eth.c | NetX Duo network driver bridging onto the RA8 ra8_eth frame API |
| nimble | |
| inc | |
| nimble | |
| nimble_npl_os.h | ThreadX-backed OS types for the NimBLE Native Porting Layer |
| nimble_npl_os_log.h | NPL logging hook for the ThreadX port (compiled out) |
| ble_hci_ra8_ble.h | Apache NimBLE HCI transport adapter against the ra8_ble HCI ring |
| nimble_npl_threadx.h | NimBLE Native Porting Layer mapping onto Eclipse ThreadX |
| nimble_transport_stubs.h | Weak link stubs standing in for the NimBLE transport core |
| syscfg.h | NimBLE syscfg overrides for the RA8 port |
| src | |
| ble_hci_ra8_ble.c | Apache NimBLE HCI transport adapter against the ra8_ble HCI ring |
| nimble_npl_threadx.c | NimBLE Native Porting Layer mapping onto Eclipse ThreadX |
| posix | |
| inc | |
| fw_if_fs_posix.h | Root-confined hosted POSIX adapter for fw_if_fs |
| ra8_io_stream_posix.h | Borrowed raw-descriptor backend for the portable byte-stream facade |
| src | |
| fw_if_fs_posix.c | Secure hosted POSIX backend for the portable filesystem interface |
| fw_if_fs_posix_bind.c | Lifecycle and capability binding for the hosted POSIX filesystem |
| fw_if_fs_posix_common.c | Shared descriptor, raw-directory, and path helpers for the POSIX port |
| fw_if_fs_posix_contracts_internal.h | File-local contracts for the confined POSIX filesystem adapter |
| fw_if_fs_posix_internal.h | Shared errno/descriptor helpers for the POSIX filesystem port |
| fw_if_fs_posix_stream.c | Hosted POSIX byte-stream operations for the portable filesystem port |
| fw_if_fs_posix_stream_contracts_internal.h | File-local contracts for the hosted POSIX byte-stream operations |
| ra8_io_stream_posix.c | Raw-descriptor implementation of the portable byte-stream backend |
| ra8_io_stream_posix_internal.h | Private exact-write engine for the POSIX stream adapter |
| threadx | |
| inc | |
| ra8_threadx.h | RA8 <-> Eclipse ThreadX glue: SysTick kernel-tick retuning |
| tx_user.h | Eclipse ThreadX user-tunable defines for ra8-firmware |
| src | |
| cortex_m85 | |
| tx_systick_ready.c | Storage for the ThreadX-ready latch that gates SysTick -> _tx_timer_interrupt |
| tx_systick_retune.c | Implementation of the ThreadX SysTick kernel-tick retune |
| usbx | |
| inc | |
| ux_dcd_ra8_usb.h | USBX device-controller-driver (DCD) bridge to ra8_usb |
| ux_dcd_ra8_usb_internal.h | USBX device-controller-driver bridge to ra8_usb – per-module cross-translation-unit contract |
| ux_hcd_ra8_usb.h | USBX host-controller-driver (HCD) bridge to ra8_usb |
| src | |
| ux_dcd_ra8_usb.c | USBX device-controller-driver bridge to ra8_usb – lifecycle + storm guard |
| ux_dcd_ra8_usb_dvst.c | USBX device-controller-driver bridge to ra8_usb – device-state (DVST) path |
| ux_dcd_ra8_usb_dvst_default.c | USBX device-controller-driver bridge to ra8_usb – DVST Default-state mirror path |
| ux_dcd_ra8_usb_ep.c | USBX device-controller-driver bridge to ra8_usb – endpoint dispatch |
| ux_dcd_ra8_usb_irq.c | USBX device-controller-driver bridge to ra8_usb – IRQ pipe-walk |
| ux_dcd_ra8_usb_isr.c | USBX device-controller-driver bridge to ra8_usb – NVIC ISR trampolines |
| ux_dcd_ra8_usb_setup.c | USBX device-controller-driver bridge to ra8_usb – SETUP / chapter-9 control path |
| ux_dcd_ra8_usb_xfer.c | USBX device-controller-driver bridge to ra8_usb – transfer dispatch |
| ux_device_class_storage_inquiry.c | SPC-correct SCSI INQUIRY override for the USBX device storage class |
| ux_hcd_ra8_usb.c | USBX host-controller-driver bridge to ra8_usb – implementation |
| scripts | Developer and CI tooling: build, flash, and debug wrappers; the HIL bench rig control (Tapo power, J-Link, and RTT); the OpenBao secret client and root-of-trust key store; and the check_*.py quality gates under scripts/checks that CI and the git hooks enforce |
| builders | |
| build_cross_compile_db.py | |
| checks | |
| tidy | |
| static_decl_scan.py | |
| annot_clang.py | |
| annot_linkage.py | |
| annot_loopbound.py | |
| annot_model.py | |
| annot_rulekeys.py | |
| annot_rules.py | |
| annot_scope.py | |
| annot_selftest.py | |
| annot_source.py | |
| annot_walk.py | |
| audit_init_order.py | |
| authored_token_census.py | |
| check-copyright.py | |
| check-since-version.py | |
| check_agnostic_registers.py | |
| check_annotations.py | |
| check_ansible_collections.py | |
| check_asm.py | |
| check_assert_casts.py | |
| check_bench_lock.py | |
| check_build_shard_union.py | |
| check_c23_headers.py | |
| check_c23_patterns.py | |
| check_c6_integration.py | |
| check_c6_patch_upstream.py | |
| check_c6_pin_config.py | |
| check_chapter_map_freshness.py | |
| check_ci_image_single_builder.py | |
| check_comment_format.py | |
| check_core_layering.py | |
| check_devcontainer.py | |
| check_disambig_readmes.py | |
| check_doc_attachment.py | |
| check_doc_diagrams.py | |
| check_download_installers.py | |
| check_entry_points.py | |
| check_errexit_masking.py | |
| check_example_board_pins.py | |
| check_file_size.py | |
| check_final_newline.py | |
| check_fleet_declaration.py | |
| check_freestanding_runtime.py | |
| check_function_size.py | |
| check_generated_artefacts.py | |
| check_gitignore_scope.py | |
| check_go.py | |
| check_header_file_placement.py | |
| check_hil_alive_policy.py | |
| check_hil_convergence_safety.py | |
| check_hil_eil_parity.py | |
| check_hil_privilege_boundary.py | |
| check_hil_rig_contract.py | |
| check_hook_parity.py | |
| check_host_build_entrypoints.py | |
| check_hum_register_map.py | |
| check_image_no_antirecovery.py | |
| check_inclusive_terminology.py | |
| check_inclusive_terminology_commits.py | |
| check_init_order_freshness.py | |
| check_just_references.py | |
| check_justfiles.py | |
| check_line_citations.py | |
| check_linker_scripts.py | |
| check_lint_coverage.py | |
| check_magic_numbers.py | |
| check_markdown_references.py | |
| check_mcdc_block.py | |
| check_mcdc_floor.py | |
| check_misra_deviations.py | |
| check_new_compound_has_mcdc.py | |
| check_new_compound_has_mcdc_selftest.py | |
| check_no_ai_attribution.py | |
| check_no_antirecovery.py | |
| check_no_build_credentials.py | |
| check_no_driver_asm_guard.py | |
| check_no_dynamic_alloc.py | |
| check_no_gnu_attribute.py | |
| check_no_goto_setjmp.py | |
| check_no_legacy_make.py | |
| check_no_null.py | |
| check_no_silent_stubs.py | |
| check_no_stdio_streams.py | |
| check_no_unsafe_python_install.py | |
| check_no_wave_references.py | |
| check_nsc_veneer_defs.py | |
| check_obsolete_standards.py | |
| check_pointer_boilerplate.py | |
| check_python_lock_policy.py | |
| check_reserved_addresses.py | |
| check_roadmap_dashboard_freshness.py | |
| check_ruff.py | |
| check_runner_clock.py | |
| check_runner_image_deps.py | |
| check_script_references.py | |
| check_sg_offsets.py | |
| check_shebangs.py | |
| check_shell.py | |
| check_shell_just_invocations.py | |
| check_soup_upstream.py | |
| check_source_layout.py | |
| check_stub_crypto_guarded.py | |
| check_suppressions.py | |
| check_tests_readme.py | |
| check_third_party_patches.py | |
| check_tier_imports.py | |
| check_tool_versions.py | |
| check_tool_warning_flags.py | |
| check_tree_coverage.py | |
| check_tz_boundary_discard.py | |
| check_unused_includes.py | |
| check_world_tags.py | |
| cite_check.py | |
| cite_ratchet.py | |
| cppcheck_c23_compat.h | Cppcheck-only C23 compatibility shim, force-included by the gate |
| cppcheck_sources.py | |
| docattach_ast.py | |
| docattach_lex.py | |
| docattach_model.py | |
| docattach_scope.py | |
| docattach_selftest.py | |
| download_installers_macos.py | |
| doxy_audit.py | |
| doxy_functions.py | |
| doxy_lex.py | |
| doxy_members.py | |
| doxy_report.py | |
| doxy_scope.py | |
| doxy_selftest.py | |
| doxy_style.py | |
| extract_line_citations.py | |
| freestanding_runtime_selftest.py | |
| funcsize_c.py | |
| funcsize_py.py | |
| funcsize_sh.py | |
| hil_cache_isolation_rules.py | |
| hil_cache_repair_rules.py | |
| hil_convergence_check_mode.py | |
| hil_convergence_safety_ast.py | |
| hil_convergence_safety_fixtures.py | |
| hil_convergence_safety_image_harness_policy.py | |
| hil_convergence_safety_image_lock_digest.py | |
| hil_convergence_safety_image_lock_fixtures.py | |
| hil_convergence_safety_image_lock_receipts.py | |
| hil_convergence_safety_image_process_analysis.py | |
| hil_convergence_safety_image_process_policy.py | |
| hil_convergence_safety_image_subreaper_policy.py | |
| hil_convergence_safety_policy.py | |
| hil_convergence_safety_process_mutations.py | |
| hil_convergence_safety_process_source_fixtures.py | |
| hil_convergence_safety_python_authority.py | |
| hil_convergence_safety_raw_digest_controls.py | |
| hil_convergence_safety_raw_digest_fixtures.py | |
| hil_convergence_safety_raw_digest_runtime.py | |
| hil_convergence_safety_roles.py | |
| hil_convergence_safety_runtime_cleanup.py | |
| hil_convergence_safety_runtime_escape.py | |
| hil_convergence_safety_runtime_fixtures.py | |
| hil_convergence_safety_runtime_launcher.py | |
| hil_convergence_safety_runtime_loader.py | |
| hil_convergence_safety_runtime_loader_harness.py | |
| hil_convergence_safety_runtime_mutations.py | |
| hil_convergence_safety_runtime_root_swap.py | |
| hil_convergence_safety_runtime_sources.py | |
| hil_convergence_safety_selftest.py | |
| hil_convergence_safety_selftest_environment.py | |
| hil_convergence_safety_semantic_mutations.py | |
| hil_convergence_safety_source_fixtures.py | |
| hil_convergence_safety_v8.py | |
| hil_convergence_safety_v9.py | |
| hil_convergence_safety_wsl.py | |
| hil_privileged_helper_selftest.py | |
| hook_git_policy_selftest.py | |
| hook_parity_mutations.py | |
| hook_runtime_selftest.py | |
| hook_transport_support.py | |
| hum_regmap.py | |
| hum_regmap_scan.py | |
| line_citation_lex.py | |
| linker_script_fixtures.py | |
| lint_coverage_rules.py | |
| lint_targets.py | |
| markdown_link_lex.py | |
| markdown_reference_policy.py | |
| markdown_reference_selftest.py | |
| markdown_references.py | |
| matrix_ratchet.py | |
| mcdc_compound_delta.py | |
| mcdc_compound_ratchet.py | |
| misra_deviations_fixtures.py | |
| misra_ratchet.py | |
| privileged_startup_runtime_selftest.py | |
| python_lock_policy_process.py | |
| python_lock_policy_scan.py | |
| python_lock_policy_uv_cache.py | |
| python_lock_policy_uv_cache_contracts.py | |
| python_lock_policy_uv_cache_release.py | |
| python_lock_policy_uv_cache_release_contracts.py | |
| python_lock_policy_uv_execution.py | |
| python_lock_policy_uv_runner.py | |
| runner_image_cleanup_policy.py | |
| selftest_assert.py | |
| shell_entrypoint_policy.py | |
| shell_entrypoint_policy_ci.py | |
| shell_entrypoint_policy_hil.py | |
| shell_invocation_policy.py | |
| shell_invocation_references.py | |
| shell_invocation_selftest_cases.py | |
| soup_manifest.py | |
| soup_selftest.py | |
| stack_usage_check.py | |
| suppression_baseline_scan.py | |
| suppression_build_controls.py | |
| suppression_c_control_scan.py | |
| suppression_c_controls.py | |
| suppression_catalog.py | |
| suppression_checker_census.py | |
| suppression_checker_nonfatal.py | |
| suppression_checker_scope.py | |
| suppression_clang_tidy.py | |
| suppression_comment_lex.py | |
| suppression_compiler_selftest.py | |
| suppression_control_scan.py | |
| suppression_coverage_scan.py | |
| suppression_debt_selftest.py | |
| suppression_generated_markers.py | |
| suppression_governance.py | |
| suppression_governance_selftest.py | |
| suppression_hardware_todo.py | |
| suppression_hash_lex.py | |
| suppression_identity.py | |
| suppression_identity_selftest.py | |
| suppression_inline_scan.py | |
| suppression_ledger.py | |
| suppression_ledger_selftest.py | |
| suppression_mcdc_selftest.py | |
| suppression_model.py | |
| suppression_nonauth_registry.py | |
| suppression_nonauth_registry_additions.py | |
| suppression_rebind.py | |
| suppression_rebind_selftest.py | |
| suppression_scan.py | |
| suppression_scope_categories.py | |
| suppression_scope_registry.py | |
| suppression_scope_registry_additions.py | |
| suppression_selftest.py | |
| suppression_selftest_fixtures.py | |
| suppression_selftest_integrity.py | |
| suppression_shell_lex.py | |
| suppression_shell_scan.py | |
| suppression_stranded_selftest.py | |
| suppression_tool_controls.py | |
| suppression_tool_selftest.py | |
| suppression_validate.py | |
| tidy_ratchet.py | |
| tier_layers.py | |
| tree_coverage_model.py | |
| ci | |
| check_ci_parity.py | |
| check_gate_bodies.py | |
| check_selftest_coverage.py | |
| ci_parity_scan_selftest.py | |
| ci_status.py | |
| devcontainer_image_selftest_process.py | |
| devcontainer_image_selftest_supervisor.py | |
| devcontainer_image_selftest_supervisor_cases.py | |
| dev | |
| work | |
| src | |
| work.py | |
| work_board.py | |
| work_board_move.py | |
| work_emit.py | |
| work_gh.py | |
| work_git.py | |
| work_just.py | |
| work_plan.py | |
| work_tracker.py | |
| work_workspace.py | |
| assemble_candidate.py | |
| auto_sync.py | |
| bench_lock_capability.py | |
| bootstrap_uv.py | |
| bootstrap_uv_exec.py | |
| bootstrap_uv_mode_selftest.py | |
| fleet.py | |
| fleet_bench.py | |
| fleet_capacity_client.py | |
| fleet_hil.py | |
| fleet_model.py | |
| fleet_mutation_lock.py | |
| fleet_path_authority.py | |
| fleet_reach.py | |
| fleet_reconcile.py | |
| fleet_reconcile_arc_selftest.py | |
| fleet_reconcile_process.py | |
| fleet_reconcile_selftest.py | |
| fleet_runner_maintenance.py | |
| fleet_runner_model.py | |
| fleet_ssh_config.py | |
| fleet_transaction_auth.py | |
| fleet_typed_vars.py | |
| fleet_wsl.py | |
| fleet_wsl_stage.py | |
| git_environment.py | |
| list_libs.py | |
| list_tests.py | |
| managed_python_env.py | |
| managed_python_env_checks.py | |
| ra8_apps.py | |
| remote_gdb_args.py | |
| remote_gdb_guard.py | |
| remote_gdb_guard_selftest.py | |
| remote_gdb_process.py | |
| remote_gdb_remote.py | |
| review_suppressions.py | |
| scaffold.py | |
| search.py | |
| stage_worktree_context.py | |
| verify_locked_environment.py | |
| workspace_guard.py | |
| emu | |
| fix | |
| fix-encoding.py | |
| fix_doxy_file_tags.py | |
| fix_inclusive_terminology.py | |
| fix_wave_references.py | |
| mcdc_report.py | |
| regen_mcdc_gaps.py | |
| strip_assert_casts.py | |
| gen | |
| doxygen_md_filter.py | |
| ereader_golden.py | |
| font_to_c.py | |
| gen_bluenoise_mask.py | |
| gen_comic_fixture.py | |
| gen_comic_large_fixture.py | |
| gen_doxygen_nav.py | |
| gen_driver_status.py | |
| gen_hum_register_map.py | |
| gen_jlink_w4.py | |
| gen_jpeg_fixture.py | |
| gen_manga_page_fixture.py | |
| gen_pinouts.py | |
| gen_sbom.py | |
| gen_unarch_xz_fixture.py | |
| merge_ihex.py | |
| pinout_model.py | |
| pinout_parse.py | |
| pinout_render.py | |
| pinout_selftest.py | |
| rabook_gray8_fixture.py | |
| rabook_parity_gen.py | |
| sbom_registry.py | |
| git | |
| write-proof.py | |
| hil | |
| lib | |
| bench_contention_verdict.py | |
| bench_lock_broker.py | |
| bench_lock_verify.py | |
| bench_witness.py | |
| usb | |
| benchmark.py | |
| cdc_echo_test.py | |
| libusb_bench.py | |
| stream_bench.py | |
| ad2_smoke.py | |
| hil_secrets.py | |
| rig_env_parse.py | |
| tapo_control.py | |
| uart_write.py | |
| report | |
| app_sizes.py | |
| mcdc_delta_comment.py | |
| roadmap_dashboard.py | |
| roadmap_stats.py | |
| secrets | |
| openbao_client.py | |
| rot_keystore.py | |
| rot_patch_pubkey.py | |
| rot_sign.py | |
| wifi_provision.py | |
| tools | Host-side tools: the ra8_emulator RA8D2 emulator, cache/glyph benchmarks, the EPUB/book image builders, the root-of-trust signer, and the MCP server |
| cache_bench | |
| inc | |
| cache_bench.h | Eviction-policy comparison harness for the #147 memory-hierarchy decision record: the DIP seam every replacement policy implements, the fixed-frame cache it drives, and the per-run metrics it reports |
| cache_bench_host.h | POSIX raw-descriptor composition bindings for cache_bench |
| cache_bench_io.h | Bounded byte-source and text-sink seams for cache_bench |
| sweep_block.h | #208 block/frame-size sweep: the byte-size axis the capacity sweep never touches, so the chunked .rabook chunk size and the ra8_vmem frame_bytes constant are picked from measurement, not intuition |
| sweep_block_internal.h | Module-private seams shared by the #208 sweep translation units |
| trace.h | Resettable, allocation-free access streams for cache_bench |
| src | |
| cache_bench.c | #147 eviction-policy benchmark: the exact-accounting replay engine |
| cache_bench_host.c | EINTR-safe raw-descriptor I/O and sibling publication |
| cache_bench_io.c | Bounded formatting and complete-write helpers for cache_bench |
| cache_bench_report.c | #147 benchmark front end: swept-capacity report, mode dispatch, main |
| policies.c | Reference eviction policies + the registry for the #147 benchmark |
| policy_scanresist.c | Scan-resistant eviction policies for the #147 benchmark: Segmented-LRU and SRRIP – the deterministic, low-metadata candidates a DO-178C page cache can actually ship (no ghost lists, bounded eviction scan) |
| sweep_block.c | Core of the #208 block/frame-size sweep (--sweep-block) |
| sweep_block_backends.c | Streamed pseudo-memory and RBKC-z9 block-sweep backends |
| sweep_block_payload.c | Checkpointed allocation-free pseudo-text source for block sweeps |
| sweep_block_report.c | Reporting for the #208 sweep: machine-parseable rows, per-leg summary tables, and the measured knee / crossover verdict |
| trace.c | Deterministic synthetic cursors and bounded captured-trace parsing |
| epub_compile | |
| src | |
| bake_library.py | |
| cbz_compile.py | |
| epub_compile.py | |
| epub_dom.py | |
| epub_package.py | |
| epub_pipeline.py | |
| gen_manifest.py | |
| gray4_kernel.py | |
| rabook_blob.py | |
| rabook_format.py | |
| exfat_mkimage | |
| src | |
| exfat_mkimage.c | Build an atomic deterministic exFAT showcase image through ra8_fs |
| glyph_bench | |
| src | |
| glyph_bench.c | #147/#162/#164 glyph-cache workload sweep: drive the real ra8_glyph_atlas with a realistic text-render glyph stream and report the hit rate (and rasterisations saved) versus the cache budget |
| mcp | |
| src | |
| mcp_content.py | |
| mcp_protocol.py | |
| mcp_tools.py | |
| mcp_util.py | |
| ra8_mcp.py | |
| mkbookimg | |
| inc | |
| mkbookimg_internal.h | Module-private seams shared by the two mkbookimg translation units |
| mkbookimg_names.h | Derive an on-card file name from a source book path (long-name capable) |
| src | |
| mkbookimg.c | Host tool that streams compiled books into an atomic FAT32 image |
| mkbookimg_books.c | Stream every requested book into the mounted image and prove the copy |
| mkfontimg | |
| inc | |
| mkfontimg_internal.h | Module-private bounded host-storage composition for mkfontimg |
| src | |
| mkfontimg.c | Build an atomic FAT16 font image through bounded filesystem streaming |
| mkfontimg_host.c | Bounded descriptor-backed storage composition for mkfontimg |
| ra8_emulator | |
| inc | |
| board_console.h | Multi-channel console log store backing the board view's tabbed console |
| board_input.h | Host-side keystroke FIFO: window / CLI key source -> UART RX sink |
| board_net.h | Virtual network peer for ra8_emulator – talks TCP/IP to the firmware |
| board_overlay.h | Composite board-view renderer: panel framebuffer + a status sidebar |
| board_overlay_internal.h | Module-private layout constants + draw primitives for the overlay |
| board_periph.h | Register-accurate peripheral-model framework for the board emulator |
| board_periph_block.h | Decentralized peripheral-block registry for the board emulator core |
| board_periph_eink.h | IT8951 e-paper SPI-device model for ra8_emulator (attached to SPI_B) |
| board_periph_i2c_internal.h | Module-private interfaces shared by the board_periph_i2c TUs |
| board_periph_modem.h | Cellular AT-modem device model for ra8_emulator (attached to SCI7 UART) |
| board_periph_mstp_internal.h | Module-private module-stop (MSTP) gate state shared with the core |
| board_periph_pdctr_internal.h | Module-private graphics power-domain state for the gated blocks |
| board_periph_prcr_internal.h | Module-private PRCR unlock state shared with the protected blocks |
| board_periph_riic_devices_internal.h | Internal RIIC bus-device registry and board-device models |
| board_periph_sd.h | SD-card-over-SPI device model for ra8_emulator (attached to SPI_B) |
| board_periph_sd_internal.h | Module-private FAT formatter shared by the board_periph_sd TUs |
| board_usb.h | USBFS controller model + a virtual USB host for the board emulator |
| board_usb_host.h | USBHS HOST-mode controller model (self-loop peer of the USBFS device) |
| board_usb_internal.h | Module-private state + interfaces shared by the board_usb TUs |
| board_view.h | Minimal self-contained macOS window for the board emulator |
| board_view_provider_internal.h | Internal immutable-fd CoreGraphics provider factory |
| emu_args.h | Ra8_emulator command-line parsing (usage text + option decoding) |
| emu_console.h | Emulator text-console surfaces: UART echo, ITM/SWO echo, escapes |
| emu_cpu1.h | Second-core (cpu1, Cortex-M33) engine: release watch, boot, stepping |
| emu_elf.h | ELF32 image services for the board emulator (load / symbols / vectors) |
| emu_elf_source_internal.h | Private raw-descriptor ELF source operations |
| emu_engine.h | Shared Unicorn engine access utilities for the board emulator |
| emu_exc.h | Cortex-M exception model constants and interfaces for ra8_emulator |
| emu_host_io_internal.h | Bounded raw-descriptor I/O seam for the RA8 emulator |
| emu_memmap.h | Shared aliased-memory backing and Unicorn memory-map bindings |
| emu_memory_access.h | Central first-party Unicorn memory access seam |
| emu_mmio.h | Sparse MMIO model of the Renesas peripheral space |
| emu_mpu.h | Armv8-M MPU enforcement model for ra8_emulator |
| emu_presentation.h | Bounded raw-descriptor presentation surface and scratch workspace |
| emu_prof.h | Firmware profiler (RA8_EMU_PROFILE): sampling, hooks, reports |
| emu_run.h | The chunked emulation run loop, report and exit-code mapping |
| emu_run_internal.h | Shared run-loop state + cross-TU run helpers (ra8_emulator internal) |
| emu_seams.h | Armv8.1-M instruction-emulation seams (M85 ops on Unicorn's M33) |
| emu_trace.h | Function-entry seam glue + the –trace-sym instrument |
| emu_tz.h | TrustZone Secure/Non-Secure seams for ra8_emulator |
| emu_usbh_seam.h | Virtual USB host-mode devices behind the ra8_usb_host_* / hmsc seams |
| emu_view.h | Board-view presentation: frames, composition, input routing, panels |
| emu_view_surface_internal.h | Internal streamed panel/composite builder seam |
| emu_view_tile_internal.h | Internal bounded RGB565 tile rotation/writer |
| src | |
| display | |
| board_overlay.c | Composite board-view renderer implementation (see board_overlay.h) |
| board_overlay_draw.c | Overlay draw primitives + embedded 5x7 font |
| board_view_pixels.c | Bounded raw-fd RGB565 to CoreGraphics byte-range expansion |
| board_view_provider.c | Immutable raw-fd CoreGraphics direct provider implementation |
| board_view_stub.c | Headless no-op board view for non-Apple builds (Linux CI) |
| engine | |
| emu_args.c | CLI parsing implementation (see emu_args.h) |
| emu_console.c | Emulator console surfaces implementation (see emu_console.h) |
| emu_cpu1.c | Second-core (cpu1) engine implementation (see emu_cpu1.h) |
| emu_elf.c | Streaming ELF32 segment, vector-base, and warm-reboot services |
| emu_elf_reboot.c | Warm-reboot orchestration over an open streaming ELF source |
| emu_elf_source.c | Allocation-free raw-descriptor ELF source ownership and bounded views |
| emu_elf_symbols.c | Bounded raw-descriptor ELF32 symbol and string streaming |
| emu_engine.c | Shared engine-access table definition (see emu_engine.h) |
| emu_exc.c | Hand-modelled Cortex-M exception engine (see emu_exc.h) |
| emu_exc_scs.c | SCS write watchers + DWT time base (see emu_exc.h) |
| emu_idle.c | Wait-for-interrupt idle-spin detector (see emu_exc.h) |
| emu_insn_seams.c | Invalid-instruction dispatcher + trap-path seams (see emu_seams.h) |
| emu_memmap.c | Emulated memory map implementation (see emu_memmap.h) |
| emu_memory_access.c | Central Unicorn memory access seam (see emu_memory_access.h) |
| emu_mmio.c | Sparse MMIO model implementation (see emu_mmio.h) |
| emu_mpu.c | Armv8-M MPU enforcement implementation (see emu_mpu.h) |
| emu_presentation.c | Checked raw-fd presentation workspace implementation |
| emu_prof.c | Firmware profiler implementation (see emu_prof.h) |
| emu_run.c | Chunked run loop + report implementation (see emu_run.h) |
| emu_run_guards.c | Run-guard environment knob reader (see emu_run.h) |
| emu_run_inner.c | Inner per-chunk exception-resolve loop (see emu_run_internal.h) |
| emu_run_report.c | Run-end report + finalize (see emu_run_internal.h) |
| emu_seam_div0.c | Divide-by-zero UsageFault (CCR.DIV_0_TRP) CPU-model seam |
| emu_seam_longshift.c | Armv8.1-M long-shift (LSLL/LSRL/ASRL) emulation seam (see emu_seams.h) |
| emu_seam_mve.c | Minimal MVE (Helium) emulation seam (see emu_seams.h) |
| emu_seam_sd.c | –fast-sd whole-block SD serving seam |
| emu_trace.c | Seam glue + –trace-sym implementation (see emu_trace.h) |
| emu_tz.c | TrustZone S/NS seam implementation (see emu_tz.h) |
| emu_usbh_seam.c | Virtual USB host-mode device seams (see emu_usbh_seam.h) |
| emu_view.c | Board-view presentation implementation (see emu_view.h) |
| emu_view_surface.c | Bounded-tile GLCDC rotation, raw-fd composition, and PPM export |
| emu_view_tile.c | Pure bounded tile rotation plus checked raw-surface row writes |
| host | |
| emu_host_io.c | Bounded raw-descriptor host-I/O implementation |
| io | |
| board_console.c | Multi-channel console log store implementation (see board_console.h) |
| board_input.c | Host-side keystroke FIFO implementation (see board_input.h) |
| board_net.c | Virtual network peer (Ethernet/ARP/IPv4/ICMP/TCP) for ra8_emulator |
| periph | |
| board_periph.c | Peripheral-block registry core + ICU/NVIC routing for ra8_emulator |
| board_periph_adc.c | ADC16H (16-bit SAR) peripheral-block model for the board emulator |
| board_periph_bkup.c | VBATT backup-register (VBTBKRn) reset-retained domain model |
| board_periph_cac.c | CAC (Clock Frequency Accuracy Measurement) edge-counter model |
| board_periph_canfd.c | CAN-FD controller peripheral-block model for the board emulator |
| board_periph_ceu.c | Capture Engine Unit (CEU) peripheral-block model for ra8_emulator |
| board_periph_crc.c | CRC calculator peripheral-block model for the board emulator |
| board_periph_dac.c | DAC_B (12-bit D/A) peripheral-block model for the board emulator |
| board_periph_dmac.c | DMAC0 transfer peripheral-block model for the board emulator |
| board_periph_doc.c | Data Operation Circuit (DOC) peripheral-block model for ra8_emulator |
| board_periph_drw.c | Bench-validated DRW ("D/AVE 2D") rasterizer model for ra8_emulator |
| board_periph_dtc.c | DTC (Data Transfer Controller) transfer-engine model for ra8_emulator |
| board_periph_eink.c | IT8951 e-paper SPI-device model for ra8_emulator |
| board_periph_eth.c | R-Switch (ESWM / MFWD / COMA / ETHA / RMAC / GWCA) model for ra8_emulator |
| board_periph_glcdc.c | Graphics LCD Controller (GLCDC) framebuffer-descriptor model for ra8_emulator |
| board_periph_gpio.c | GPIO / PORT peripheral-block model for the board emulator |
| board_periph_gptp.c | Ethernet Generic PTP Timer (GPTP) model for ra8_emulator – HUM Ch 35 |
| board_periph_i2c.c | I3C-in-I2C-mode (IIC_B) controller + GT911 touch + LSM6DSO IMU models plus an external-controller stimulus for the firmware in target mode |
| board_periph_i2c_devices.c | LSM6DSO IMU + MAX17048 fuel-gauge device models on the I2C bus |
| board_periph_ipc.c | Inter-Processor Communication (IPC) peripheral-block model for ra8_emulator |
| board_periph_lvd.c | LVD / PVD voltage-monitor status model for ra8_emulator |
| board_periph_modem.c | Cellular AT-modem device model for ra8_emulator (attached to SCI7) |
| board_periph_mram.c | Extra-MRAM (data-flash) MACI program/erase model for ra8_emulator |
| board_periph_mstp.c | Module Stop Control (MSTPCRA..E) register block for ra8_emulator |
| board_periph_mstp_model.c | Module-stop (MSTP) shadow + address->bit gate table (engine-free half) |
| board_periph_npu.c | Arm Ethos-U55 NPU command/queue execution model (RA8P1-only) for ra8_emulator |
| board_periph_pdctr.c | Graphics power-domain gating (PDCTRGD) model |
| board_periph_pdm.c | PDM-IF (digital MEMS microphone) peripheral-block model for ra8_emulator |
| board_periph_poeg.c | Port Output Enable for GPT (POEG) safe-shutoff register model |
| board_periph_prcr.c | SYSC register-write-protection (PRCR) model |
| board_periph_reset.c | Reset-cause status register (RSTSRn) model for ra8_emulator |
| board_periph_riic.c | RIIC (IIC) controller + PI4IOE5V6408 I/O-expander + OV5640 SCCB model |
| board_periph_riic_devices.c | RIIC bus registry, PI4IOE5V6408 expander, and OV5640 sensor models |
| board_periph_rtc.c | Realtime Clock (RTC) calendar peripheral-block model for ra8_emulator |
| board_periph_rtt.c | SEGGER RTT up-buffer drain model for ra8_emulator |
| board_periph_sci.c | SCI_B UART peripheral-block model for the board emulator |
| board_periph_sd.c | SD-card-over-SPI device model for ra8_emulator (attached to SPI_B) |
| board_periph_sd_format.c | Blank-card FAT16/FAT32 sparse-sector formatters (–sd-new) |
| board_periph_sd_image.c | Sparse raw-file lifecycle for the modelled SD card |
| board_periph_sdhi.c | Native 4-bit SDHI host-controller model for ra8_emulator (SDHI0) |
| board_periph_spi.c | SPI_B (Type-B SPI) controller peripheral-block model for ra8_emulator |
| board_periph_sram.c | SRAM controller ECC self-test / error-status model (SRAMCRn / SRAMESR) |
| board_periph_ssie.c | Serial Sound Interface Enhanced (SSIE / I2S) peripheral-block model |
| board_periph_timer.c | GPT + AGT timer peripheral-block model for the board emulator |
| board_periph_ulpt.c | Ultra-Low-Power Timer (ULPT) peripheral-block model for ra8_emulator |
| board_periph_usbhs_host.c | On-chip USBHS host controller model (0x40351000) for the board emulator |
| board_periph_wdt.c | Window Watchdog Timer (WDT0 / WWDT) model for ra8_emulator |
| board_periph_xspi.c | Octal-SPI (xSPI) manual-command + NOR-flash peripheral model for ra8_emulator |
| usb | |
| board_usb.c | USBFS controller model + virtual USB host (chapter-9 enumeration) |
| board_usb_bridge.c | USBHS-host <-> USBFS-device bridge (see board_usb_internal.h) |
| board_usb_dev.c | USBFS register + CFIFO model (see board_usb_internal.h) |
| board_usb_host.c | USBHS HOST-mode controller model (self-loop peer of the USBFS device) |
| board_usb_loop.c | Self-loop (loop-cable) transport (see board_usb_internal.h) |
| board_usb_vhost.c | Built-in virtual chapter-9 USB host (see board_usb_internal.h) |
| main.c | RA8D2 board emulator – boot a real .elf on a CPU emulator, with ticks |
| rabook_imagepack | |
| inc | |
| ra8_fmt_host_fd_internal.h | Raw file-descriptor adapters for the portable format-tool contracts |
| ra8_fmt_host_spool_internal.h | Anonymous raw-fd scratch artifacts for portable format verification |
| ra8_fmt_portable_main_internal.h | Caller-workspace CLI composition for every supported tool verb |
| ra8_fmt_stream.h | Caller-workspace I/O contracts for portable format-tool engines |
| src | |
| main.c | Portable command entry for JOF and RBKC content tooling |
| ra8_fmt_host_fd.c | Fail-closed raw-fd host composition for portable format engines |
| ra8_fmt_host_spool.c | Owned anonymous raw-fd spools for bounded verifier composition |
| ra8_fmt_portable_convert.c | Raw-descriptor composition root for caller-workspace JOF conversion |
| ra8_fmt_portable_main.c | Raw-descriptor CLI composition for JOF and RBKC inspection |
| ra8_fmt_portable_verify.c | Raw-fd composition root for bounded two-spool JOF verification |
| ra8_fmt_stream_convert.c | Callback-driven, caller-workspace image-to-JOF conversion |
| ra8_fmt_stream_inspect.c | Callback-driven, caller-workspace JOF inspection and reporting |
| ra8_fmt_stream_rabook.c | Strict callback-driven RBKC and RABOOK1 inspection |
| ra8_fmt_stream_verify.c | Caller-workspace two-spool JOF round-trip verification |
| ra8_fmt_stream_verify_plan.c | Exact caller-workspace planning for JOF verification |
| rabook_viewer | |
| fixtures | |
| make_fixture.py | |
| inc | |
| ra8_viewer_output_internal.h | Private typed diagnostic writers for the host viewer |
| ra8_viewer_reader.h | Caller-owned host JOF/comic reader and RGB565 render surface |
| ra8_viewer_reader_internal.h | Cross-translation-unit state for the bounded JOF/comic viewer |
| ra8_viewer_view.h | Caller-owned C ABI for the Cocoa scrolling JOF view |
| src | |
| main.c | Bounded host composition root for the JOF/comic viewer |
| ra8_viewer_comic.c | Caller-workspace CBZ, CBR, and CBT reader engine |
| ra8_viewer_jof.c | Streamed JOF long-strip rendering over a one-band caller cache |
| ra8_viewer_output.c | Typed allocation-free diagnostic writers for the host viewer |
| ra8_viewer_ppm.c | RGB565 <-> 8-bit RGB conversion and the shared binary-PPM (P6) writer |
| ra8_viewer_reader.c | Requirements, workspace binding, descriptor lifecycle, and dispatch |
| ra8_viewer_view_stub.c | Non-Apple platform alternative for the Cocoa viewer ABI |
| reader_vmem | |
| inc | |
| reader_vmem_internal.h | Private host sink and caller-owned workspace contracts for reader_vmem |
| src | |
| reader_vmem.c | Drive the real virtual-memory cache with a deterministic reader trace |
| reader_vmem_host.c | Bounded raw-descriptor trace composition for reader_vmem |
| reader_vmem_workspace.c | Checked split-region planning for reader_vmem cache RAM |
| vela | |
| generated | |
| ra8_npu_model_addk_fake.h | |
| src | |
| vela_gen.py |