vak: (Default)
[personal profile] vak
Знаковый момент: в RetroBSD заработала поддержка сети TCP/IP.  В качестве сетевого контроллера Ethernet используется чип W5100 фирмы Wiznet.   Простейшая сетевая платформа для запуска RetroBSD легко собирается из двух плат: chipKIT Max32 и Arduino Ethernet shield R3:

Втыкаете одну плату в другую, прошиваете ядро из конфигурации sys/pic32/max32-eth, записываете файловую систему на карточку microSD - и вперёд. Есть пять примеров: веб-сервер, веб-клиент, чат-сервер, telnet-клиент и запрос даты/времени по сети.

Прикол здесь в том, что это как бы невозможно.  Да, в операционной системе 2.11BSD был сетевой стек TCP/IP.  Но ему для работы требовалась хотя бы пара мегабайт физической памяти.  Здесь же микроконтроллер настолько крохотный, что у ядра на всё про всё имеется только 32 килобайта, да и те забиты под завязку.  Но голь на выдумки хитра: именно для таких ситуаций придумали чип W5100, который аппаратно реализует весь стек протоколов, и выдаёт наружу уже готовый интерфейс к сокетам.  Всё, что требуется от ядра - драйвер SPI.  Собственно вся сетевая обработка происходит в контроллере и в программе пользователя.  Есть, конечно, ограничения по количеству сокетов (четыре), размеру буферов (2x2 кбайта на сокет), протоколам и т.п.  Очевидный минус - активным может быть только одно сетевое приложение.   Тем не менее, для большинства встраиваемых применений очень даже неплохо.

Date: 2012-06-04 08:31 (UTC)
From: [identity profile] f-andrey.livejournal.com
Тут недавно мелькала новость что https://www.usenix.org/conference/usenix-1996-annual-technical-conference/implementation-ipv6-44-bsd даёшь к очередному дню IPv6 имплементацию и в RetroBSD ;)

Date: 2012-06-04 08:47 (UTC)
From: [identity profile] f-andrey.livejournal.com
Я тут быстренько загуглил, ребята оказывается уже даже работаю над таким досадным упущением, правда как и всё с IPv6 небыстрно :(
http://www.wiznet.co.kr/Sub_Modules/en/technical/Q_A_View.asp?boardcd=101&PK_NUM=23547 и их же презенташка на данную тему http://www.cu.ipv6tf.org/pdf/tsiii-6.pdf

Date: 2012-06-04 10:38 (UTC)
From: [identity profile] sir66.livejournal.com
Это замечательно, но к чему? Получается решение на 90 долларов примерно плюс еще довольно массивное, а дешевый телефон с андроидом в котором есть и WiFi и памяти вполне достаточно + есть экран, GSM модуль, GPS и камера стоит ну максимум 150, реально, я думаю, можно и за 100 найти что нибудь сугубо китайское. Может логичнее просто на телефоне BSD запустить? Будет еще одна мобильная ОС ;)

Вообще интересно, бывают ли какие нибудь мобильно телефонные платформы ориентированные на создание именно дистанционно управляемых контроллеров? Или какие нибудь внешние штуки позволяющие телефон через USB использовать подобным образом?

PS. Нет я не анархист и не хочу делать адскую машину, просто немного всякими роботизированными игрушками увлекся вместе с другими нашими сотрудниками ;)

Date: 2012-06-04 12:11 (UTC)
From: [identity profile] tim-caper.livejournal.com
Вот рассказал бы, что за игрушки, а?

Date: 2012-06-04 16:37 (UTC)
From: [identity profile] sir66.livejournal.com
Поак рано. На счету у всех пока один стандартный летающий квадрокоптер и чисто развлекуха с Ардроном и Спайтианком.

Date: 2012-06-23 10:15 (UTC)
From: [identity profile] sir66.livejournal.com
Я уже понял, что интерфейсами есть определенная проблема. Насчет IOIO спасибо за информацию, я думал что что то подобное должно быть, но пока он производит впечатления довольно низкоуровневой железки. Мне с моими знаниями трудно его куда то приспособить.

В принципе, решения наверное где то здесь:

http://habrahabr.ru/post/123361/

Кстати, я правильно понимаю что chipKIT Max32 это примерно аналог Arduino Mega 2560, но на 32 разрядном MIPSе? Ну то есть аналогом можно назвать с натяжкой ибо сильно разный класс процессоров, но все же. А система программирования совместимая с ardruin-овской для нее есть?

В общем я уже собрался проводить эксперименты. Буду докладывать и задавать вопросы.


Date: 2012-06-24 22:17 (UTC)
From: [identity profile] sir66.livejournal.com
В Max32 вроде бы заявлен встроенный контроллер Ethernet (нужен еще Network Shield, но на нем вроде нет никаких чипов). Ты его просто не используешь? Я правильно понял, что тот контроллер что у тебя он от Ардуино и он с дополнительным интеллектом на борту?

Не можешь ли сходу сказать насколько придется переделывать библиотеки из гугловского ADK (библиотеки взаимодействия с Андроид http://habrahabr.ru/post/119208/, http://habrahabr.ru/post/123361/) в части библиотеки Firmware?

Еще вопрос поддерживается ли Arduino Motor Shield?