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

 
 
> ?INTERRUPT_ENTER_SP - ЧТО ЭТО?, ?INTERRUPT_ENTER_SP - ЧТО ЭТО???
MihailS
сообщение Feb 20 2009, 08:12
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 124
Регистрация: 28-01-08
Из: Красноярск
Пользователь №: 34 493



Пишу программу на С для ADuC831. В коде программы при входе в функцию обработки прерывания обнаруживаю
LCALL ?INTERRUPT_ENTER_SP
В коде пресутствует эта функция, она долго и мучительно сохраняет чего-то в стек.
Подскажите знающие люди, где на неё информацию достать (откуда взялась, зачем так а не так работает)?
Мне она очень мешает, поскольку очень сильно увеличивает время обработки подпрограммы.
Мне нужно как-то это время сократить.
Заранее благодарен!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Палыч
сообщение Feb 20 2009, 11:08
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(MihailS @ Feb 20 2009, 11:12) *
В коде программы при входе в функцию обработки прерывания обнаруживаю LCALL ?INTERRUPT_ENTER_SP
Функция сохраняет контекст прерывания. Описание её Вы вряд ли найдёте. Для ускорения работы обработчика прерывания - уже Вам отвечал: исключить из него все вызовы программ и функций...
Ещё совет - для МК51 использовать транслятор от Keil - остальные трансляторы для этих МК - ему проигрывают.

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



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

 


RSS Текстовая версия Сейчас: 24th June 2025 - 04:52
Рейтинг@Mail.ru


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