Итак, что мне нужно сделать:

1) Получить исходные тексты MIPS. Инструкция вот здесь: http://www.silicon-russia.com/2015/12/11/mipsfpga-download-instructions/  (Исправление от 2019 года.)

Для получения исходных текстов MIPS зарегистрируйтесь на сайте mipsopen.com: https://www.mipsopen.com/register/ После этого, перейдите по ссылке Download: https://www.mipsopen.com/resources/download/ и найдите блок ссылок под общим названием "MIPS Open FPGA". Там есть две ссылки, которые нам подходят, эти либо MIPS Open FPGA Getting Started Package либо MIPS Open FPGA SOC. Возможно подходит и ссылка MIPS Open FPGA Labs - не знаю, тут не проверял. В любом случае придется заполнить небольшую форму и написать, зачем вам нужны эти исходники. Ну придумайте что нибудь. Я получал писал свой запрос и буквально на следующий день мне приходила на почту ссылка для скачивания.

Таким образом вы получаете первую часть - исходники ядра. Вторая часть исходных текстов - это обвязка для конкретных FPGA плат и скрипты тестирования и симуляции на http://github.com/MIPSfpga/mipsfpga-plus. Это основной репозиторий, но для платы Марсоход3 берите не эту ссылку, а мой форк на github - об этом ниже.

2) Нужно адаптировать Verilog проект mipsfpga-plus для платы Марсоход3, этим я уже занимаюсь. Проект mipsfpga-plus я форкнул с гитхаба и теперь буду его менять и сопровождать в своем репозитории https://github.com/marsohod4you/mipsfpga-plus. Я уже сделал первые комиты в проект в бранч support-for-marsohod3 (и уже, в принципе, проект работает). Может потом сделаю pull request.

3) Скачать компилятор C/C++. На самом деле тут даже целый SDK, который содержит и компиляторы и все нужные библиотеки: https://www.mips.com/develop/tools/codescape-mips-sdk/. Я уже понимаю, что запустить Linux в плате Марсоход3 скорее всего не получится, так как судя по описаниям ему требуется хотя бы 16 Мбайт памяти, а у нас есть только 8. Однако, я буду запускать так называемые baremetal программы - это когда одна единственная программа запускается и работает, как в обычном микроконтроллере.

4) Скомпилировать тестовые C-программы mipsfpga-plus и запустить их в плате Марсоход3.

Я постараюсь на страницах нашего блога описать все свои эксперименты с MIPS. Однако, материалов по теме MIPSfpga уже очень много на хабре. Просто приведу ссылки на хабровские статьи (надеюсь их автор не против):

[L2] MIPSfpga и внутрисхемная отладка
[L3] Проект MIPSfpga-plus
[L4] MIPSfpga и SDRAM
[L5] MIPSfpga и прерывания
[L6] MIPSfpga и UART
[L7] Текущая активность вокруг MIPSfpga и не только
[L8] Поднимаем Linux на MIPSfpga и ПЛИС Altera
[L9] Портирование MIPSfpga на другие платы и интеграция периферии в систему
[L10] Подключение периферийных модулей к MIPSfpga, на примере клавиатуры Pmod KYPD
[L11] Подключение периферийных модулей к MIPSfpga, на примере ультразвуковых датчиков расстояния
[L12] MIPSfpga: вне канона
[L13] Как начать работать с MIPSfpga

 

Добавить комментарий