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

 
 
> MPLAB/PIC18: сколько стека нужно коду?
Drewa
сообщение May 11 2011, 06:27
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 1-10-10
Пользователь №: 59 859



Итак, имеем. Не сильно сложная по логике, но довольно пухлая программа на ассемблере для PIC18F45K20. В ней довольно много подпрограмм, которые друг друга могут вызывать. Никакой рекурсии не предполагается, но используются оба уровня прерываний, и в их обработчиках вложенные вызовы подпрограмм тоже имеют место быть. А стек возвратов в процессоре - не резиновый. Есть желание как-то посчитать максимальный уровень вложенности вызовов, для данного конкретного варианта сборки программы. Ручками это сделать, конечно, можно, но уж очень трудоёмко. Встроенных средств в MPLAB я что-то не нашёл. Попытка сгородить макросы типа CALL# / RETURN#, которые бы сами подсчитывали глубину вложенности вызовов, наталкивается на ряд неприятных сложностей. А переполнение стека во время исполнения чревато фейерверком в лабораторной установке. Как быть?
Go to the top of the page
 
+Quote Post



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

 


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


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