Jump to content

    
Sign in to follow this  
TOG

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

Recommended Posts

Друзья,

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

Share this post


Link to post
Share on other sites

Никак.

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

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

Share this post


Link to post
Share on other sites
48 минут назад, TOG сказал:

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

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

 

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

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

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

Share this post


Link to post
Share on other sites
1 hour ago, TOG said:

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

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

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

1 hour ago, Harvester said:

Никак.

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

Share this post


Link to post
Share on other sites
12 hours ago, x893 said:

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

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

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this