Версия для КПК

GaGa.Su

Услуги специалистов

Нижнего Новгорода


ОС

Ubuntu Linux удалось запустить на 8-битном микроконтроллере

ОС 

Дмитрий Гринберг, российский программист, проживающий в США, опубликовал в своем блоге интересную заметку с объяснением того, как ему удалось запустить Linux-дистрибутив Ubuntu 9.04 с ядром 2.6.34 на ...

ОС

Дмитрий Гринберг, российский программист, проживающий в США, опубликовал в своем блоге интересную заметку с объяснением того, как ему удалось запустить Linux-дистрибутив Ubuntu 9.04 с ядром 2.6.34 на микроконтроллере ATmega1284p с 8-битным процессором, лишенном блока управления памятью (MMU) и общим объемом встроенной оперативной памяти 256 Кб.

Чтобы добиться запуска ядра Linux на микроконтроллере пришлось применить несколько трюков, оснастив микроконтроллер дополнительным модулем памяти и SD-картой для хранения операционной системы. В качестве дополнительной памяти использован модуль SIMM объемом 16 Мб, чтение и запись ячеек которого осуществляется с помощью программного контроллера, позволяющего добиться производительности примерно в 300 Кб/с при потере около 3% процессорного времени на обновление ячеек памяти каждые 62 мс (эта операция требуется из-за особенностей работы SIMM-памяти).

В качестве хранилища для операционной системы использована SD-карта объемом 1 Гб, которая также управляется с помощью программного SPI-контрллера (мастера), позволяющего достичь производительности в 200 Кб/с. Аппаратный SPI-контроллер, установленный в ATmega1284p Дмитрию так и не удалось заставить работать корректно.

Особого внимания заслуживает метод, примененный для запуска Linux на 8-битном процессоре. Так как портировать ядро на 8-битную архитектуру не представляется возможным, Дмитрий написал эмулятор процессорной архитектуры ARMv5TE и системы на кристалле PXA255, способный работать на процессоре ATmega1284p и реализующий, кроме всего прочего модуль MMU, также необходимый для запуска ядра Linux. По прикидкам Дмитрия, производительность эмулятора оказалась в районе 6.5 кГц, при производительности реального процессора ATmega1284p в 24 Мгц (разгон со штатных 20 Мгц). Во-многом этому поспособствовала реализация кэша инструкций с помощью встроенной в микроконтроллер оперативной памяти, производительностью 5 Мб/с.

С помощью описанных техник на получившейся системе удалось запустить Ubuntu 9.04, загрузка которого до приглашения bash (init=/bin/bash) заняла около двух часов, а загрузка полной версии ОС без X Window до приглашения входа в систему - 6 часов. При этом оказалось возможным даже запустить X-сервер и окружение GNOME, но эта операция требует значительно больше времени. Интересно, что по окончанию загрузки система оказалась вполне пригодной к использованию; на выполнение стандартных команд терминала требовалось не больше одной минуты.

Все наработки проекта находятся в публичном доступе. Список используемых компонентов перечислен в самой статье, исходный код программных компонентов можно получить по этой ссылке. Также доступен полный образ диска, готовый к копированию на SD-карту. Видео-демонстрация процесса загрузки и работы опубликована на видео-хостинге vimeo.

Evgeny Zobnin
www.opennet.ru
31.03.2012
 
ОСЭксперт объяснил главную проблему Windows 8 (ОС) 26.03.2012

Интерфейс Windows 8 вновь подвергся критике. Авторитетный эксперт считает, что Microsoft недостаточно хорошо подумала над его реализацией для мыши с клавиатурой, а также зря убрала кнопку "Пуск" Подробнее...

ОСПланируется создание первой открытой операционной системы для SIM-карт (ОС) 03.03.2012

Харальд Вельте (Harald Welte), известный разработчик ядра Linux и основатель организации gpl-violations.org, последние несколько лет участвующий в создании свободного GSM-стека, рассказал о намерении Подробнее...

ОСWindows 8 Consumer Preview доступен для загрузки (ОС) 29.02.2012

Windows 8 Consumer Preview - является предварительной версией программы, которая может существенно отличаться от официальной конечной версии. Подробнее...

ОСКомпания Google начала борьбу с разработчиками независимых сборок Android (ОС) 26.09.2009

Компания Google начала борьбу с разработчиками независимых сборок Android Подробнее...

ОС Microsoft пообещала бесплатное обновление до Windows 10 в течение года (ОС) 22.01.2015

Американская корпорация Microsoft представила новую версию операционной системы Windows, получившую название Windows 10. Подробнее...

Содержание

Нижний Новгород