|
|
  |
Оси, как таковые |
|
|
|
Dec 14 2012, 10:25
|
Участник

Группа: Участник
Сообщений: 28
Регистрация: 23-12-10
Пользователь №: 61 816

|
Сугубо практический вопрос на обсуждаемую тему. Только выбор стоит не "без ОС или с ОС", а "с минимальной ОС а-ля FreeRTOS или с ОС побольше а-ля uClinux". LPC2478 (ARM7-TDMI, 96 кБ ОЗУ, 512 кБ флеш) + дофига (десятки мегабайт) внешней памяти с возможностью выполнения оттуда кода, как ОЗУ так и флеша. Прибор - контроллер АСУТП. Из стандартных вещей, для реализации которых хотелось бы использовать какие-то готовые программные модули - работа с графическим индикатором (текст, простейшая графика - диаграммы), USB Host и Slave, работа с файловой системой на флешке. Остальное - сбор дискретных, аналогвых и цифровых данных, расчеты и логика управления - пожалуй никак не связано с выбором ОС. Требуемое время реакции на некоторые события жесткое и весьма малое, порядка сотен наносекунд. Обеспечит ли какой-нибудь из линуксов такое время? Я сам раньше ни с какими ОС не работал. Главным образом поэтому и склоняюсь к чему-то совсем простому типа FreeRTOS, в чем легко будет разобраться. Кроме того предполагаю, что возможности линукса избыточны для моей задачи, а вот ресурсов он явно будет потреблять много. Прав ли я? Или может быть линукс содержит какие-то вкусности, которые в рамках обрисованной задачи компенсируют время, потраченное на его освоение?
|
|
|
|
|
Dec 14 2012, 13:03
|

Нечётный пользователь.
     
Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417

|
Цитата(murug @ Dec 14 2012, 12:25)  LPC2478 ... порядка сотен наносекунд Т.е. порядка десятков тактов процессора. Только если реакция несложная и вся в обработчике прерываний. Тут неподалёку как-то обсуждалось время переключения задач в scmRTOS на Cortex-M3 (72 MHz STM32F1, 100 MHz LPC17). Ну так эти «сотни наносекунд» идут десятками.
--------------------
Ну, я пошёл… Если что – звоните…
|
|
|
|
|
Dec 14 2012, 14:09
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(murug @ Dec 14 2012, 12:25)  Требуемое время реакции на некоторые события жесткое и весьма малое, порядка сотен наносекунд. Обеспечит ли какой-нибудь из линуксов такое время? Прав ли я? Или может быть линукс содержит какие-то вкусности, которые в рамках обрисованной задачи компенсируют время, потраченное на его освоение? Сам микроконтроллер выбран неправильно. Нужно было брать на Cortex-M3 или M4. Там механизм прерываний оптимизирован для малых задержек. И там легче сделать независимые от оси прерывания. Вообще независимые от оси прерывания можно сделать практически на любом современном микроконтроллере и в любой оси включая линукс. Надо только порт оси поправить и все драйвера. Чтобы не было глобальных запрещений прерываний. Очень быстрый механизм прерываний с поддержкой сервисов оси сделан в свободной RTOS от Keil-а. https://www.keil.com/demo/eval/rtx.htm
|
|
|
|
|
Dec 14 2012, 18:23
|
Знающий
   
Группа: Свой
Сообщений: 688
Регистрация: 4-09-09
Пользователь №: 52 195

|
Цитата(juvf @ Dec 14 2012, 15:22)  ну а если задачу с быстрой реакцией перенести на уровень ядра? Грубо говоря в обработчик прерывания засунуть быструю реакцию на событие. Тоже линукс не успеет? нет не успеет. читайте http://www.at91.com/linux4sam/bin/view/Linux4SAM/RealTime
|
|
|
|
|
Dec 17 2012, 06:16
|
Участник

Группа: Участник
Сообщений: 28
Регистрация: 23-12-10
Пользователь №: 61 816

