vak: (Default)
Появилась статья, суммирующая положительный опыт применения открытого процессорного ядра MIPSfpga в образовательных целях.

https://www.ncsu.edu/wcae/ISCA2017/papers/chaver.pdf
vak: (Default)
Приехал ко мне OpenScope MZ, простой универсальный осциллограф-генератор-логический анализатор с открытым софтом. Изначально это был проект на Кикстартере, а теперь продукт компании Digilent.



Скачиваем и устанавливаем так называемый агент (для Windows, Mac или Ubuntu), запускаем его (digilent-agent), после чего заходим на сайт http://waveformslive.com/. Подключаем девайс через USB к компьютеру, настраиваем подключение и получаем осциллограф:



Протокол OpenScope открытый, схему и все исходники можно найти на Гитхабе. В качестве процессора используется MIPS (Microchip pic32mz2048ef 200 МГц). Имеются следующие возможности:
  • Два входа АЦП 12 разрядов с полосой 2 МГц, скорость оцифровки 6.25 мегасэпмлов/сек
  • Один выход ЦАП с полосой 1 МГц и скоростью 10 мегасэпмлов/сек
  • Десять цифровых сигналов входа/выхода GPIO со скоростью обновления 25 МГц
  • Порт USB
  • Беспроводной интерфейс Wi-Fi
  • Карточка micro-SD
В принципе, на эту плату можно установить LiteBSD, но как-то не видно большого смысла.
vak: (Default)
Пять лет назад я начал проталкивать через начальство мысль о необходимости поддержки недорогих отладочных средств для процессоров MIPS. Наконец мои усилия увенчались успехом.

"Imagination Technologies announces availability of a powerful development environment for its MIPS M-class and I-class CPU IP cores that includes a state-of-the-art Graphical User Interface (GUI) and an Eclipse Integrated Development Environment (IDE) together with the low cost Bus Blaster JTAG probes – all at an unprecedented price point for professional grade tools."

Bus Blaster это адаптер, чере который можно подключиться к процессору MIPS через порт USB. Его можно приобрести за $44 (плюс доставка). Годится, к примеру, для большинства маршрутизаторов и точек доступа Wi-Fi. Обычно они сделаны на MIPS и имеют порт отладки EJTAG (2x7 пинов).



С бас бластером также отлично работают бесплатные opensource утилиты ejtagproxy и pic32prog.
vak: (Default)
В конце апреля в Киеве пройдёт экспериментальный семинар для старших и младших школьников по обучению современной цифровой электронике. Программа семинара и форма для регистрации доступны на сайте: http://electronics-ukraine.com/


vak: (Default)
Чего только народ не строит на процессорах MIPS. Вот, к примеру, самодельное сетевое хранилище на шесть жёстких дисков. Процессор MediaTek MT7621A (MIPS 1004Kc), два двухпоточных ядра до 1.2ГГц под управлением Debian Linux. Документация и схемы выложены на Гитхаб.

vak: (Улыбка)
Одноплатный компьютер на базе двухъядерного процессора Baikal-T1 в форм-факторе PCI-104.

Спецификация: http://www.prosoft.ru/cms/f/464222.pdf



Процессор Baikal-T1, представленный в мае 2015 года, стал первой отечественной системой на кристалле, спроектированной по современной технологии 28 нанометров и интегрирующей широкий набор современных высокоскоростных интерфейсов – USB, PCI, Ethernet и др. Baikal-T1 является первой в мире реализацией новейшего процессорного ядра Warrior P-class P5600 популярной архитектуры MIPS, ориентированной на рынки коммуникационных решений и встроенных систем. Энергопотребление Baikal-T1 не превышает 5 Вт, рабочая тактовая частота 1 ГГц. ("Время электроники")
vak: (Улыбка)
Автоматическая самоходная тележка это круто. Вождение по улицам Palo Alto вообще не сахар, приходится постоянно быть начеку. Однако электронные мозги отлично справляются, судя по ролику. Впечатляет автоматическая парковка в конце.

Вот так процессоры MIPS входят в 21-й век.

