27 (void)
priv_emu_io_errf(
"ra8_emulator: warm_reboot: load_elf failed -- ending run\n");
45 (void)uc_reg_write(uc, UC_ARM_REG_SP, &sp);
46 (void)uc_reg_write(uc, UC_ARM_REG_PC, &pc);
47 (void)uc_reg_write(uc, UC_ARM_REG_XPSR, &xpsr);
48 (void)
priv_emu_io_errf(
"ra8_emulator: warm reboot -- reset SP=0x%08X PC=0x%08X\n", sp, pc);
Multi-channel console log store backing the board view's tabbed console.
void board_console_reset(void)
Clear every channel ring (called on a warm reboot).
Virtual network peer for ra8_emulator – talks TCP/IP to the firmware.
void board_net_init(bool trace)
Reset the virtual network peer to its initial state.
Register-accurate peripheral-model framework for the board emulator.
void board_periph_init(bool trace)
One-time reset of all peripheral-model state.
Emulator text-console surfaces: UART echo, ITM/SWO echo, escapes.
void emu_console_reset(void)
Reset the in-flight ITM line (warm-reboot support).
ELF32 image services for the board emulator (load / symbols / vectors).
int load_elf(uc_engine *uc, const emu_elf_source_t *elf)
Load ELF32 PT_LOAD segments into emulated memory at their LMA.
uint32_t warm_reboot(uc_engine *uc, const emu_elf_source_t *elf, bool trace)
Warm-reboot the firmware: re-run from the reset vector in place.
Cortex-M exception model constants and interfaces for ra8_emulator.
@ k_xpsr_t_bit
xPSR.T (Thumb) – must stay set.
void emu_exc_reset(void)
Reset the exception bookkeeping for a warm reboot.
Bounded raw-descriptor I/O seam for the RA8 emulator.
emu_io_result_t priv_emu_io_errf(const char *format,...)
Format bounded text and write it to the injected error descriptor.
Shared aliased-memory backing and Unicorn memory-map bindings.
uint64_t emu_memmap_mram_base(void)
Return the MRAM boot-vector base.
uc_err emu_mem_read(uc_engine *uc, uint64_t address, void *bytes, size_t count)
Read guest memory through the central access seam.
Armv8-M MPU enforcement model for ra8_emulator.
void emu_mpu_clear_fault(void)
Clear the latched MPU violation.
Armv8.1-M instruction-emulation seams (M85 ops on Unicorn's M33).
void emu_div0_clear_fault(void)
Clear the latched divide-by-zero fault.
void emu_div0_disarm(void)
Drop the armed state after a warm reboot re-loads the image.
Board-view presentation: frames, composition, input routing, panels.
void emu_view_reset_console(void)
Reset the console-scrollback view (warm-reboot support).
One independently owned immutable raw-descriptor ELF source.