реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> варианты ОСей для армов, что лучше?
DRUID3
сообщение Jan 23 2007, 15:25
Сообщение #16


山伏
*****

Группа: Свой
Сообщений: 1 827
Регистрация: 3-08-06
Из: Kyyiv
Пользователь №: 19 294



Цитата(etoja @ Jan 11 2007, 07:52) *
ОС реального времени должна обеспечивать заранее известное время реакции на прерывание.
Windows и Linux не являются системами реального времени, так как могут заниматься своими процессами сколь угодно долго. Кроме того, Windows и Linux являются необозримыми системами, то есть даже опытный программист может никогда не разобраться в причине неработоспособности его программы под Linux.
ОС для встроенных систем следует применять только в случае крайней необходимости, например при использовании протоколов FTP/TCP/IP. При этом стоит использовать обозримые ОС с короткими исходными текстами, например uCOS-II.
Гарантию надёжности ОС вам не даст никто.
Почитайте лицензионное соглашение на любую ОС, даже бесплатную (обычно это соглашение никто не читает).
Там написано, что авторы ОС не отвечают за:
- потерю данных
- любой прямой и косвенный ущерб
- повреждение оборудования
- потерю коммерческой выгоды
и оказание технической поддержки пользователю/покупателю не влияет на ответственность авторов ОС.

Все это так, но хочется дополнить. Win embedded реального времени все же есть, и зовеЦЦо она Windows CE.NET. А для линукс, я так понял, существует модуль превращающий (а вернее дополняющий) ядро в RTOS...


--------------------
Нас помнят пока мы мешаем другим...
//--------------------------------------------------------
Хороший блатной - мертвый...
//--------------------------------------------------------
Нет старик, это те дроиды которых я ищу...
Go to the top of the page
 
+Quote Post
Swed
сообщение Jul 12 2007, 11:32
Сообщение #17





Группа: Новичок
Сообщений: 6
Регистрация: 27-06-06
Пользователь №: 18 405



Цитата(V3x @ Jan 12 2007, 15:51) *
Господа, а что-нибудь кроме RTOS и uCOS можете посоветовать на AT91?



Советую eCos. Полно готовых портов. Простенькая ось и есть над чем поработать. Есть свой загрузочный модуль RedBoot, куча драйверов и др.
Go to the top of the page
 
+Quote Post
faa
сообщение Jul 13 2007, 21:21
Сообщение #18


Знающий
****

Группа: Свой
Сообщений: 726
Регистрация: 14-09-06
Из: Москва
Пользователь №: 20 394



Soft-RT можно и на linux и winCE. Все зависит от задачи (и от выбранного камня). Если графика, сеть и прочие прелести не нужны - проще все сваять с нуля smile.gif. Hard-RT с рюшечками (см. выше)- только с использованием доп.железа (FPGA и пр.). Если я не прав - коллеги поправят smile.gif
Go to the top of the page
 
+Quote Post
iit
сообщение Jul 16 2007, 03:49
Сообщение #19


Участник
*

Группа: Свой
Сообщений: 72
Регистрация: 8-11-04
Из: Томск
Пользователь №: 1 070



TN Kernel
www.tnkernel.com
Go to the top of the page
 
+Quote Post
compas
сообщение Jul 9 2010, 21:33
Сообщение #20





Группа: Участник
Сообщений: 14
Регистрация: 23-07-05
Пользователь №: 7 039



Есть ещё вариант - Unison RTOS
http://www.rowebots.com/
Доступна шаровая версия, но только в виде библиотеки
Go to the top of the page
 
+Quote Post
s.i.suprun
сообщение Sep 14 2010, 07:14
Сообщение #21


Участник
*

Группа: Validating
Сообщений: 71
Регистрация: 24-06-08
Из: Харьков
Пользователь №: 38 521



Цитата(Playnet @ Jan 10 2007, 00:18) *
Собираем плату на арме и появился вопрос, что лучше использовать как ось?
Есть поддержка у:
Gentoo (на сайте про это почти ничего нет, последние обновления аж в 2005 году)

