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 килобайт.

vak: (Daemon)
Приезжайте летом в Нью-Йорк на конференцию NYC*BUG. Брайан Каллахан будет делать презентацию про RetroBSD и LiteBSD.

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

Abstract
    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.

Speaker Bio
    Brian is a Ph.D. candidate in the Department of Science and Technology Studies at Rensselaer Polytechnic Institute. His research explores how underserved groups vie for legitimacy and normalcy in the IT sector through diversity and other initiatives. He is an ex-OpenBSD developer who used to do a lot of work on ports but now advocates for a BSD-agnostic approach. Somehow, George keeps convincing him that giving talks at NYCBUG is a good idea.