-
- Смущает 256 байт RAM. Только контекст каждой задачи будет весить 32(регистры)+2(SP)+1(SREG)=35 байт. Значит, 5 задач съедят 175 байт ОЗУ. На стек маловато остается. А еще TCB... Так есть ли смысл? - Rst7(28.04.2009 10:09)
- +1 Вытесняющая на таком малом ОЗУ смотрится плохо. Разве что с сокращением размера контекста раза эдак в почти два за счёт неиспользования в потоках кучки регистров (использовать их как глобальные регистровые переменные, чтобы место не пропадало). На ReAl(101 знак., 28.04.2009 11:15)
- Подход "прерывания + кооперативно" Скрипач(251 знак., 28.04.2009 17:18)
- "плавно зажечь свет" требует в прерывании по нулю сети обрабатывать переменные "текущий угол открывания симистора", "целевой угол открывания", "шаг изменения" и всё. "наверху" неспешно определять новое значение яркости и скорость топания до ReAl(337 знак., 28.04.2009 17:34)
- :-) Скрипач(543 знак., 28.04.2009 17:47)
- Вы действительно говорите об АВРе? Хотя да, о котятах же :) - Vladimir Ljaschko(29.04.2009 12:25)
- Надо что-то на что-то разменивать. Хочется "за час-полтора по месту не задумываясь о всём остальном" - ставьте более жирный кристалл. С таким контекстом всё-же на нужды вытеснения 4-5 потоков надо где-то пол кило отдать. А так, чтобы и удобно, и ReAl(807 знак., 28.04.2009 18:18)
- Вопрос не в том, чтобы "вписать" какой-то конкретный алгоритм. Скрипач(610 знак., 29.04.2009 00:24)
- "Делай раз - задержка - делай два - задержка ..." как раз в рамках кооперативной ОС очень легко программируется, к тому же, практически с нулевыми накладными расходами. Естественно, все остальные задачи должны быть тоже спроектированы с учетом работы Лeoнид Ивaнoвич(14 знак., 01.05.2009 14:51)
- Тебе уже указали, что вытесняющая RTOS на твоём ОЗУ не развернётся. Из всех ОСей scmRTOS одна из самых мелких. Зацени хотя бы её для начала. Не каруселька, но оценить потребности в ОЗУ пойдёт. - =AlexD=(29.04.2009 06:57)
- Парни, а слабо перечислить еще хотя бы две-три RTOS вместо того чтобы к словам цепляться?! Скрипач(240 знак., 29.04.2009 09:56)
- BeRTOS Sergey Pinigin(107 знак., 29.04.2009 16:26, ссылка)
- кооперативка Jacos abivan(607 знак., 29.04.2009 11:08, ссылка)
- Всегда пишу себе сам. При помощи setjmp/longjmp. - Rst7(29.04.2009 10:15)
- Contiki - =AlexD=(29.04.2009 10:13, ссылка)
- FreeRTOS - =AlexD=(29.04.2009 10:07, ссылка)
- uC/OS-II - =AlexD=(29.04.2009 10:05, ссылка)
- Парни, а слабо перечислить еще хотя бы две-три RTOS вместо того чтобы к словам цепляться?! Скрипач(240 знак., 29.04.2009 09:56)
- А по сути? Неужели кроме scmRTOS никто ничего не пробовал? - Скрипач(28.04.2009 23:54)
- +1 я именно на табличном алгоритме подобные вещи в своё время и ваял. - =AlexD=(28.04.2009 20:07)
- Вопрос не в том, чтобы "вписать" какой-то конкретный алгоритм. Скрипач(610 знак., 29.04.2009 00:24)
- :-) Скрипач(543 знак., 28.04.2009 17:47)
- "плавно зажечь свет" требует в прерывании по нулю сети обрабатывать переменные "текущий угол открывания симистора", "целевой угол открывания", "шаг изменения" и всё. "наверху" неспешно определять новое значение яркости и скорость топания до ReAl(337 знак., 28.04.2009 17:34)
- А толку от того сокращения, только код ужаснее. Уж лучше без универсальной оси - свои костыли при необходимости можно прибить по месту. - Rst7(28.04.2009 11:18)
- А если от "цифр" абстрагироваться? Кто еще что пробовал? Скрипач(594 знак., 28.04.2009 17:03)
- Подход "прерывания + кооперативно" Скрипач(251 знак., 28.04.2009 17:18)
- +1 Вытесняющая на таком малом ОЗУ смотрится плохо. Разве что с сокращением размера контекста раза эдак в почти два за счёт неиспользования в потоках кучки регистров (использовать их как глобальные регистровые переменные, чтобы место не пропадало). На ReAl(101 знак., 28.04.2009 11:15)
- scmRTOS посмотрите - amusin(26.04.2009 19:06)
- А еще, может быть, кто-то что-то использует :-? Скрипач(288 знак., 27.04.2009 23:36)
- Смущает "процессы с уникальными приоритетами" - Скрипач(26.04.2009 20:43)
- Что именно смущает? Нет процессов с одинаковыми приоритетами и "карусели" между ними. Так у вас и в задаче ее нет. - Сергей Борщ(27.04.2009 11:58)
- Смущает 256 байт RAM. Только контекст каждой задачи будет весить 32(регистры)+2(SP)+1(SREG)=35 байт. Значит, 5 задач съедят 175 байт ОЗУ. На стек маловато остается. А еще TCB... Так есть ли смысл? - Rst7(28.04.2009 10:09)