Debian
Нашел несколько документов. Все ставят toolchain и qemu.

Эти системы на ядре 2.6 используются чаще всего
по доке http://www.opennet.ru/base/sys/linux_xscale.txt.html , очень древняя дока. Написана в 2004...
патчи к ядру ftp://ftp.arm.linux.org.uk/pub/armlinux/s...l-patches/v2.6/ датированы 2004 годом, где тогда брать более свежие..

FreeBSD
"Поддержка всё ещё минимальна, и покрывает только процессор, шину PCI-X, Ethernet-адаптеры em(4), а также таймер и UART.
Обеспечивается минимальная поддержка процессора StrongARM 1100, однако только в границах тех функций, что эмулирует Simics: CPU, UART и часы."
http://www.freebsd.org/ru/platforms/arm.html
Очень негусто.

NetBSD
Тут вообще непонятно, как собирать. Разве что через qemu.

Какие вообще есть утилиты?

uclinux
Уже изначально версия под микроконтроллеры.. Но каковы особенности и через что собсно надо собирать систему под себя?

А вообще, копаясь в инете, у меня сложилось впечатление, что в 2004-05 годах тема была актуальна, а потом ее просто все забросили.. Одно старье.



Извините за вопрос, а АРМ то какой ежели 7-й дак к нему из вашего списка, на сколько мине не изменяет склероз только uclinux подойдет, так как в 7-ке нету менеджера управления памятью, что и реализовано в оной. ежели 9-й то тогда милости просим к остальным, я на AT9260 ставил дебиан, ничего системка, правда для этого проца тяжеловатая, поэтому я тогда остановился на связке ядро линукса+busyBox - легковесная штука, грузится быстро, выполняет все что нужно + опыт по созданию работающей ОС с 0 biggrin.gif
Go to the top of the page
 
+Quote Post
ra9ftm
сообщение Sep 14 2010, 11:38
Сообщение #22


Участник
*

Группа: Участник
Сообщений: 22
Регистрация: 8-01-09
Пользователь №: 43 014



Кто-нибудь пробовал испытывать Realtime патчи для linux? Интересует именно четкая работа с переферией, прерываниями (spi, i2c).
Я накладывал, но вываливалось kernel panic при работе с нестандартным драйвером, поэтому пока что отложил smile.gif

Сообщение отредактировал ra9ftm - Sep 14 2010, 11:39
Go to the top of the page
 
+Quote Post
DRUID3
сообщение Sep 14 2010, 16:17
Сообщение #23


山伏
*****

Группа: Свой
Сообщений: 1 827
Регистрация: 3-08-06
Из: Kyyiv
Пользователь №: 19 294



Цитата(ra9ftm @ Sep 14 2010, 14:38) *
Кто-нибудь пробовал испытывать Realtime патчи для linux? Интересует именно четкая работа с переферией, прерываниями (spi, i2c).
Я накладывал, но вываливалось kernel panic при работе с нестандартным драйвером, поэтому пока что отложил smile.gif

А чем патчили если не секрет? Теми патчами что превращают ядро в ветку RT? Или чо другое есть? Или имеются в виду модули и либы а-ля posix-1b?

И что не так с SPI? smile.gif Вот у Вас на компе PCI как на не RT системе работает? ЧОтко? smile.gif Вся эта возня с RT-OS это "борьба" с планированием - т.е. постановкой процессов на выполнение/завершение. В жизни количество процессов стохастично, а время их запуска асинхронно. В обычных системах постановка большого количества задач на выполнение или обработка одной очень ресурсоемкой может вызвать неопределенную задержку. Система тормозит. А в RT-толко определенную. Система тормозит, но не более чем... smile.gif . Все это для пользовательской части - обычных программ. В ядре правда несколько другие законы.

