|
FreeRTOS, Кто подскажет? |
|
|
|
Dec 14 2007, 12:55
|

Участник

Группа: Новичок
Сообщений: 18
Регистрация: 10-12-07
Пользователь №: 33 158

|
Всем доброго времени суток!
Хочу разобраться с этой самой FreeRTOS! скачал ее с родного сайта! а есть ли литературка (желательно на русском) с описанием самой этой ОС и ее параметров. ну вобщем все про нее? соедет все!
Спасибо!
--------------------
Это, по меньшей мере, не вежливо, сэр! © К\ф "Трое в лодке, не считая собаки"
|
|
|
|
|
Dec 14 2007, 14:14
|
Местный
  
Группа: Участник*
Сообщений: 418
Регистрация: 20-08-07
Пользователь №: 29 930

|
Цитата(kolen @ Dec 14 2007, 15:55)  Всем доброго времени суток!
Хочу разобраться с этой самой FreeRTOS! скачал ее с родного сайта! а есть ли литературка (желательно на русском) с описанием самой этой ОС и ее параметров. ну вобщем все про нее? соедет все!
Спасибо! Думаю, что все что есть Вы найдете на http://www.freertos.org/ - на другие источники знаний я пока не натыкался. Переводов не находил
|
|
|
|
|
Dec 14 2007, 14:31
|

Участник

Группа: Новичок
Сообщений: 18
Регистрация: 10-12-07
Пользователь №: 33 158

|
как говорится вотс э пити! а может кто видел станвение FreeRTOS с uC/OS-II? скиньте инфу! очень признателен буду!
--------------------
Это, по меньшей мере, не вежливо, сэр! © К\ф "Трое в лодке, не считая собаки"
|
|
|
|
|
Dec 14 2007, 21:57
|
Местный
  
Группа: Участник*
Сообщений: 418
Регистрация: 20-08-07
Пользователь №: 29 930

|
Цитата(kolen @ Dec 14 2007, 17:31)  как говорится вотс э пити! а может кто видел станвение FreeRTOS с uC/OS-II? скиньте инфу! очень признателен буду! будьте добры - напишите все то же самое в переводе на русский язык... Я что-то ничего не понял кроме "признателен буду"
|
|
|
|
|
Dec 17 2007, 06:35
|

Участник

Группа: Новичок
Сообщений: 18
Регистрация: 10-12-07
Пользователь №: 33 158

|
вотс э пити - как жалко(англ.) может быть кто нибудь видел сравнительную информацию между FreeRTOS с uC/OS-II (что есть у одной, а что есть у другой). признателен буду если скините какую нибудь ссылку!
спасибо!
--------------------
Это, по меньшей мере, не вежливо, сэр! © К\ф "Трое в лодке, не считая собаки"
|
|
|
|
|
Dec 17 2007, 09:43
|
Местный
  
Группа: Участник*
Сообщений: 418
Регистрация: 20-08-07
Пользователь №: 29 930

|
Цитата(kolen @ Dec 17 2007, 09:35)  вотс э пити - как жалко(англ.) Уверяю Вас - это никак не (англ.) - это в лучшем случае т.н. "суржик"... А то, что Вы имели ввиду пишется немного иначе: What's a pity! А насчет сравнений - это вряд ли... Разработчикам Осей - такие сравнения обычно не нужны. Они как всегда - всяк свое болото хвалят. Могу только дельный совет дать - попробуйте ztligo спросить. По-моему он в курсе обеих ОС... Меня лично во FreeRTOS привлекает ее полная открытость, доступность, способность работать на широком спектре процессоров, а так же ее лицензия GNU. Cравнением с другими Ося-ми я не занимался пока что - ее выбрали у нас базовой без меня и до меня.
|
|
|
|
|
Dec 17 2007, 10:08
|
Местный
  
Группа: Участник
Сообщений: 336
Регистрация: 7-03-07
Из: Петербург
Пользователь №: 25 961

|
Цитата(kolen @ Dec 17 2007, 09:35)  вотс э пити - как жалко(англ.) может быть кто нибудь видел сравнительную информацию между FreeRTOS с uC/OS-II (что есть у одной, а что есть у другой). признателен буду если скините какую нибудь ссылку!
спасибо! За исключением сравнения времен переключения задач (в ARM форуме), я других сравнений не видел; но вряд ли нужно по этому поводу питиировать. Есть документация и текст, и сравнение (для себя) просто дело времени. Вкратце и нестрого, обе системы делают одно и тоже, незначительно отличаясь в деталях, например в алгоритмах планировки. И далее по тексту. Все, что есть у одной, в том или ином виде есть и у другой. Если не ошибаюсь, нет таймеров в FRTS. HTH, --
|
|
|
|
|
Dec 17 2007, 11:31
|

Участник

Группа: Новичок
Сообщений: 18
Регистрация: 10-12-07
Пользователь №: 33 158

|
Всем спасибо! вроде все ясно! бумем пользовать пока FreeRTOS (все таки ее то можно достать  ) а тм может че появится или сам разберуть! Еще раз спасибо!
--------------------
Это, по меньшей мере, не вежливо, сэр! © К\ф "Трое в лодке, не считая собаки"
|
|
|
|
|
Dec 17 2007, 15:22
|
Местный
  