vak: (Улыбка)
Вытащу из старого форума на свет божий.
MIPS I (1985) --> MIPS II (1990) --> MIPS III (1992) --> MIPS IV (1994) --> MIPS V (1996)
                    \
                     \
                      MIPS R1 (1999) 
                        \
                         \
                          MIPS R2 (2002)
                            \
                             \
                              MIPS R3 (2010)
                                \
                                 \
                                  MIPS R5 (2012)
                                    \
                                     \
                                      MIPS R6 (2015)
vak: (Улыбка)
Процессор Qualcomm Atheros QCA9557 с ядром MIPS 74Kc частотой 720МГц, а также встроенным Wi-Fi на два диапазона 2.4 и 5МГц. На плате установлено 128Мбайт памяти и 128Мбайт Flash. Есть гигабитный проводной Ethernet, а также порты I2S, SPI, I2C, GPIO, PCIe, MDIO. Цена $35.

vak: (Улыбка)
Новая разработка нашей конторы, ядро MIPS I6500, будет применяться в самодвижущихся тележках, в частности Тесла.



Мультикластерная организация позволяет разместить на одном кристалле до 64-х кластеров по 6 ядер, каждое из которых имеет по 4 потока. В сумме на таком чипе можно будет запустить 64*6*4 = 1536 линуксов. :)

Из прочих существенных ништяков там есть аппаратная виртуализация и SIMD.

За последние три года мне тоже довелось приложить руку к этому проекту - в области технологии верификации и разработки образцовой референтной функциональной модели процессора. А Юра [livejournal.com profile] panchul, так даже успел вписать туда пару сотен строчек RTL кода.
vak: (Улыбка)
С сегодняшнего дня студенты и исследователи университетов получают возможность воплощать в кремнии процессор MIPS M5150 и проекты на его основе. Фирмы MOSIS и Imagination подписали соответствующий договор.

"Imagination partners with MOSIS to empower universities to implement leading-edge CPUs in silicon for research projects"

Это по сути то же самое процессорное ядро, что и в проекте MIPSfpga, но со всеми дополнительными возможностями, включая процессор с плавающей точкой, DSP и аппаратную виртуализацию.

В верификации этого процессора я принимал самое активное участие.
vak: (Улыбка)
Получил новую платку, с пылу, с жару.
Документация здесь: Ci40 Hardware User Guide (PDF).


Вот такой протокол загрузки получается.
Дальше... )
vak: (Улыбка)
Проект самодельного компьютера на базе микроконтроллера PIC32 набрал уже почти 90% от нужной суммы. Осталось еще две недели - присоединяйтесь!
vak: (Улыбка)
6 июля Брайан Каллахан расскажет про самые маленькие в мире Unix-системы: RetroBSD и LiteBSD.
И покажет. :)
Приходите!

2016-07-06 - Meet the Smallest BSDs: RetroBSD and LiteBSD, Brian Callahan
18:45, Stone Creek Bar & Lounge: 140 E 27th St


We all expect *BSD to run on our personal computers and servers. What you may not know is that the last five years have seen a successful experiment to bring *BSD to the PIC32 microcontrollers. There are now two different full *BSD operating systems for these microcontrollers: RetroBSD, a port of 2.11BSD, and LiteBSD, based on 4.4BSD-Lite2.

This talk introduces the two smallest BSDs, the differences between them, what hardware you need (with hands-on demos), and how to get involved. We'll overview what works, what doesn't, the challenges of writing a complete operating system with extremely small RAM limits in the modern era, and how to incorporate *BSD on the microcontroller into your *BSD universe.
vak: (Улыбка)
Ардуино хорошо, но Линукс лучше. В качестве примера управления GPIO-сигналами из Линукса, я сделал демо для светодиодного кубика 8x8x8. Выставили на стенде Imagination на недавней конференции DevCon - вроде народ интересовался, спрашивал. Коротенький фрагмент можно посмотреть на видео:



Исходные тексты лежат на Гитхабе: https://github.com/sergev/linkit-cube-demo

Интересно, что нашлась компания, сумевшая довести идею кубика до качественной коммерческой реализации. Приложение на мобильном телефоне позволяет загружать новые анимации непосредственно в кубик через Wi-Fi.
vak: (Daemon)
Парочка свежих видеороликов про самодельный компьютер на основе микроконтроллера PIC32.

