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

 
 
> FreeRTOS, Кто подскажет?
kolen
сообщение Dec 14 2007, 12:55
Сообщение #1


Участник
*

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



Всем доброго времени суток!

Хочу разобраться с этой самой FreeRTOS! скачал ее с родного сайта! а есть ли литературка (желательно на русском) с описанием самой этой ОС и ее параметров. ну вобщем все про нее? соедет все!

Спасибо!


--------------------
Это, по меньшей мере, не вежливо, сэр! © К\ф "Трое в лодке, не считая собаки"
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
elektronshik
сообщение Dec 15 2008, 06:13
Сообщение #2


Участник
*

Группа: Свой
Сообщений: 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
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Dec 15 2008, 08:22
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(elektronshik @ Dec 15 2008, 08:13) *
Подскажите пожалуйста как в приведенном ниже примере
Самое первое, что нужно сделать, чтобы этот код вообще заработал на сколь-нибудь оптимизирующем компиляторе - добавить volatile к описанию counter. Далее, если процессор действие counter ++; в прерывании производит атомарно, то синхронизация не требуется. Но это ведь упрощенный пример, и у вас там скорее всего будут более полезные действия и может даже не с одной переменной? Тогда только критические секции.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- kolen   FreeRTOS   Dec 14 2007, 12:55
- - Николай Z   Цитата(kolen @ Dec 14 2007, 15:55) Всем д...   Dec 14 2007, 14:14
- - kolen   как говорится вотс э пити! а может кто видел с...   Dec 14 2007, 14:31
|- - Николай Z   Цитата(kolen @ Dec 14 2007, 17:31) как го...   Dec 14 2007, 21:57
- - kolen   вотс э пити - как жалко(англ.) может быть кто нибу...   Dec 17 2007, 06:35
|- - Николай Z   Цитата(kolen @ Dec 17 2007, 09:35) вотс э...   Dec 17 2007, 09:43
|- - AndrewN   Цитата(kolen @ Dec 17 2007, 09:35) вотс э...   Dec 17 2007, 10:08
|- - Николай Z   Цитата(AndrewN @ Dec 17 2007, 13:08) Если...   Dec 17 2007, 15:22
- - kolen   Всем спасибо! вроде все ясно! бумем пользо...   Dec 17 2007, 11:31
- - Chudik   Для работы с временными задержками используются фу...   Feb 23 2008, 16:37
- - std-logic   Столкнулся со следующей проблемой: Задача стоит п...   Feb 24 2008, 06:45
|- - zltigo   Цитата(std-logic @ Feb 24 2008, 09:4...   Feb 24 2008, 08:11
- - zltigo   Цитата(elektronshik @ Dec 15 2008, 09:13)...   Dec 15 2008, 07:23
|- - elektronshik   Цитата(zltigo @ Dec 15 2008, 10:23) Прави...   Dec 15 2008, 07:37
|- - zltigo   Цитата(elektronshik @ Dec 15 2008, 10:37)...   Dec 15 2008, 07:44
|- - elektronshik   Всем спасибо, буду пользовать критические секции.   Dec 15 2008, 10:03


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

 


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


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