Группа: Участник*
Сообщений: 418
Регистрация: 20-08-07
Пользователь №: 29 930

|
Цитата(AndrewN @ Dec 17 2007, 13:08)  Если не ошибаюсь, нет таймеров в FRTS. Ну по сути - они практически есть... в виде функции delay на заданное количество тиков размером в 1 мсек... Кроме того FreeRTOS по крайней мере в реализации для АРМ-9 практически никак не использует аппаратные таймеры, для которых написать собственный драйвер не стоит ровно ничего в рамках FreeRTOS. Точно так же FreeRTOS для ARM-9 не использует RTC(Real Time Clock), который тоже легко реализуется в ее рамках для получения независимого таймера реального времени...
|
|
|
|
|
Feb 23 2008, 16:37
|
Частый гость
 
Группа: Свой
Сообщений: 197
Регистрация: 31-03-06
Пользователь №: 15 676

|
Для работы с временными задержками используются функции: volatile portTickType xTaskGetTickCount( void ); void vTaskDelayUntil( portTickType *pxPreviousWakeTime, portTickType xTimeIncrement ); void vTaskDelay( portTickType xTicksToDelay ); Каждый tick - 1ms Я сам только начал с этой системой работать. Написал небольшую заготовку для моего проекта на базе freertosDemo. Вроде работает. Где-то здесь хвастались, что скомпилировали хелп файл .chm из онлайнового хелпа. Найти бы его... Ага, вот: http://electronix.ru/forum/index.php?showt...0063&st=15#
|
|
|
|
|
Feb 24 2008, 06:45
|
Участник

Группа: Свой
Сообщений: 41
Регистрация: 8-02-05
Пользователь №: 2 484

|
Столкнулся со следующей проблемой: Задача стоит портировать freeRTOS для LPC2468, работаю в Кейл. На freeRTOS.org есть порт для LPC2xxx, но для версий Кейл с родным (кейловским же) компилером. Сейчас же, как известно, кейл идет с АРМовским компилером. В нем, в числе прочего, изменился формат инлайн ассемблера и встроенного ассемблера тоже. Из-за этого вываливается куча ошибок при компиляции startup.s и portmacro.h (то есть файлов с ассемблерным кодом). Попытки самостоятельно переделать упомянутые файлы пока не увенчались успехом (в АРМ-ассемблере, особенно в его вариантах под разные компиляторы, я новичок...) Портов freeRTOS под LPC2xxx для RealView компилятора найти не смог Может быть кто-то уже решал такую задачу?
|
|
|
|
|
Feb 24 2008, 08:11
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(std-logic @ Feb 24 2008, 09:45)  В нем, в числе прочего, изменился формат инлайн ассемблера и встроенного ассемблера тоже. Ну ассемблером придется чуть-чуть ознакомиться. А что-бы меньше возни было - inline похерить - он там совершенно ни к чему. - в критических секциях асмовские вставки заменить на __disable/enable_irq (причем так даже в большинстве случаев правильнее, нежели используемый огульный запрет и irq, и fiq) - то, что наворочено в portmacro - заменить на нормальный асмовский файл (можно воспользоватся другими ARM портами в качестве образца) Останется буквально чуть-чуть, практически формально даже, ознакомиться с ASM. От других LPC21xx портов LPC24xx отличается практически только контроллером прерывания - придется разобраться и подправить. Успехов!
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Dec 15 2008, 06:13
|
Участник

Группа: Свой
Сообщений: 73
Регистрация: 25-10-07
Из: Тольятти
Пользователь №: 31 723

|
Подскажите пожалуйста как в приведенном ниже примере правильно (с помощью мютексов и семафоров) синхронизировать обработчик прерываний и задачу, изменяющие общие переменные. Код static int counter = 0;
void Uart2ISR(void){
counter ++;
}
void SampleTask(void){ for(;;){ vTaskDelay(10);
counter--;
} }
Сообщение отредактировал elektronshik - Dec 15 2008, 06:14
|
|
|
|
|
Dec 15 2008, 07:37
|
Участник

Группа: Свой
Сообщений: 73
Регистрация: 25-10-07
Из: Тольятти
Пользователь №: 31 723

|
Цитата(zltigo @ Dec 15 2008, 10:23)  Правильно, с помощью критической секции. Семафоры для синхронизации задач, как Вы, простите, себе мыслите ждущий семафора обработчик прерывания.... В uC/OSII все работало вот так: Код static int counter = 0; INT8U err; OS_EVENT * Uart2Sem;
void Uart2ISR(void){ OSSemPend(Uart2Sem,0,&err); counter ++; OSSemPost(Uart2Sem); }
void SampleTask(void){ for(;;){ OSTimeDlyHMSM(0, 0, 0, 10); OSSemPend(Uart2Sem,0,&err); counter--; OSSemPost(Uart2Sem); } }
Сообщение отредактировал elektronshik - Dec 15 2008, 07:43
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|