МАРСОХОД

Open Source Hardware Project

FPGA & CPLD Блогchips

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


InnovateFPGA

contest

Компания Terasic совместно с Intel проводят очередной конкурс проектов для FPGA. Сегодня 1-е декабря, осталось совсем немного времени, но оно еще есть. Каждый желающий, самостоятельно или в команде может зарегистрироваться для участия в конкурсе.

Денежные призы и платы разработчика.

Регистрация до 31-го декабря 2017 года.

Я уверен, что среди читателей нашего блога много умных и талантливых людей. Пробуйте и участвуйте, выигрывайте призы! 

Первый проект для платы Марсоход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.

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


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