загрузка старых компов с флешек ММС

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Ответить
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1457
Зарегистрирован: Ср сен 03, 2008 21:42:17
Откуда: Ленинградская область,пос.Красный Остров

Сообщение WatchCat »

Насчет целесообразности данного решения - так производительность 486 будет повыше чем большинства микроконтроллеров(в том числе наличие плавающей точки), и тонны исходников всего чего угодно доступны. Как правильно говорит автор темы - надо всего лишь превратить системную плату в одноплатный комп, избавившисть от громоздких движущихся деталей типа винча и дисковода. Флэшка для этого - вполне подходящее решение.
Хотя я бы действительно взял не 386 с MIO, а именно 486 с встроенным IDE, там заодно и ком-порты встроенные, и LPT, который можно использовать как GPIO. А загрузку сделал с CF карточки, воткнув ее в переходник CF-IDE. Как раз недавно с этим экспериментировали с приятелем - только мы "морально устаревшие" ноутбуки грузили(успешно). Оказалось, что желательно использовать такие CF карточки, которые в ответ на вопрос БИОСа скажут что они Fixed drive, а не Removabe. В случае removable некоторые биосы отказываются грузить систему с такого устройства.
У некоторых карточек этот бит в конфигурационной информации можно поменять, за этим замечены изделия SanDisk. Теперь о том, как обойти ограничение на размер "диска".
Как раз это проще всего - надо использовать не устаревшие операционные системы, а LINUX. Компактных его разновидностей существует достаточно, можно при желании и свою собрать, ничего сверхсложного в этом нет. Дальше есть два способа. Менее красивый - сделать на "диске" два логических раздела, первый, несколько мегов, только чтобы ядро системы поместилось, а второй собственно тот который будет монтироваться как корневой ("диск C:" терминологии доса). Используем загрузчик GRUB, он загружает в память ядро системы, а уж оно как только запустит свои драйверы IDE - сможет работать с любым размером до "электрического" ограничения в 128 гигов. На старых платах может просто больше разрядов в интерфейсе не быть чтобы длиннее адрес передать. Лично я больше 40 гигов IDE диски к старым 486 не подключал, поэтому не могу сказать что будет после 128. Есть и второй, более красивый, способ - использовать загрузчик NUNI http://freshmeat.net/projects/nuni/
Этому вообще достаточно чтобы БИОС первый сектор в память прочитал, дальше он лезет напрямую в порты IDE интерфейса и вытащит ядро с любого места до 128 гигабайта. Вот этим-то я и грузил Линукс на 486SX25 с 40-гигового винча. Единственное требование линукса, критичное для данного случая - это оперативная память. Меньше 4 мегов вообще не запустится, а что-то полезное сможет делать начиная с восьми.
Ну и насчет двухтысячного года. В линуксе, в отличие от устаревших ОС, доступ к RTC идет через драйвер в ядре, написанный на Си. Соответственно скорректировать показания часов можно как угодно. И вообще не удивлюсь если такую коррекцию уже написали, поройтесь в Гугле.

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

С теоретической точки зрения у х86 есть и преимущества в виде возможности использования сегментной(а не более известной "плоской") модели памяти. Линукс ее не использует, но это не значит что нет чего-то другого что использует. Представьте _аппаратный_ контроль всех far call и всех границ массивов в программе. А х86 это умеют. Это было реализовано например в PharLap Dos Extender. Для сравнения - Линукс задействует только котроль обращения к "чужой" памяти, а внутри своей программы можно бардак учинить - в немалой степени оттуда такое количество дырок вида buffer overflow в тех же виндах, да и в линуксовом софте иногда они попадаются. Увы - следствие упрощения :( Сегментная модель сложна в реализации и я сходу не подскажу что из малоизвестных/"встроенных" ОС ее может поддерживать - тут уж сами ищите.
Реклама
Родился
Сообщения: 7
Зарегистрирован: Пт дек 04, 2009 10:56:25

Сообщение Andara »

пришла мне очередная мысль:
у меня имеется куча сетевух ртл8139д с пустыми панельками для ПЗУшок. а на них можно организовать загрузку операционной системы ?
OS будет занимать около 15 метров.
Вложения
rtl8139d.jpg
(24.2 КБ) 446 скачиваний
Контактная информация:
Реклама
Встал на лапы
Аватара пользователя
Сообщения: 92
Зарегистрирован: Пн ноя 09, 2009 01:04:57

Сообщение Rushack »

нужно пзушку писать. Это бутром.
Ты должен сделать добро из зла, потому что его больше не из чего сделать.

Р.П. Уоррен
Контактная информация:
Прорезались зубы
Сообщения: 231
Зарегистрирован: Пт ноя 16, 2007 13:52:44
Откуда: Рига, Латвия

Сообщение Pe3ucTop »

Моё мнение по этому поводу:
- Хотите хорошую вещь в машину - ставьте мамку не менее P1 , а это значит уже встроеное МИО, на неё Компакт Флашь ...
- А из этого можно и нормально и МП3 слушать и управлять всякой мелочью , да и уже нормальную систему поставить...
Чесно, хотел бы услушать что можно на <= 486dx133 для машины полезного сделать :)
- я уже предпологаю ответы - Сигнализация, датчик температуры :) (но в данном случае слишком большее потребление) - да и многие 486 уже шли с МИО..
И ещё вопрос - размеры загрузочной программы ??
Реклама
Эиком - электронные компоненты и радиодетали
Ответить

Вернуться в «Интеграция с ПК»