Важная информация

User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 14

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

  1. #1
    Administrator Аватар для CityAceE
    Регистрация
    13.01.2005
    Адрес
    г. Владивосток
    Сообщений
    2,998
    Благодарностей: 1285
    Записей в дневнике
    5
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

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

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

    Дмитрий Гринберг, российский программист, проживающий в США, опубликовал в своем блоге интересную заметку с объяснением того, как ему удалось запустить 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.

    Источник
    С уважением, Станислав.

  2. Эти 3 пользователя(ей) поблагодарили CityAceE за это полезное сообщение:
    Aleksei1983 (21.07.2012), AlexFantasy (01.04.2012), mastermind (31.03.2012)

  3. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  4. #2
    Guru Аватар для newart
    Регистрация
    19.01.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,947
    Благодарностей: 1520
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CityAceE Посмотреть сообщение
    процессора ATmega1284p в 24 Мгц (разгон со штатных 20 Мгц).
    Больше не гонятся? Скажем при охлаждение азотом и т.п.?

  5. #3
    Banned
    Регистрация
    01.12.2010
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,657
    Благодарностей: 1250
    Записей в дневнике
    21
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Можно сделать эмулятор любого процессора на любом процессоре.

  6. #4
    Veteran Аватар для bigral
    Регистрация
    12.07.2006
    Адрес
    Kiev/Ukraine
    Сообщений
    1,462
    Благодарностей: 265
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от vinxru Посмотреть сообщение
    Можно сделать эмулятор любого процессора на любом процессоре.
    это эмулятор не процессора а целого компьютера, вот аналогичная разработка http://www.youtube.com/watch?v=5RF45uEaFlU

  7. #5
    Banned
    Регистрация
    01.12.2010
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,657
    Благодарностей: 1250
    Записей в дневнике
    21
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от bigral Посмотреть сообщение
    это эмулятор не процессора а целого компьютера, вот аналогичная разработка http://www.youtube.com/watch?v=5RF45uEaFlU
    Ага. Тут у нас на форуме то же становится популярным делать эмуляторы компьютеров на ПЛИС/МК.

  8. #6
    Activist Аватар для костя
    Регистрация
    18.11.2010
    Адрес
    Краснодар
    Сообщений
    210
    Благодарностей: 38
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вот еслиб мою дженту запустить на 580вм80 или хотябы на 1801вм2 -это была бы фантастика!
    Мы на Pepsi ставим крест, пиво - поколенье Next

  9. #7
    Banned
    Регистрация
    01.12.2010
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,657
    Благодарностей: 1250
    Записей в дневнике
    21
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от костя Посмотреть сообщение
    Вот еслиб мою дженту запустить на 580вм80 или хотябы на 1801вм2 -это была бы фантастика!
    Две недели запускаться будет.

    P.S. Очень вероятно, что в ближайшие годы мы скомпилируем http://ru.wikipedia.org/wiki/Bochs (эмулятор IBM PC) под 1801вм1 для новой БК0010. Сейчас ведется разработка этой БК0010, с более быстрым процессором, с большим объемом памяти и большим разрешением. На ней можно будет запустить Windows 95 и Linux.
    Последний раз редактировалось vinxru; 01.04.2012 в 21:54.

  10. #8
    Activist Аватар для костя
    Регистрация
    18.11.2010
    Адрес
    Краснодар
    Сообщений
    210
    Благодарностей: 38
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну две недели -не год,подождать можно,зато какой эффект!+ аптайм =)
    Мы на Pepsi ставим крест, пиво - поколенье Next

  11. #9
    Activist
    Регистрация
    09.01.2010
    Адрес
    г. Москва
    Сообщений
    271
    Благодарностей: 17
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Можно сделать эмулятор любого процессора на любом процессоре.
    +1. Все они не более и не менее, чем машины Тьюринга, из чего по определению следует вышесказанное.

    ИМХО автор проекта занимался ерундой. Ничего нового он своим программным подвигом не доказал, тем более, что в конце концов он получил чисто академический, но вовсе не практически значимый результат.

  12. #10
    Guru
    Регистрация
    26.02.2010
    Адрес
    Запорожье
    Сообщений
    2,164
    Благодарностей: 495
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от vinxru Посмотреть сообщение
    вероятно, что в ближайшие годы мы скомпилируем http://ru.wikipedia.org/wiki/Bochs
    моя система под босхом не работала, висла. эмуляция PC таки кривая
    .

Страница 1 из 2 12 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 28
    Последнее: 21.08.2011, 20:48
  2. контроллер дисковода на микроконтроллере.
    от rnd.gen в разделе Внешние накопители
    Ответов: 92
    Последнее: 21.12.2010, 16:58
  3. Ответов: 4
    Последнее: 04.11.2010, 19:04
  4. Не удалось подключить к PC FDD "5.25.
    от harushima в разделе Unsorted
    Ответов: 9
    Последнее: 09.10.2007, 10:23
  5. Ответов: 4
    Последнее: 01.10.2005, 16:49

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •