Nikola Kirov
May 11 2006, 19:31
Запустил порт под 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_
May 11 2006, 20:42
в описании порта пишется для чего - это из за IAR они испоьзуют два стека для AVR один jumpы держит другой переменные . Прочтите внимательно описания портов к avr и описание iar - там все сказано.
Runner
May 17 2006, 11:21
Сколько места занимает юКОС-2 в АВР по минимуму? Есть смысл его пихать в mega16 при 5-10 юзеровских задачах(task'ax)?
16k ROM/1k RAM.
Andy Mozzhevilov
May 17 2006, 11:56
Цитата(Runner @ May 17 2006, 17:21)

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

Сколько места занимает юКОС-2 в АВР по минимуму? Есть смысл его пихать в mega16 при 5-10 юзеровских задачах(task'ax)?
16k ROM/1k RAM.
Посмотри на
scmRTOS . она полегче. Раздел для
AVR тут.
Nikola Kirov
May 18 2006, 12:31
Използоват uCOS-II с AVR имеет смъисл толко на Мега64/128.
Я в IAR резервировал 5 из регистров и так контекст стал поменше.
В етот проект имел и одно перервание и чтоб не ртезервироват место для сохранения контекста в стек каждого task-a сделал отделнии стек для ето перервание и пререключал на него при входа в перервание и возстоновлял перед въихода. Так можно сделат дла каждое перервание.