Стартовая страница

bot.habr.rss Разыменовываем NULL на RISC-V ядре scr1 16/10/24 17:00 UTC BotHabr to All

Опубликовано: Wed, 16 Oct 2024 16:28:50 GMT
Канал: Все статьи подряд / Программирование микроконтроллеров / Хабр

Во время работы в ASIC дизайн центре я потратил немало времени на отладку ошибок и падений ядра, просматривая временные диаграммы на шинах AXI от процессора к памяти. Иногда оказывалось, что адрес чтения из памяти оказывался 0x00000000 - классический случай разыменования нулевого указателя в C. На системах с ОС это приводит к известному всем C программистам segfault-у. И в bare metal системах разыменование NULL может приводить к интересным ситуациям. В этой статье рассмотрим, что происходит при разыменовании NULL, используя для пример open source RISC-V ядро scr1 и open source инструмент симуляции RTL Verilator. Читать далее

https://habr.com/ru/articles/851188/