МАРСОХОД

Open Source Hardware Project

mips

MIPSfpga - это пакет, который содержит процессорное ядро в исходных текстах на Verilog, которое можно собирать и запускать в FPGA.
MIPSfpga - это набор тестовых программ, которые запускаются на процессорном ядре MIPS, запущенном в FPGA.
MIPSfpga - это набор скриптов для сборки ядра, для компиляции тестовых программ, загрузки исполняемых файлов в плату с FPGA, запуска симуляторов.

В этом разделе мы размещаем статьи о MIPSfpga в плате Марсоход3 с ПЛИС Intel MAX10.

Проект MIPSfpga

imgtech mipsfpga

В последнее время на habrahabr.ru появилось очень много статей о процессоре с архитектурой MIPS. Конечно это интересно. Компания Imagination Technologies Group еще 2013 году приобрела MIPS Technologies, Inc. и ее разработки в области архитектурных решений микропроцессорного ядра и IPCores. С тех пор многое изменилось. Стремясь вернуть МИПСу былое влияние на рынок, компания Imagination предприняла ряд решительных мер. Например, она открыла исходные тексты ядра всем заинтересованным лицам. Университеты могут бесплатно получить исходники и обучающие материалы по MIPS процессору и могут преподавать студентам его внутреннее устройство и принципы работы. Ядро MIPS можно запустить на многих платах с ПЛИС: de0_cv, de0_nano, de10_lite, nexys4 и других.

Мы подумали, что запуск ядра MIPSfpga в плате Марсоход3 должен быть интересным нашим читателям. Именно поэтому последнее время я занимаюсь портированием этого проекта на нашу плату.

Компилируем и испытываем процессор MIPSfpga в плате Марсоход3

Здесь расскажу, как откомпилировать проект MIPSfpga для платы Марсоход3, как загрузить образ в плату, откомпилировать простую сишную программу и запустить ее в плате на процессоре MIPS.

Далее описано по шагам, что нужно сделать.

Запуск тестовых программ в SoC MIPSfpga на плате Марсоход3

Первоначально, вариант обвязки MIPSfpga+ процессора MIPS microAptiv UP для FPGA написал Yuri Panchul на основе обвязки MIPSfpga 1.0 написанной Sarah Harris. Затем MIPSfpga+ существенно развил Stanislav Zhelnio, который и ведет проект сейчас. В проект также вносили добавления и создавали на его основе другие проекты разработчики из России, Украины, США, Великобритании, Италии и других стран.. В mipsfpga-plus репозитории на github есть примеры программ, которые можно запустить в процессоре.

Здесь я дам некоторые пояснения к некоторым программам и расскажу, как я запускаю их в плате Марcоход3.

Итак, в проекте mipsfpga_plus есть папка programs и в ней еще несколько подпапок:

00_counter
01_light_sensor
02_cache_misses
03_pipeline_bypasses
04_memtest
05_uart
06_timer_irq
07_eic
08_uart_irq
09_adc
10_linux

Это примеры программ, которые можно откомпилировать и запустить в процессоре (или правильнее сказать в SoC) MIPSfpga. В предыдущей статье я уже компилировал сам проект FPGA, загружал ПЛИС платы Марсоход3 и запускал программу 00_counter.

Давайте теперь попробуем запустить некоторые другие программы.

Отладка программ в MIPSfpga

Я уже писал, как собрать процессор MIPSfpga для платы Марсоход3 и как в ней запускать программы для MIPS.

На этом видео показанно, как можно вести отладку программ прямо в плате, прямо в процессоре MIPSfpga.

Ниже в статье подробные разъяснения и иллюстрации всего этого процесса. Многое из того, что здесь написано повторяет инструкцию из вот этой статьи "MIPSfpga и внутрисхемная отладка" от Stanislav Zhelnio, SparF на хабрахабре, но уже применительно к плате Марсоход3.

Итак, что нужно сделать, чтобы настроить отладчик программ для MIPSfpga?


ВКонтакте  facebook  GitHub  YouTube  Twitter