- 
	- Вроде понял вопрос  Алексей Мусин(158 знак., 09.06.2007 11:58,  ) )- Неправильно ты понял. Нужно, чтобы компилятор нигде, кроме обработчика, НЕ ИСПОЛЬЗОВАЛ конкретные РОНы, а в обработчике, соответственно, их не сохранял - AVR(09.06.2007 12:07,  ) )- ..ну да, сохранять их тады не нужно, но отдать их ему на откуп придется. Но если РОНов 32, а задача того стоит, то пусть жреть.. ан нет. И как нагнуть его в этом плане пока не знаю. :( - blackbit(09.06.2007 12:25,  ) )
- Так это подразумевается.  Алексей Мусин(217 знак., 09.06.2007 12:23,  ) )- СлОва "использовать" недостаточно, нужно расширить до того, что я перечислил выше - иначе "использование" приведет и к нежелательному сохранению этих РОНов в обработчике - AVR(09.06.2007 12:38,  ) )- А иначе как вы разрулите их использование в ДВУХ ISR'ах? - Алексей Мусин(09.06.2007 12:41,  ) )- Я разруливаю хоть в тридцати двух - посредством писания ВСЕГО на ассемблерах - AVR(09.06.2007 12:47,  ) )- Ничего не имею против, но тредстартер задал рамки обсуждения :) - Алексей Мусин(09.06.2007 12:49,  ) )- Но ты же меня спросил - как я разруливаю, я и ответил - AVR(09.06.2007 12:55,  ) )- "разрулите", а не "разруливаете". Чувствуете разницу? :) - Алексей Мусин(09.06.2007 12:58,  , ссылка) , ссылка)- И разрулю точно так же. Не вижу никакой разницы - AVR(09.06.2007 13:01,  ) )- Так я ж не против и даже за. - Алексей Мусин(09.06.2007 13:03,  , ссылка) , ссылка)
 
- Так я ж не против и даже за. - Алексей Мусин(09.06.2007 13:03, 
 
- И разрулю точно так же. Не вижу никакой разницы - AVR(09.06.2007 13:01, 
 
- "разрулите", а не "разруливаете". Чувствуете разницу? :) - Алексей Мусин(09.06.2007 12:58, 
 
- Но ты же меня спросил - как я разруливаю, я и ответил - AVR(09.06.2007 12:55, 
 
- Ничего не имею против, но тредстартер задал рамки обсуждения :) - Алексей Мусин(09.06.2007 12:49, 
 
- Я разруливаю хоть в тридцати двух - посредством писания ВСЕГО на ассемблерах - AVR(09.06.2007 12:47, 
 
- А иначе как вы разрулите их использование в ДВУХ ISR'ах? - Алексей Мусин(09.06.2007 12:41, 
 
- СлОва "использовать" недостаточно, нужно расширить до того, что я перечислил выше - иначе "использование" приведет и к нежелательному сохранению этих РОНов в обработчике - AVR(09.06.2007 12:38, 
 
- ..ну да, сохранять их тады не нужно, но отдать их ему на откуп придется. Но если РОНов 32, а задача того стоит, то пусть жреть.. ан нет. И как нагнуть его в этом плане пока не знаю. :( - blackbit(09.06.2007 12:25, 
- Тогда, месье, ваша наглость не знает границ, а IAR не знает о размерах вашей наглости. :) - Алексей Мусин(09.06.2007 12:07,  ) )- ..не совсем так. Все границы ему хорошо известны:  blackbit(351 знак., 09.06.2007 12:21,  ) )- Мешает то, что в другом исходном файле он тоже может их заюзать. - Алексей Мусин(09.06.2007 12:24,  ) )- ..но он же об этом лучше меня знает. Что ему мешает? Блин, ему просто надо сократить общее число используемых везде, кроме обработчика, РОН. - blackbit(09.06.2007 12:26,  ) )- А если прерывания вложенные?  Алексей Мусин(104 знак., 09.06.2007 12:40,  ) )- ..отец, мне хотя бы для одного уровня. Слезно умоляю.. ;) - blackbit(09.06.2007 13:01,  ) )
- Ха. ;) Официально в AVR нет вложенных прерываний. Извраты на совести программера. А с совестью своей я разберусь.. ;) - blackbit(09.06.2007 12:43,  ) )- Тогда пишите в IAR о --lock_regs_for_isr :) - Алексей Мусин(09.06.2007 12:57,  ) )- да, будем смеяться вместе... ;))) - blackbit(09.06.2007 12:58,  ) )- ... и писать ISR на асме. До лучших времен :) - Алексей Мусин(09.06.2007 12:59,  ) )
 
