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

Everything setup hands the run loop: engine, image, CLI products. More...

#include <emu_run.h>

Collaboration diagram for emu_run_cfg_t:

Data Fields

uc_engine * uc
 The prepared cpu0 engine.
emu_elf_source_telf
 Open caller-owned firmware source.
uint32_t initial_pc
 Reset-vector PC (Thumb bit set).
uint32_t vtor_base
 VTOR fallback (the MRAM vector base).
bool want_trace
 –trace (forwarded to warm reboots).
bool want_view
 –view (live window requested).
bool want_click
 –click armed.
int click_x
 –click column (composite pixels).
int click_y
 –click row (composite pixels).
const char * ppm_path
 –ppm output path (NULL when unused).
const char * record_dir
 –record directory (NULL when unused).
uint32_t record_secs
 –record-secs bound (0 = unbounded).
uint32_t rotate_deg
 –rotate display rotation.
int reboot_count
 –reboot N scheduled warm reboots.
const char * save_sd_path
 –save-sd dump path (NULL when unused).
uint32_t stop_sym_addr
 –stop-sym resolved address (0 = off).
uint32_t stop_sym_thresh
 –stop-sym threshold value.
const char *const * dump_sym_names
 –dump-sym names (argv-backed).
const uint32_t * dump_sym_addrs
 –dump-sym resolved addresses.
uint32_t dump_sym_n
 Count of –dump-sym entries.
uint16_t view_w
 Panel width in pixels.
uint16_t view_h
 Panel height in pixels.
const char * win_title
 Window / sidebar caption.
emu_presentation_workspace_tpresentation
 Owned streamed frame surface.
emu_memmap_workspace_tmemory
 Authoritative aliased-memory backing.

Detailed Description

Everything setup hands the run loop: engine, image, CLI products.

One read-only bundle of the values main()'s parse + setup phases produce, so the run loop, report and exit-code mapping consume exactly the state they always did.

Invariant
Referenced strings, ELF source, and presentation workspace outlive emu_run_and_report().
See also
emu_run_and_report() The consumer.
Since
0.1.0

Definition at line 122 of file emu_run.h.

Field Documentation

◆ click_x

int emu_run_cfg_t::click_x

–click column (composite pixels).

Definition at line 130 of file emu_run.h.

Referenced by internal_run_classify_click(), and internal_run_loop_tick_inputs().

◆ click_y

int emu_run_cfg_t::click_y

–click row (composite pixels).

Definition at line 131 of file emu_run.h.

Referenced by internal_run_classify_click(), and internal_run_loop_tick_inputs().

◆ dump_sym_addrs

const uint32_t* emu_run_cfg_t::dump_sym_addrs

–dump-sym resolved addresses.

Definition at line 141 of file emu_run.h.

Referenced by internal_run_print_dump_syms().

◆ dump_sym_n

uint32_t emu_run_cfg_t::dump_sym_n

Count of –dump-sym entries.

Definition at line 142 of file emu_run.h.

Referenced by internal_run_print_dump_syms().

◆ dump_sym_names

const char* const* emu_run_cfg_t::dump_sym_names

–dump-sym names (argv-backed).

Definition at line 140 of file emu_run.h.

Referenced by internal_run_print_dump_syms().

◆ elf

emu_elf_source_t* emu_run_cfg_t::elf

Open caller-owned firmware source.

Definition at line 124 of file emu_run.h.

Referenced by internal_run_loop_prologue(), internal_run_loop_run_chunk(), and priv_run_cleanup().

◆ initial_pc

uint32_t emu_run_cfg_t::initial_pc

Reset-vector PC (Thumb bit set).

Definition at line 125 of file emu_run.h.

Referenced by internal_run_loop_setup().

◆ memory

emu_memmap_workspace_t* emu_run_cfg_t::memory

Authoritative aliased-memory backing.

Definition at line 147 of file emu_run.h.

Referenced by priv_run_cleanup().

◆ ppm_path

const char* emu_run_cfg_t::ppm_path

–ppm output path (NULL when unused).

Definition at line 132 of file emu_run.h.

Referenced by priv_run_write_outputs().

◆ presentation

emu_presentation_workspace_t* emu_run_cfg_t::presentation

Owned streamed frame surface.

Definition at line 146 of file emu_run.h.

Referenced by internal_run_setup_geometry(), and priv_run_cleanup().

◆ reboot_count

int emu_run_cfg_t::reboot_count

–reboot N scheduled warm reboots.

Definition at line 136 of file emu_run.h.

Referenced by internal_run_loop_setup().

◆ record_dir

const char* emu_run_cfg_t::record_dir

◆ record_secs

uint32_t emu_run_cfg_t::record_secs

–record-secs bound (0 = unbounded).

Definition at line 134 of file emu_run.h.

Referenced by internal_guard_setup_record().

◆ rotate_deg

uint32_t emu_run_cfg_t::rotate_deg

–rotate display rotation.

Definition at line 135 of file emu_run.h.

Referenced by internal_run_loop_tick_inputs(), and internal_run_loop_view().

◆ save_sd_path

const char* emu_run_cfg_t::save_sd_path

–save-sd dump path (NULL when unused).

Definition at line 137 of file emu_run.h.

Referenced by priv_run_cleanup().

◆ stop_sym_addr

uint32_t emu_run_cfg_t::stop_sym_addr

–stop-sym resolved address (0 = off).

Definition at line 138 of file emu_run.h.

Referenced by internal_run_stop_sym().

◆ stop_sym_thresh

uint32_t emu_run_cfg_t::stop_sym_thresh

–stop-sym threshold value.

Definition at line 139 of file emu_run.h.

Referenced by internal_run_stop_sym().

◆ uc

◆ view_h

uint16_t emu_run_cfg_t::view_h

Panel height in pixels.

Definition at line 144 of file emu_run.h.

◆ view_w

uint16_t emu_run_cfg_t::view_w

Panel width in pixels.

Definition at line 143 of file emu_run.h.

◆ vtor_base

uint32_t emu_run_cfg_t::vtor_base

VTOR fallback (the MRAM vector base).

Definition at line 126 of file emu_run.h.

Referenced by internal_run_loop_run_chunk().

◆ want_click

bool emu_run_cfg_t::want_click

◆ want_trace

bool emu_run_cfg_t::want_trace

–trace (forwarded to warm reboots).

Definition at line 127 of file emu_run.h.

Referenced by internal_run_loop_prologue(), and internal_run_loop_run_chunk().

◆ want_view

bool emu_run_cfg_t::want_view

–view (live window requested).

Definition at line 128 of file emu_run.h.

Referenced by internal_run_open_view().

◆ win_title

const char* emu_run_cfg_t::win_title

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