МАРСОХОД

Open Source Hardware Project

Проект 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 должен быть интересным нашим читателям. Именно поэтому последнее время я занимаюсь портированием этого проекта на нашу плату.

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

1) Получить исходные тексты MIPS. Инструкция вот здесь: http://www.silicon-russia.com/2015/12/11/mipsfpga-download-instructions/
Исходные тексты процессора состоят как бы из двух частей: собственно исходники ядра - тут нужно регистрироваться в коммьюнити http://community.imgtec.com/register, затем запросить ссылку на загрузку и, если ее дают, то скачать пакет. Я исходники запросил и получил без проблем. Вторая часть исходных текстов - это обвязка для конкретных FPGA плат и скрипты тестирования и симуляции на http://github.com/MIPSfpga/mipsfpga-plus.

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

 

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



facebook  GitHub  YouTube  Twitter