- ... и писать ISR на асме. До лучших времен :) - Алексей Мусин(09.06.2007 12:59, 
 
- да, будем смеяться вместе... ;))) - blackbit(09.06.2007 12:58, 
 
- Тогда пишите в IAR о --lock_regs_for_isr :) - Алексей Мусин(09.06.2007 12:57, 
 
- ..отец, мне хотя бы для одного уровня. Слезно умоляю.. ;) - blackbit(09.06.2007 13:01, 
- Них он не знает. Кури тему "раздельная компиляция" - =AlexD=(09.06.2007 12:37,  ) )- ..15 лет курю. Раздельная компиляция в соседнем окне. Обработчик еще писать уметь надо. - blackbit(09.06.2007 12:41,  ) )
 
- ..15 лет курю. Раздельная компиляция в соседнем окне. Обработчик еще писать уметь надо. - blackbit(09.06.2007 12:41, 
- ..хе, кстати, логика у него чуть другая, чем вы предполагаете.  blackbit(210 знак., 09.06.2007 12:34,  ) )- С этим я как раз и не спорил. Это ясно как божий день. - Алексей Мусин(09.06.2007 12:39,  ) )
 
- С этим я как раз и не спорил. Это ясно как божий день. - Алексей Мусин(09.06.2007 12:39, 
 
- А если прерывания вложенные?  Алексей Мусин(104 знак., 09.06.2007 12:40, 
 
- ..но он же об этом лучше меня знает. Что ему мешает? Блин, ему просто надо сократить общее число используемых везде, кроме обработчика, РОН. - blackbit(09.06.2007 12:26, 
- По-хорошему он может делать это в автомате по какой-нить прагме от программера, даже без указания конкретных регистров. - blackbit(09.06.2007 12:20,  ) )
 
- Мешает то, что в другом исходном файле он тоже может их заюзать. - Алексей Мусин(09.06.2007 12:24, 
 
- ..не совсем так. Все границы ему хорошо известны:  blackbit(351 знак., 09.06.2007 12:21, 
 
- Неправильно ты понял. Нужно, чтобы компилятор нигде, кроме обработчика, НЕ ИСПОЛЬЗОВАЛ конкретные РОНы, а в обработчике, соответственно, их не сохранял - AVR(09.06.2007 12:07, 
- --lock_regs - Алексей Мусин(09.06.2007 09:36,  ) )- Не поможет. Она же с regvar работает. Резервирует для него общее число закрываемых регистров. - blackbit(09.06.2007 09:41,  ) )- Что-то я не понял, что тебе нужно. Чтобы компилятор сам сохранял контекст в залоченые регистры? "Это фантастика" (с) - =AlexD=(09.06.2007 10:15,  ) )- ..наоборот, чтобы не сохранял, а для temp'овых действий внутри обработчика использовал залоченное. Откупиться хочу. - blackbit(09.06.2007 10:18,  ) )- Объявить глобальные регистровые переменные, и пользовать их только в обработчике, принудительно запретив в нем сохранение контекста - AVR(09.06.2007 10:28,  ) )- ..первая часть так и делается, а вторая не прокатывает по объективным причинам -=> - blackbit(09.06.2007 10:31,  , ссылка) , ссылка)- ..цитирую себя прям из мусорки :) :  blackbit(169 знак., 09.06.2007 10:35,  ) )- Т.е. чтобы компилер делал так?  Алексей Мусин(195 знак., 09.06.2007 10:44,  ) )- нет  blackbit(291 знак., 09.06.2007 10:50,  ) )
 
- нет  blackbit(291 знак., 09.06.2007 10:50, 
- Бред. Не хочешь сохранять контекст в стек, не хочешь в зарезервированные регистры, а куда же его тогда девать??? - =AlexD=(09.06.2007 10:36,  ) )- ..сам бред. В этом случае "скрипач не нужен".. никуда его не нужно девать. Его тады вообще нет, контекста-то... Смотри как в арме fig работает. - blackbit(09.06.2007 10:39,  ) )- SREG тебе тоже не нужен? - =AlexD=(09.06.2007 10:44,  ) )- ..пока мне РОНы не нужны. - blackbit(09.06.2007 10:46,  ) )- Так не юзай их. Юзай только regvar - =AlexD=(09.06.2007 10:48,  ) )- ..они могут юзаться самим компилером так же в другом месте, поэтому он их сохраняет, мопэд не мой, я тут ни при чем. - blackbit(09.06.2007 10:51,  ) )- Тут есть непонятки, на сколько я помню, regvar объявленные глобально, никуда не сохраняются. Хотя зуб не дам. - =AlexD=(09.06.2007 11:18,  ) )- ..да они тут ни при чем вообще. О них отдельный разговор. - blackbit(09.06.2007 12:09,  ) )
 
