Перейти к содержанию
    

Как в Keil uVision узнать какого размера нужен стек и куча для программы

Друзья,

неделю боролись с ужасными глюками программы пока наконец не увеличили размер стека. Но как же узнать о таких проблемах заранее ? И чтобы не наугад ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Никак.

На этапе разработки закладывать стек побольше (прикинуть число уровней вложенности подпрограмм/прерываний, сколько байт нужно на каждый, есть ли функции с 20-ю передаваемыми параметрами и т.п.). На этапе отладки уточнить его размер.

Самый простой вариант - перед стартом программы заполнить пространство стека FF, а потом смотреть, сколько программе реально понадобилось.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

48 минут назад, TOG сказал:

Неделю боролись с ужасными глюками программы пока наконец не увеличили размер стека.
Но как же узнать о таких проблемах заранее ?

Очевидно, для начала установить штатные функции контроля переполнения стека задач, кои должны быть в каждой ОСРВ.
На этапе отладки не стесняться закладывать стек задач побольше.

 

23 минуты назад, Harvester сказал:

...перед стартом программы заполнить пространство стека FF, а потом смотреть, сколько программе реально понадобилось.

И прибавить к этому еще некий запас.
Потому как никогда не предугадаешь, как наложатся различные события в системе, влияющие на потребление памяти.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, TOG said:

Но как же узнать о таких проблемах заранее ?

Заставить себя использовать гугл и по первой ссылке прочитать

https://www.keil.com/appnotes/files/apnt_316.pdf

1 hour ago, Harvester said:

Никак.

Это только для местных. Для приезжих см. выше

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

12 hours ago, x893 said:

Заставить себя использовать гугл и по первой ссылке прочитать

https://www.keil.com/appnotes/files/apnt_316.pdf

x893 ОТЛИЧНО ! То что надо !

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...