-
- Вроде понял вопрос Алексей Мусин(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,