Тупой способ сделать RT в линуксе в условиях заводской лаборатории это написать драйвер аппаратного таймера(свой - чтобы точно понимать как он работает - я, например, не редко не могу понять чужой код с лету), а-ля вотчдог. Выбрать максимальный интервал затормаживания. Выбрать критичные к задержкам задачи. Вотчдог шлет сигналы по-ядру. Процесс в пространстве ядра (сделанный как драйвер - будет неивысший приоритет - никакими ренайсами не достижимый) читает структуру runqueue для каждого запущенного процесса. Как только время задержки относительно нашего таймера для критичных задач превышает 0.75 максимального времени, всем второстепенным программам шлется SIGKILL smile.gif . Как вариант, если есть время листать книжки замазанными машинным маслом руками, длительная борьба с перепланированием - nice/renice или прямо в ядре вызовом соответствующей функции (Бовет-Чезати ст.347).

Но я сделал еще проще - и еще гораздо тупее. smile.gif . У меня на платке точно известно количество задач. Я попробовал - ничего не тормозит. smile.gif . Единственная связь - Ethernet. Шлю только UDP пакеты. В ноут по "проводу" 1м длинной smile.gif . Это даже сервером не назовешь. Если у Вас Web-сервер - то, например, попробуйие отрабатывает ли он 20 соединений при максимальной нагрузке. Если да то поставьте ограничение на 10 - точно отработает. Вот и весь RT-Linux в домашних условиях smile.gif . Недостаток такого подхода - далеко не 100%-ное выжимание ресурсов из процессора/памяти.


--------------------
Нас помнят пока мы мешаем другим...
//--------------------------------------------------------
Хороший блатной - мертвый...
//--------------------------------------------------------
Нет старик, это те дроиды которых я ищу...
Go to the top of the page
 
+Quote Post
sasamy
сообщение Sep 14 2010, 17:10
Сообщение #24


Знающий
****

Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858



Цитата(DRUID3 @ Sep 14 2010, 20:17) *
А чем патчили если не секрет? Теми патчами что превращают ядро в ветку RT? Или чо другое есть? Или имеются в виду модули и либы а-ля posix-1b?


Просвещайтесь smile.gif
http://www.ibm.com/developerworks/ru/libra...eal-time-linux/
а то у Вас какое-то однобокое понимание вопроса. Да - soft real time в Linux уже очень давно в основной ветке, я например всегда приимтивные ядра собираю.
Go to the top of the page
 
+Quote Post
dch
сообщение Sep 15 2010, 00:37
Сообщение #25


Профессионал
*****

Группа: Участник
Сообщений: 1 179
Регистрация: 15-09-04
Из: 141070 г. Королев МО, улица Горького 39-121
Пользователь №: 661



Цитата(Playnet @ Jan 10 2007, 01:18) *
Собираем плату на арме и появился вопрос, что лучше использовать как ось?

а на каком?
Go to the top of the page
 
+Quote Post
ra9ftm
сообщение Sep 15 2010, 03:23
Сообщение #26


Участник
*

Группа: Участник
Сообщений: 22
Регистрация: 8-01-09
Пользователь №: 43 014



Цитата(DRUID3 @ Sep 14 2010, 19:17) *
А чем патчили если не секрет? Теми патчами что превращают ядро в ветку RT? Или чо другое есть? Или имеются в виду модули и либы а-ля posix-1b?


Спасибо за ответ развернутый.
Патчили этим http://www.kernel.org/pub/linux/kernel/projects/rt/
После наложения патча в конфигурации ядра кроме CONFIG_PREEMPT появляется CONFIG_PREEMPT_RT.
После можно использовать утилиту "chrt" для изменения Realtime-приоритета процессу (либо использовать системные функции при компиляции). chrt помогает и без накладывания RT-патча.

Вообще задача такая: нужно получать прерывания от внешнего источника (с частотой 800 Гц ) и по ним обращаться к SPI, проделывать необходимые вычисления, обращаться к /dev/ttyS0. Работает но время между прерываниями болтается. В любом случае должен быть драйвер (для обработки прерывания) ввиде какого-то /dev/myinterrupt + пользовательский процесс в системе.

Сообщение отредактировал ra9ftm - Sep 15 2010, 03:26
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 03:58
Рейтинг@Mail.ru


Страница сгенерированна за 0.01449 секунд с 7
ELECTRONIX ©2004-2016