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

 
 
> uCos-II+ATMega128
Nikola Kirov
сообщение May 11 2006, 19:31
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 256
Регистрация: 4-11-04
Из: Болгария
Пользователь №: 1 050



Запустил порт под IAR и начал изучат.
Не смог поймат следущее.

Смотрю на примера для IAR.

для каждой таск сначала
OS_STK AppTaskStartStk[OS_TASK_START_STK_SIZE];
OS_STK AppTask1Stk[OS_TASK_1_STK_SIZE];
OS_STK AppTask2Stk[OS_TASK_2_STK_SIZE];
OS_STK AppTask3Stk[OS_TASK_3_STK_SIZE];

а потом создаем

OSTaskStkSize = OS_TASK_3_STK_SIZE; // Setup the default stack size
OSTaskStkSizeHard = OS_TASK_3_STK_SIZE_HARD; // Setup the default hardware stack size
OSTaskCreateExt(AppTask3,
(void *)0,
(OS_STK *)&AppTask3Stk[OSTaskStkSize - 1],
OS_TASK_3_PRIO,
OS_TASK_3_PRIO,
(OS_STK *)&AppTask3Stk[OSTaskStkSizeHard],
OSTaskStkSize - OSTaskStkSizeHard,
(void *)0,
OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);

не понял OSTaskStkSizeHard для чего използуется?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Nikola Kirov
сообщение May 18 2006, 12:31
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 256
Регистрация: 4-11-04
Из: Болгария
Пользователь №: 1 050



Използоват uCOS-II с AVR имеет смъисл толко на Мега64/128.
Я в IAR резервировал 5 из регистров и так контекст стал поменше.
В етот проект имел и одно перервание и чтоб не ртезервироват место для сохранения контекста в стек каждого task-a сделал отделнии стек для ето перервание и пререключал на него при входа в перервание и возстоновлял перед въихода. Так можно сделат дла каждое перервание.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 2nd August 2025 - 15:48
Рейтинг@Mail.ru


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