Демонстрация работы клавиатуры:



Инструкция по самостоятельной сборке:

vak: (Улыбка)
На сайте CroudSupply народ собирает средства на проект самодельного радиолюбительского компьютера ELLO 2M. За $65 можно получить набор плат для самостоятельной сборки. Полностью собранный работающий компьютер обойдётся в $180.



Базовая версия ELLO 2M построена на чипе PIC32MX470 и поставляется с прошивкой Micromite Basic. Продвинутая версия ELLO 2M2 содержит процессор PIC32MZ-EF и позволяет установить операционную систему LiteBSD.
vak: (Улыбка)
Кому интересно поиграться с mips64: появился новый интересный девайс класса офисного или домашнего мини-роутера. Я его еще живьём не видел, но надеюсь как-нибудь пощупать, а лучше заиметь.

Четыре ядра MIPS64 1.6GHz, память 32GB, восемь портов Ethernet 10Gb или 1Gb, два порта SATA3, два порта mini-PCIe, microSD, USB3.0, консоль RS-232, небольшое количество GPIO.

vak: (Daemon)
Утилита opkg становится основным средством управления пакетами для операционной системы LiteBSD. На настоящий момент имеется 36 пакетов, доступных для установки по сети:
/root # opkg update
Downloading http://packages.litebsd.org/mipsel/Packages.
Updated source 'base'.
/root # opkg list
arch - 20151221 - Simple program from OpenBSD that prints the host's CPU architecture.
atto - 1.6 - The smallest functional Emacs in less than 2000 lines of C.
ce - 3.6 - MicroEMACS clone.
cgo - 0.4.1 - Terminal gopher client.
cpat - 1.2.1 - Console solitaire suite.
deco - 3.9 - Terminal orthodox file manager by Serge.
dhex - 0.68 - Console hex editor with diff support.
dhrystone - 2.1 - Dhrystone benchmark program written in C.
dired - 3.05 - Terminal-based directory editor.
ee - 1.5.2 - Easy editor
emg - 2.0 - MicroEMACS from RetroBSD.
forth - 1.4 - Portable Forth interpreter by Serge.
fpp - 1.1 - FORTRAN Preprocessor from Sun.
gmake - 4.1 - GNU make program
heme - 0.4.2 - Console hex editor.
httpsrv - 1.0 - Minimalist HTTP/1.0 server for static content
icb - 6 - Console ICB client.
ii - 1.7 - Minimalist FIFO and filesystem-based IRC client
less - 481 - Feature enhanced clone of the more(1) pager.
levee - 3.5b - Small multi-platform vi clone.
links - 2.12 - Text-mode web browser.
linpack - 19960914 - Improved version of the LINPACK benchmark program written in C.
lsx - 0.1 - Utility that lists the executables in a directory tree.
mawk - 1.3.4 - Fast interpreter for the AWK programming language.
multitail - 6.4.2 - Monitor logfiles and command output in multiple windows in a terminal.
nano - 2.5.1 - Clone of the pico editor from the GNU project.
pforth - 27 - Portable ANS Forth in C.
sandy - 0.6 - Minimalist ncurses text editor from the suckless project.
sash - 3.8 - A stand-alone shell with many built-in commands.
screen - 3.7.1 - Terminal multiplexer from the GNU project.
sic - 1.3 - Extremely simple IRC client.
sre - 8 - Clone of 1970s RAND text editor.
tinyscheme - 1.41 - Lightweight Scheme implementation of a subset of R5RS.
traditional-vi - 050325 - Original BSD vi(1).
whetstone - 1.2 - Updated version of the Whetstone benchmark in C.
zmtx-zmrx - 1.02 - ZMODEM send/receive programs
/root # opkg install ee
Installing ee (1.5.2) on root.
Downloading http://packages.litebsd.org/mipsel/ports/ee-1.5.2_mipsel.ar.
Configuring ee.
/root # _

В перспективе планируется создать для LiteBSD систему сборки и обновления пакетов, аналогичную Debian. С одной небольшой особенностью: всё это происходит на микроконтроллере с памятью 512 килобайт.