- 
	- Дык все же написано выше и ниже, для вас конкретно - с РТОС все понятно, но рассматриваются варианты без применения последней. - Make_Pic(14.09.2015 19:11)
- RTOS не нужна, если не используется заимствованный код, не отдающий управление, например GUI или FS. Потому что свой можно написать и под автоматы. - VL(14.09.2015 16:41,  ) )
- Причина проста - 512байт ОЗУ. - Скрипач(14.09.2015 15:59)
			- а чем кооперативка не устраивает? и с меньшим озу работает. ядро 13 байт озу для stm8 и 5 байт на задачу - abivan(14.09.2015 18:05 - 18:07, ссылка)
					- А они по большому счёту и не нужны. Это вечное громоздкие переключение контекстов, эти недосервисы - имхо, полноценной осью типа фриртос ей не стать, а потребности программеров-крестьян покрываются отлаженной годами каруселькой, где каждая задача  Олдфаг(149 знак., 15.09.2015 09:45,  ) )
- Что-то не могу разобраться как она со стеком при OS_Yield() поступает... Ткнёте пальцем? - Скрипач(14.09.2015 21:32 - 22:59)
							- Да это считай те же прототреды, и со стеком та-же беда. - =AlexD=(15.09.2015 07:27)
									- Точно? У них ни слова об этом. И в примерах локальные переменные есть. - Скрипач(15.09.2015 10:11)
											- Там сказано, что не статические переменные разрешается использовать только между переключениями задач.  SciFi(365 знак., 15.09.2015 10:19 - 10:30)
													- а как иначе в кооперативке без использования стека? У задачи нет стека и память под него не расходуется. считайте эти статики стеком. С моей точки зрения это плюс. - abivan(15.09.2015 12:02)
															- Т.е. SciFi всё правильно правильно продиагностировал? - Скрипач(15.09.2015 12:06)
																	- Скорее, это Vit правильно диагностировал: setjmp/longjmp.  SciFi(45 знак., 15.09.2015 12:12)
																			- к сожалению внутри задачи нельзя вызвать ф-ю переключающую контекст. Если это необходимо то делается костыль. ф-я оформляется задачей. abivan(205 знак., 15.09.2015 12:41)
- Да. Так и есть. - Скрипач(15.09.2015 12:25)
																					- зырь чё напереговнокодил:)  Vit(1488 знак., 15.09.2015 12:58 - 13:01)
																							- А вот у меня давно стоит вопрос: у AVR,даже у взрослых,  setjmp не сохраняет RAMPZ. Безопасно ли это? - Олдфаг(15.09.2015 20:25,  ) )- Опасности не вижу потому как это не прерывание, неожиданностей нет, и этот регистр всегда заполняется нужным значением непосредственно перед elpm, spm, icall etc. - Petrovich(17.09.2015 10:44,  ) )
- Не у верен, что не сохраняет Vit(11859 знак., 15.09.2015 23:29)
 
- Опасности не вижу потому как это не прерывание, неожиданностей нет, и этот регистр всегда заполняется нужным значением непосредственно перед elpm, spm, icall etc. - Petrovich(17.09.2015 10:44, 
- Что-то то мне подсказывает, что сам и близко не так делаешь. Я прав? :) - Скрипач(15.09.2015 13:09)
																									- угу. у меня почти прототридсы с гото, со стейтом, объявленным внутри функции, или (очень редко) ванильные прототридсы. но есть и событийно-управляемый шедулер, только я его использую там, где нужно. он заточен на спатоньки, но фурычит и без  Vit(13 знак., 15.09.2015 13:18)
																											- Подумывал запилить в Protothreads PT_LEVEL + PT_GOTO. Чтобы сделать из struct pt честный state. Теперь висит некая недоделка, больше трёх лет, никому не нужная. Скрипач(281 знак., 15.09.2015 13:26 - 19:59)
 
 
- угу. у меня почти прототридсы с гото, со стейтом, объявленным внутри функции, или (очень редко) ванильные прототридсы. но есть и событийно-управляемый шедулер, только я его использую там, где нужно. он заточен на спатоньки, но фурычит и без  Vit(13 знак., 15.09.2015 13:18)
																											
 
- А вот у меня давно стоит вопрос: у AVR,даже у взрослых,  setjmp не сохраняет RAMPZ. Безопасно ли это? - Олдфаг(15.09.2015 20:25, 
 
- зырь чё напереговнокодил:)  Vit(1488 знак., 15.09.2015 12:58 - 13:01)
																							
 
 
