2018-02-05

vak: (Default)
Испытываю плату chipKIT Lenny на предмет качества софта и совместимости со средой Arduino.

LOL shield: светодиодная матрица 9x14. Исходный текст: lenny-lol.ino


Простой графический экранчик LCD 48x84. Тетрис от Вадима Антонова. Исходный текст: lenny-tetris.ino


Плату LCD4884 пришлось слегка модифицировать под напряжение 3.3 вольта. Надо выкусить ножку 5V на разъёме питания и запаять её на соседнюю ножку 3.3V.
vak: (Default)
Про LiteBSD и RetroBSD пишут.

January 01, 2018 — Michael Engel

There is one quite nice thing I (re)discovered over the Christmas break. At a MIPS FPGA workshop in Munich last January, I was given a ChipKit Wi-Fire board. This board is based on a Microchip PIC32MZ microcontroller, which includes a MIPS M14k CPU core with MMU and FPU, 2 MB of flash memory, 512 kB RAM and a number of peripherals.

This board is not only capable of running typical embedded operating systems, but is probably one of the tiniest platforms capable of running real Unix - namely the last BSD Unix version from UC Berkeley, 4.4BSD-Lite2. This final version from the CSRG research group came out in 1995 after a lengthy litigation in which AT&T (back then the owner of Unix copyrights) tried to hinder the publication of the BSD source code due to allegations of illegaly copied AT&T proprietary source code - luckily, this trial resulted in only six files which had to be removed from the BSD source code base; the 4.4BSD source code without the infringing files was then published as 4.4BSD-Lite2 and formed the basis for subsequent open source BSD projects, including 386BSD, FreeBSD, NetBSD, OpenBSD and DragonFly BSD.

Serge Vakulenko has worked on liteBSD, a port of 4.4BSD-Lite2 to the PIC32MZ MIPS-based microcontrollers for a number of years and managed to get it to work with the rather puny hardware resources of that controller (the MIPS architecture itself was supported by 4.4BSD in DECstation and SONY MIPS machines).

I got it to run on the Wi-Fire board (which is one of the boards supported out of the box by LiteBSD); it is quite an impressive achievement and, despite the minimal hardware resources, feels familiar to people used to modern Unix or Linux systems.

So far, I have fixed two bugs in the litebsd kernel source.

One was missing support for the execution of so-called shebang interpreted executables, i.e. shell scripts or similar (Perl, Python, awk, etc.), which start with the character sequence "#!" followed by the name of the interpreter, such as "#!/bin/sh".

The other was a bug in the memory allocation code for ktrace, which resulted in a kernel panic during execution tracing when tracing was enabled in the kernel.

There is also RetroBSD, an even smaller version of BSD for very tiny microcontrollers, derived from the last PDP11 BSD Unix version, 2.11BSD.

Some links:
Wi-Fire board

litebsd screen shot
vak: (Default)
Эта инструкция для игровой консоли GCW Zero почему-то исчезла с официального сайта. Сохраню её у себя, целее будет.

Quick Start Guide

 
 

You just got your GCW Zero. Congratulations!

Below you will find instructions that will help you take your first steps with the device.

Read more... )
vak: (Default)
Здесь собраны некоторые заметки по обращению с игровой приставкой GCW Zero.



Как подключить сеть Wi-Fi. Вызывает приложение "Wireless" и настраиваем имя сети, шифрование WPA/WPA2 и пароль. После этого выбираем "Connect". Смотрим полученный IP-адрес.

Как войти в систему через сеть. Используем IP адрес, полученный на предыдущем шаге. Вызывает приложение "Network" и разрешаем удалённый вход для root. После этого с другой машины входим, например: ssh root@192.168.1.78. Изначально пароль root пустой, его надо сразу изменить.

Как установить обновление системы. На странице http://www.gcw-zero.com/updates находим ссылку на нужный файл обновления. Заходим на игровую приставку через сеть и скачиваем файл в каталог приложений:
$ ssh root@192.168.1.78
root@192.168.1.78's password: ******
# cd /media/data/apps
# wget http://www.gcw-zero.com/files/gcw0-update-2014-08-20.opk
После этого на консоли вызываем появившееся приложение "OS Update".

Как войти в систему через USB. Подключаем приставку кабелем микро-USB к линуксной машине. Она автоматически подключится как сетевой интерфейс и получит адрес 10.1.1.2. Входим через ssh, например:
ssh root@10.1.1.2
Файлы можно пересылать через scp или ftp.

Как установить Debian. Внутренней Flash-памяти 12 Гбайт вполне достаточно, чтобы запустить полноценный Debian Linux, а под ним нормальные компиляторы Си, Си++ и прочие. Заходим через Wi-Fi на приставку, скачиваем и распаковываем файл debian-stretch-mini.tgz - минимальный вариант корневой файловой системы для Debian 9 (Stretch).
# mkdir /media/data/debian
# cd /media/data/debian
# wget http://vak.ru/pub/unix/debian-stretch-mini.tgz
# tar xzf debian-stretch-mini.tgz
Стартуем среду Debian. Можно создать скрипт для удобства.
mount --bind /dev /media/data/debian/dev
mount --bind /proc /media/data/debian/proc
mount --bind /sys /media/data/debian/sys
HOME=/root chroot /media/data/debian /bin/bash
Вы оказываетесь в оболочке bash из окружения Debian. Здесь при первом запуске имеет смысл установить полезные пакеты:
apt-get update
apt-get install locales bison byacc flex libelf-dev libfuse-dev \
build-essential make autoconf automake libtool gdb fuse man-db \
groff less ed bmake git byacc flex exuberant-ctags libfuse-dev \
bmake git byacc flex exuberant-ctags libfuse-dev dialog usbutils \
openssh-client subversion le vim gettext iputils-ping locate procps
Теперь у вас имеется полноценный Debian Linux, со всеми наворотами и Wi-Fi подключением к интернету. Можно скачивать, компилировать и запускать любой софт.