simavr icon indicating copy to clipboard operation
simavr copied to clipboard

Add support for 8 & 16 bits sram traces and SH1106 OLED display

Open jpcornil-git opened this issue 1 year ago • 0 comments

Add support for (one commit for each):

  • 8 & 16 bits SRAM traces (0x20-ramend, i.e. overlap IO range to handle 16 bits registers)

SRAM tracing allows tracking of 16 bits registers, e.g. SP (Stack Pointer) as well as firmware variables, e.g. __brkval (Heap), that have no fixed adresses (using new AVR_MMCU_TAG_VCD_SRAM_8 and AVR_MMCU_TAG_VCD_SRAM_16 macro to populate the avr_mmcu_vcd_trace_t in the .mmcu section).

  • SH1106 128x64 I2C OLED display driver + demo code

SH1106 demo code emulates a complex system (OLED display, joystick for navigation & buttons) integrating support for SRAM as well a Program Counter tracing from the command line.

This has been developped to analyze heap-stack margin and evolution over time in the following project: https://github.com/jpcornil-git/Cone2Hank.

VCD trace example: https://github.com/jpcornil-git/simavr/tree/master/examples/board_sh1106#examples

jpcornil-git avatar Apr 20 '24 08:04 jpcornil-git