реклама на сайте
подробности

 
 
> антипод модификатора __raw
ArtemKAD
сообщение Jun 22 2007, 11:12
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364



Появилась тут мысля. У IAR-а для не сохранения контекста в прерывании служит __raw. А есть ли его "антипод" - модификатор заставляющий IAR сохранить контекст некоторой функции (не прерывания) в стеке? help.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ArtemKAD
сообщение Jun 22 2007, 17:36
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364



Цитата
Или что Вам нужно, задачу полнее обрисуйте?

Есть ШИМ на нулевом таймере, каждые 4 цикла которого надо менять его значение. Тактовая таймера равна тактовой Меги. Т.е. каждые 256 тактов МК влетает в прерывание и 3 раза из 4-х должен сделать три действия (сложить, сохранить и проверить) и выйти. Любые лишние сохранения там кушают драгоценный ресурс процессора - его такты. На каждый регистр - 4 такта. А при сохранении всех 15-ти - 60 тактов из 256 улетает "в трубу".

Цитата
так в том примере вызывается функция strcmp, а если все сделать руками, то сохранит только нужные регистры

Хм... А это Мысль! У меня там вызовов библиотечных функций нет, но два CALL-а там точно есть. Возможно при их наличие IAR-а сохраняет регистры "на полную катушку". В понедельник попробую без CALL-ов...
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 20:44
Рейтинг@Mail.ru


Страница сгенерированна за 0.01372 секунд с 7
ELECTRONIX ©2004-2016