- ..да они тут ни при чем вообще. О них отдельный разговор. - blackbit(09.06.2007 12:09, 
 
- Тут есть непонятки, на сколько я помню, regvar объявленные глобально, никуда не сохраняются. Хотя зуб не дам. - =AlexD=(09.06.2007 11:18, 
 
- ..они могут юзаться самим компилером так же в другом месте, поэтому он их сохраняет, мопэд не мой, я тут ни при чем. - blackbit(09.06.2007 10:51, 
 
- Так не юзай их. Юзай только regvar - =AlexD=(09.06.2007 10:48, 
 
- ..пока мне РОНы не нужны. - blackbit(09.06.2007 10:46, 
 
- SREG тебе тоже не нужен? - =AlexD=(09.06.2007 10:44, 
 
- ..сам бред. В этом случае "скрипач не нужен".. никуда его не нужно девать. Его тады вообще нет, контекста-то... Смотри как в арме fig работает. - blackbit(09.06.2007 10:39, 
 
- Т.е. чтобы компилер делал так?  Алексей Мусин(195 знак., 09.06.2007 10:44, 
 
- ..цитирую себя прям из мусорки :) :  blackbit(169 знак., 09.06.2007 10:35, 
 
- ..первая часть так и делается, а вторая не прокатывает по объективным причинам -=> - blackbit(09.06.2007 10:31, 
 
- Объявить глобальные регистровые переменные, и пользовать их только в обработчике, принудительно запретив в нем сохранение контекста - AVR(09.06.2007 10:28, 
 
- ..наоборот, чтобы не сохранял, а для temp'овых действий внутри обработчика использовал залоченное. Откупиться хочу. - blackbit(09.06.2007 10:18, 
- Какой еще regvar в ассемблере? :)  Алексей Мусин(75 знак., 09.06.2007 10:01,  ) )- ..какой еще ассеблер? Про чистейший С треплемся. Или вы думаете, что регистры можно лочить только для ассемблера? - blackbit(09.06.2007 10:04,  ) )- О блин, отстал от жизни. Так в чем проблема заюзать одновременно lock_regs и regvar?  Алексей Мусин(56 знак., 09.06.2007 10:18,  ) )- ..родной вы мой ;), не поверите - так и делаю и уже давно и пряма на С. Что с контекстом-то делать? - blackbit(09.06.2007 10:19,  ) )
 
- ..родной вы мой ;), не поверите - так и делаю и уже давно и пряма на С. Что с контекстом-то делать? - blackbit(09.06.2007 10:19, 
 
- О блин, отстал от жизни. Так в чем проблема заюзать одновременно lock_regs и regvar?  Алексей Мусин(56 знак., 09.06.2007 10:18, 
 
- ..какой еще ассеблер? Про чистейший С треплемся. Или вы думаете, что регистры можно лочить только для ассемблера? - blackbit(09.06.2007 10:04, 
- ..просто хочу максимально порезать сохранение контекста в обработчике, принеся в жертву часть РОН и выиграв во времени реакции. Вопрос не праздный. - blackbit(09.06.2007 09:53,  ) )- Не понятно. В scmRTOS 1-й версии так и было сделано именно для уменьшения времени переключения и потребного ОЗУ для задач. - Алексей Мусин(09.06.2007 09:58,  ) )- ..хотите сказать, что для этого --lock_regs было достаточно? - blackbit(09.06.2007 10:01,  ) )- ..кстати, как раз все понятно. Время действительно будет меньше, ведь сам обработчик будет отрабатываться быстрее, если его переменные запихать в залоченные регистры.  blackbit(44 знак., 09.06.2007 10:08,  ) )- Да, там часть залоченных регистров юзалась под нужды ОС.  Алексей Мусин(1013 знак., 09.06.2007 10:23,  ) )- ..да, да. Но это все-равно что перхоть лечить отрубанием головы, не так ли? Если есть "лишние регистры", то проще залочить их под контекст (а ля армированная fig'a).  blackbit(89 знак., 09.06.2007 10:28,  ) )- А если обработчик вместо _interrupt_ зааттрибутить как _c_task_, или как нечто подобное? - AVR(09.06.2007 10:49,  ) )- Тады без АСМового предобработчика не обойтись. Короче blackbit просто дурью мается. Написал бы на АСМе и мозги не парил. - =AlexD=(09.06.2007 10:50,  ) )- Да, это так же трудно, как нахуй послать по-английски - практически невозможно, только каноническое fuck you выходит :)) - AVR(09.06.2007 10:54,  ) )- :-)) А надо делать как наши младшие братья - трындят по своему, а когда нужно поругаться , сразу переходят на русский мат. :-) - =AlexD=(09.06.2007 10:57,  ) )- К сожалению, Mexican Americans таковым не владеют :)) - AVR(09.06.2007 10:58,  ) )- "Дикари"(с) Кин-дза-дза - =AlexD=(09.06.2007 11:03,  ) )
 
- "Дикари"(с) Кин-дза-дза - =AlexD=(09.06.2007 11:03, 
 
- К сожалению, Mexican Americans таковым не владеют :)) - AVR(09.06.2007 10:58, 
 
- :-)) А надо делать как наши младшие братья - трындят по своему, а когда нужно поругаться , сразу переходят на русский мат. :-) - =AlexD=(09.06.2007 10:57, 
- ..нах тогда ваш С? иаица чесать? - blackbit(09.06.2007 10:52,  ) )- Во-во. "Мыши плакали, кололись, но продолжали жрать кактус"(с) :)) - AVR(09.06.2007 10:56,  ) )
 
