МАРСОХОД

Open Source Hardware Project

FPGA & CPLD Блогchips

САПР Altera Quartus II / Quartus Prime, язык Verilog HDL, ПЛИС Cyclone III, Cyclone IV, MAX II, MAX10.
Платы разработчика серии Марсоход, Марсоход2, Марсоход3.


Первый проект для платы Марсоход2RPI

m2rpi first prj

Для каждой из наших FPGA плат Марсоход, Марсоход2, Марсоход3 мы всегда делали первый проект очень простым. 

Это всегда было что-то вроде "моргания светодиодами". Как правило в таком проекте нет ничего особенного, однако, польза простого проекта очевидна:

  1. в нем легко разобраться даже новичку;
  2. его легко исправлять, наращивая функциональность проекта, с ним просто экспериментировать;
  3. в нем уже сделаны все важные назначения сигналов проекта на конкретные выводы микросхемы ПЛИС.

Конечно, для новой платы Марсоход2RPI тоже нужен такой простой проект.
Так сделаем его!
Код проекта на github: https://github.com/marsohod4you/m2rpi_first

Загрузка FPGA платы Марсоход2RPI из Raspberry Pi3 с помощью OpenOCD

openocd

OpenOCD ( http://openocd.org/ ) - это программа On-Chip Debugger. Позволяет вести отладку микроконтроллеров и микропроцессоров, программировать микросхемы флеш памяти, загружать ПЛИС. Поддерживает множество аппаратных программаторов и интерфейсов: STLink, Altera UsbBlaster, J-Link, SWD, OpenJTAG, FTDI.. Поддерживает большое число различных плат, кстати, даже и платы Марсоход/ Марсоход2/ Марсоход3!

Сейчас я расскажу, как можно загрузить ПЛИС платы Марсоход2RPI из микрокомпьютера Raspberry Pi3 с помощью OpenOCD.

Анонс новой платы: подключаем FPGA к Raspbery Pi

m2rpi

Объединение технологий FPGA и CPU давно будоражит пытливые умы разработчиков. Та же компания Intel не оставляет попыток "скрестить ежа с ужом", да и у разных производителей ПЛИС есть свои чипы с встроенным HPS. Об одной такой системе мы уже писали. Интерес этот понятен, каждая из технологий FPGA/CPU удобнее в какой-то своей сфере применения. На FPGA шире спектр подключаемой периферии и проще работать с задачами реального времени. На CPU удобнее обрабатывать и хранить данные, проще с пользовательским интерфейсом и связью с внешним миром. Но у существующих решений есть две серьезные проблемы - это высокий порог вхождения и цена. А нам хотелось бы реализовать симбиоз FPGA и CPU "для самых маленьких". Отсюда появилась идея сделать плату для Raspbery Pi. Хотя платы с FPGA для Raspbery Pi уже существуют, они имеют ряд недостатков. Опять-же, цена, нет плат с альтеровскими чипами и, на наш взгляд, не очень удачное конструктивное решение.

Запуск тестовых программ в 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 в плате Марсоход3

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

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


facebook  GitHub  YouTube  Twitter
Вы здесь: Начало