[dev] core = "/home/nikto_b/Documents/baum/hmmmm/devices/avr_generic/AVRrc.toml" # gpio_a = "/home/nikto_b/Documents/baum/hmmmm/devices/avr_gpio/gpio.toml" [config.core.mem.ps] len = 128 [clock] limiter = 16000000 [clock.core] src = "" divider = 1 [clock.gpio_a] src = "core" divider = 2 # [mem.projection.gpio_a.ext_reg_io] # base_at = "core" # base_seg = "reg_io" # projection_shift = 0 [mem.intercept.PORTA] base_at = "core" point_at = "gpio_a" addr = 0 seg = "reg_io" [mem.intercept.PINA] base_at = "core" point_at = "gpio_a" base_addr = 1 point_addr = 1 base_seg = "reg_io" point_seg = "ext_reg_io" [mem.setup.core.ps] filepath = "/home/nikto_b/Documents/avr_selftests/test.bin" [mem.setup.core.ds] filepath = "/dev/urandom" overflow_behaviour = "ignore" # - почему си (адресная арифметика, отсутствие мешающих фичей языка, широкое распространение среди разработчеков-железячников) # - подход к модульности (всё базовое устройство, запускаем комбинированные устройства из базовых и комбинированных) # - структура базового модуля эмулятора (какие есть варианты полей конфига) # - структура комбинированного модуля эмулятора (какие есть варианты полей конфига) # - структура комбинированного модуля эмулятора (какие конфиг вырождается в эмулятор) # - процесс инициализации модуля (6 этапов инициализации) # - процесс исполнения модуля (чисто дергаем "makeTick" у каждой dlib'ы) # - реализация перехватчиков доступа (пример с sbi, диаграмма с тестовым перехватчиком) # - реализация проецирования памяти (диаграммы с колбасами) # - тестовая прошивка (селфтест сложения-вычитания) # - пример исполнения (?)