Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: uCos-II+ATMega128
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы
Nikola Kirov
Запустил порт под 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 для чего използуется?
_artem_
в описании порта пишется для чего - это из за IAR они испоьзуют два стека для AVR один jumpы держит другой переменные . Прочтите внимательно описания портов к avr и описание iar - там все сказано.
Runner
Сколько места занимает юКОС-2 в АВР по минимуму? Есть смысл его пихать в mega16 при 5-10 юзеровских задачах(task'ax)?
16k ROM/1k RAM.
Andy Mozzhevilov
Цитата(Runner @ May 17 2006, 17:21) *
Сколько места занимает юКОС-2 в АВР по минимуму? Есть смысл его пихать в mega16 при 5-10 юзеровских задачах(task'ax)?
16k ROM/1k RAM.


У AVR контекст тяжелый. uCOS с 1к RAM для AVR поднять, наверное можно, но чисто из академического интереса. С 1, 2 юзеровскими задачами максимум.
spf
Цитата(Runner @ May 17 2006, 17:21) *
Сколько места занимает юКОС-2 в АВР по минимуму? Есть смысл его пихать в mega16 при 5-10 юзеровских задачах(task'ax)?
16k ROM/1k RAM.

Посмотри на scmRTOS . она полегче. Раздел для AVR тут.
Nikola Kirov
Използоват uCOS-II с AVR имеет смъисл толко на Мега64/128.
Я в IAR резервировал 5 из регистров и так контекст стал поменше.
В етот проект имел и одно перервание и чтоб не ртезервироват место для сохранения контекста в стек каждого task-a сделал отделнии стек для ето перервание и пререключал на него при входа в перервание и возстоновлял перед въихода. Так можно сделат дла каждое перервание.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.