- Во-во. "Мыши плакали, кололись, но продолжали жрать кактус"(с) :)) - AVR(09.06.2007 10:56, 
 
- Да, это так же трудно, как нахуй послать по-английски - практически невозможно, только каноническое fuck you выходит :)) - AVR(09.06.2007 10:54, 
 
- Тады без АСМового предобработчика не обойтись. Короче blackbit просто дурью мается. Написал бы на АСМе и мозги не парил. - =AlexD=(09.06.2007 10:50, 
 
- А если обработчик вместо _interrupt_ зааттрибутить как _c_task_, или как нечто подобное? - AVR(09.06.2007 10:49, 
 
- ..да, да. Но это все-равно что перхоть лечить отрубанием головы, не так ли? Если есть "лишние регистры", то проще залочить их под контекст (а ля армированная fig'a).  blackbit(89 знак., 09.06.2007 10:28, 
 
- Да, там часть залоченных регистров юзалась под нужды ОС.  Алексей Мусин(1013 знак., 09.06.2007 10:23, 
- Еще осторожно юзать библиотеки  Алексей Мусин(115 знак., 09.06.2007 10:03,  ) )- ..есть. Примерно с 9. Но это не главное. - blackbit(09.06.2007 10:05,  ) )
 
- ..есть. Примерно с 9. Но это не главное. - blackbit(09.06.2007 10:05, 
- ИМХО - Алексей Мусин(09.06.2007 10:02,  , ссылка) , ссылка)
 
- ..кстати, как раз все понятно. Время действительно будет меньше, ведь сам обработчик будет отрабатываться быстрее, если его переменные запихать в залоченные регистры.  blackbit(44 знак., 09.06.2007 10:08, 
 
- ..хотите сказать, что для этого --lock_regs было достаточно? - blackbit(09.06.2007 10:01, 
 
- Не понятно. В scmRTOS 1-й версии так и было сделано именно для уменьшения времени переключения и потребного ОЗУ для задач. - Алексей Мусин(09.06.2007 09:58, 
- Придется раскошелиться на компилятор ассемблера :)) - AVR(09.06.2007 09:51,  ) )- ..да по-любому. Похоже это будет еще один камень в сторону любителей чистого С.. ;) Если эта потребность не поддержана С компилером, то боюсь даже связка С+ассемБЛЮлятор не поможет. - blackbit(09.06.2007 09:59,  ) )
- Ассмбля...бля...блятор... А! Ассемблятор! Во! ;О) - mse(09.06.2007 09:54,  ) )
 
- ..да по-любому. Похоже это будет еще один камень в сторону любителей чистого С.. ;) Если эта потребность не поддержана С компилером, то боюсь даже связка С+ассемБЛЮлятор не поможет. - blackbit(09.06.2007 09:59, 
 
- Что-то я не понял, что тебе нужно. Чтобы компилятор сам сохранял контекст в залоченые регистры? "Это фантастика" (с) - =AlexD=(09.06.2007 10:15, 
 
- Не поможет. Она же с regvar работает. Резервирует для него общее число закрываемых регистров. - blackbit(09.06.2007 09:41, 
 
- Вроде понял вопрос  Алексей Мусин(158 знак., 09.06.2007 11:58,