LINUX.ORG.RU
ФорумTalks

Linux на AVR? Да легко!

 , , ,


0

1


[Ъ]Некий Dmitry решил запустить Linux на восьмибитном AVR. Как вы надеюсь понимаете, задача из разряда невозможных. Но дуракам закон не писан и этот чудак сделал софтовый эмулятор ARM для AVR. Пишут, что линукс загружается аж за два часа, а эффективная рабочая частота где-то в районе 6,5 КГц[/Ъ]

Ответ на: комментарий от true_admin

например, в AVR-овском С всякие дополнительные ключевые слова есть, которые указывают, где хранится переменная - в памяти данных или кода, потом, в AVR лимит памяти данных 64килобайта, в сабжевом изделии используется дополнительный внешний модуль DRAM, который обновляется вручную и работать с ним прозрачно нельзя - нужно вызывать функции работы с памятью типа write_RAM, read_RAM для каждого байта. Да и вообще ядро Линукса в память кода AVR-ок тупо не поместится

Harald ★★★★★
()
Ответ на: комментарий от Harald

где хранится переменная - в памяти данных или кода

В коде это как? В смысле на стэке?

Но то что у avr 64кб памяти это ни при чём. Мы не avr обсуждаем, а гарвардскую архитектуру.

true_admin ★★★★★
()
Ответ на: комментарий от Harald

Вот мне и инетересно, как... я поначалу подумал у него просто софтварный эмулятор arm на компе, вот и пытаюсь понять, как связан контроллер, лежаший рядом и комп

xterro ★★★★★
()
Ответ на: комментарий от Artificial_Thought

Ребята, вы не про то пишите. Речь о том можно ли принципиально сделать unix-like OS на гарвардской архитектуре или нет.

А свелось всё к трудностям портирования линуха на avr.

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

Речь о том можно ли принципиально сделать unix-like OS на гарвардской архитектуре или нет

Смотря в чём её юникслайкность будет заключаться

А свелось всё к трудностям портирования линуха на avr.

Скорее, к принципиальной невозможности

Harald ★★★★★
()
Ответ на: комментарий от true_admin

Unix-like это чтобы могла прогарммы в память грузить из внешнего чего-то хотя бы. Вот такое невозможно. Разве что все внешние программы делать интерпретируемыми.

Artificial_Thought ★★★★
() автор топика
Ответ на: комментарий от Artificial_Thought

А на компе он что запускает? Какую-то спец-софтину-эмулятор терминала, читающую с порта

xterro ★★★★★
()
Ответ на: комментарий от Artificial_Thought

это ты дурак, нигде не сказано что там должен быть именно флеш. Я понял, я спорю с идиотом для которого гарвард = avr, можешь дальше не писать.

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

а теперь назови мне реально существующую в природе железку с процессором гарвардской архитектуры, на которую можно портировать линукс :)

Harald ★★★★★
()
Ответ на: комментарий от Harald

Я таких не знаю. Но разве спор об этом?

Я, правда, вижу в википедии что

The Harvard architecture is a computer architecture with physically separate storage and signal pathways for instructions and data.
...
Today, most processors implement such separate signal pathways for performance reasons ...

Но я не понимаю о чём они. Возможно имеется в виду то что всё хранится на жёстком диске, но для запуска копируется в память. Типа два различных вида памяти.

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

Имеется в виду, что программа хранится в ПЗУ, и оттуда же выполняется. Никакого копирования в память не происходит.
Данные же хранятся в ОЗУ, и оттуда напрямую копируются в регистры цп для обработки.
Шина данных и шина команд полностью разделены и никак не пересекаются.
Возможны извраты с записью данных в область кода (читай флеш), но это неэффективно и реально используется, только когда нужно сохранять данные на случай перезагрузки и нет более удобной ПЗУ.
Собственно в аврах часто используется небольшой, на 8 кб к примеру, модуль eeprom позволяющий быстро побайтово записывать данные.

Tweaker ★★★★☆
()
Ответ на: комментарий от Tweaker

Поэтому собственно, очень сложно организовать запуск произвольных программ на такой архитектуре. В большинстве случаев для таких контроллеров используются различного рода шедулеры, которые дергают заранее определенные сишные функции.
К тому же область ОЗУ общая, и никакой защиты памяти быть не может, так же как и никакой защиты ядра, поскольку нельзя запретить доступ выполняемым программам к аппаратной части, к модулю прерываний и прочему.

Tweaker ★★★★☆
()
Ответ на: комментарий от Tweaker

Это всё понятно, но если мы заменим eeprom на sdram и вставим mmu то гарвардская архитектура от этого же не изменится, верно?

true_admin ★★★★★
()
Ответ на: комментарий от Tweaker

оно и сейчас так, сегмент данных отдельно, сегмент кода отдельно... :)

true_admin ★★★★★
()
12 октября 2012 г.
Ответ на: комментарий от vostrik

некропостинг такой некропостинг. Уже предлагали кажется наказывать за такое

marvin_yorke ★★★
()
22 ноября 2012 г.

Когда-нибудь Linux запустят внутри игры Minecraft.

Порадовала тема справа.

ZenitharChampion ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.