- Скорее, это Vit правильно диагностировал: setjmp/longjmp.  SciFi(45 знак., 15.09.2015 12:12)
																			
 
- Т.е. SciFi всё правильно правильно продиагностировал? - Скрипач(15.09.2015 12:06)
																	
- Ну тогда этот монстр ничем (кроме апломба) от protothreads не отличается. - Скрипач(15.09.2015 10:34)
															- да я ж не настаиваю. Не нравится не пользуй. Монстр то где? То что уже реализованы все необходимые сервисы и самому не нужно их реализовывать это недостаток? Наглядность кода это ерунда, конечно.  Если что, более убогая кооперативка salvo была  abivan(52 знак., 15.09.2015 11:17)
																	- Лично мне, на одном килобайте, из "всех необходимых сервисов", нужен только yeild(). Остальное - балласт. OS_Yield() у них толком не работает. И чё? А монстр - это из-за нескольких слоёв макро. - Скрипач(15.09.2015 11:21 - 11:39)
																			- про монстр ясно. А зачем внутрь то лезть. Если система работает отлажена и не содержит(не выявлены) ошибок какая разница как она реализована? Если компилятор генерит компактный код это не достаточно? Есть платные оськи где исходный код вообще не  abivan(197 знак., 15.09.2015 11:56)
																					- __ЕСЛИ!__ (Филлипа II даже немного жалко) - Скрипач(15.09.2015 12:00)
 
- задержка нужна(светодиодиками мигать с нужной частотой), бинарный семафор нужен чтобы сообщить что посылка по uart принята в прерывании, ожидание бинарного семафора с таймаутом полезно чтобы принять решение о сбросе флагов вочдога при отсутствии abivan(302 знак., 15.09.2015 11:42)
 
- про монстр ясно. А зачем внутрь то лезть. Если система работает отлажена и не содержит(не выявлены) ошибок какая разница как она реализована? Если компилятор генерит компактный код это не достаточно? Есть платные оськи где исходный код вообще не  abivan(197 знак., 15.09.2015 11:56)
																					
 
- Лично мне, на одном килобайте, из "всех необходимых сервисов", нужен только yeild(). Остальное - балласт. OS_Yield() у них толком не работает. И чё? А монстр - это из-за нескольких слоёв макро. - Скрипач(15.09.2015 11:21 - 11:39)
																			
- взглянул. ИМХО больше похоже на закат Солнцаsetjmp/longjump вручную - Vit(15.09.2015 10:54)
 
- да я ж не настаиваю. Не нравится не пользуй. Монстр то где? То что уже реализованы все необходимые сервисы и самому не нужно их реализовывать это недостаток? Наглядность кода это ерунда, конечно.  Если что, более убогая кооперативка salvo была  abivan(52 знак., 15.09.2015 11:17)
																	
 
- а как иначе в кооперативке без использования стека? У задачи нет стека и память под него не расходуется. считайте эти статики стеком. С моей точки зрения это плюс. - abivan(15.09.2015 12:02)
															
 
- Там сказано, что не статические переменные разрешается использовать только между переключениями задач.  SciFi(365 знак., 15.09.2015 10:19 - 10:30)
													
 
- Точно? У них ни слова об этом. И в примерах локальные переменные есть. - Скрипач(15.09.2015 10:11)
											
 
- Да это считай те же прототреды, и со стеком та-же беда. - =AlexD=(15.09.2015 07:27)
									
- Цитата: "бывает три вида секса: Секс простой. Секс по телефону. И секс по барабану." - De_User(14.09.2015 18:33)
							- а есть фразеологизм про бисер. - abivan(15.09.2015 11:22 - 11:25)
- :) - Make_Pic(14.09.2015 19:13)
 
 
- А они по большому счёту и не нужны. Это вечное громоздкие переключение контекстов, эти недосервисы - имхо, полноценной осью типа фриртос ей не стать, а потребности программеров-крестьян покрываются отлаженной годами каруселькой, где каждая задача  Олдфаг(149 знак., 15.09.2015 09:45, 
 
- а чем кооперативка не устраивает? и с меньшим озу работает. ядро 13 байт озу для stm8 и 5 байт на задачу - abivan(14.09.2015 18:05 - 18:07, ссылка)