|
Ок, вынесение самых критичных по времени действий в обработчики прерываний - снимает вопрос времени реакции. А возвращаясь к вопросу о вкусностях - для работы с USB и FAT'ом - как обстоят дела с хорошими бесплатными библиотеками под линукс и под FreeRTOS? И еще, вопрос объема используемой памяти оказался все-таки актуальным. Какого порядка объемы флеша и ОЗУ нужны под ядро линукса и под каждую задачу?
|
|
|
|
|
Dec 17 2012, 06:41
|
Знающий
   
Группа: Свой
Сообщений: 688
Регистрация: 4-09-09
Пользователь №: 52 195

|
Цитата(murug @ Dec 17 2012, 10:16)  Ок, вынесение самых критичных по времени действий в обработчики прерываний - снимает вопрос времени реакции. с чего вы это взяли? смотря с какой частотой прерывания поступают. Навскидку: прерывания до 1кГц только можно "ловить вовремя", быстрее - сложнее. А о частотах порядка мегагерц и речи нет. Всё зависит от задачи. Цитата(murug @ Dec 17 2012, 10:16)  А возвращаясь к вопросу о вкусностях - для работы с USB и FAT'ом - как обстоят дела с хорошими бесплатными библиотеками под линукс и под FreeRTOS? В Linux с этим, насколько я знаю, лучше чем у других. Цитата(murug @ Dec 17 2012, 10:16)  И еще, вопрос объема используемой памяти оказался все-таки актуальным. Какого порядка объемы флеша и ОЗУ нужны под ядро линукса и под каждую задачу? тут не подскажу. Ведь ещё ucLinux бывает P.S. реализация TCP/IP в Linux - одна из самых лучших. всякие Lwip и рядом не валялись. ИМХО
Сообщение отредактировал TigerSHARC - Dec 17 2012, 06:44
|
|
|
|
|
Dec 18 2012, 07:06
|
Участник

Группа: Участник
Сообщений: 15
Регистрация: 16-01-06
Пользователь №: 13 218

|
Цитата(murug @ Dec 17 2012, 09:16)  И еще, вопрос объема используемой памяти оказался все-таки актуальным. Какого порядка объемы флеша и ОЗУ нужны под ядро линукса и под каждую задачу? Зависит от задачи. Минимум 4МВ флэш и 16МБ RAM но начинать лучше с 8МВ флэш и 64МБ RAM.
|
|
|
|
|
Dec 18 2012, 09:59
|
Знающий
   
Группа: Свой
Сообщений: 688
Регистрация: 4-09-09
Пользователь №: 52 195

|
Цитата(Kornelij @ Dec 18 2012, 10:06)  но начинать лучше с 8МВ флэш и 64МБ RAM. это вы с чего взяли? я запускался на AT91+4MBDataFlash+32MB_SDRAM слабее конфигурацию не пробовал.
|
|
|
|
|
Dec 18 2012, 23:22
|
Местный
  
Группа: Свой
Сообщений: 209
Регистрация: 6-01-12
Пользователь №: 69 197

|
Цитата(murug @ Dec 14 2012, 14:25)  Сугубо практический вопрос на обсуждаемую тему. Или может быть линукс содержит какие-то вкусности, которые в рамках обрисованной задачи компенсируют время, потраченное на его освоение? TCP/IP -- помоему одна из действительных вкусностей. А так рекомендую Вам поначалу взять этот чип (если уж вы решились именно на этот), а затем перейти на CotexM3 LPC178x он должен идти ножка в ножку с LPC2478. А FAT32 с USB HOST у меня как одельный поток неплохо работает. CotexM3 действительно более хорош для более быстрой реакции на прерывания чем LPC2478. Перифирия у чипов схожая. Если хотите возится с переносимостью кода, то см мой проект.
--------------------
|
|
|
|
|
  |
4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0
|
|
|