|
Размер стека |
|
|
|
 |
Ответов
|
Nov 21 2012, 14:25
|
Местный
  
Группа: Участник
Сообщений: 442
Регистрация: 26-11-10
Пользователь №: 61 199

|
Цитата(_Артём_ @ Nov 21 2012, 18:20)  Размер как правило определяется в каждом проекте, за исключением случая когда стек аппаратный. Тогда два вопроса. 1. В каких устройствах MSP430 стек аппаратный? 2. Как может быть определен размер стека, если я, например, в своем проекте использую рекурсивную функцию? Заранее нельзя сказать сколько раз она будет вызвана и, соответственно, выделить под стек необходимое количество памяти.
|
|
|
|
|
Nov 21 2012, 15:33
|
Гуру
     
Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322

|
Цитата(d7d1cd @ Nov 21 2012, 16:25)  1. В каких устройствах MSP430 стек аппаратный? ДУмаю, что в MSP430 аппаратный стек не использовался. Такой стек использовался например в PIC-ах. Цитата(d7d1cd @ Nov 21 2012, 16:25)  2. Как может быть определен размер стека, если я, например, в своем проекте использую рекурсивную функцию? Заранее нельзя сказать сколько раз она будет вызвана и, соответственно, выделить под стек необходимое количество памяти. Глубина вызовов не может быть больше, чем размер стека - работать перестанет. Выбирите максимально возможное значение глубины вызовов и задайте стек в соответствии с ним.
|
|
|
|
|
Nov 21 2012, 16:22
|
Местный
  
Группа: Участник
Сообщений: 442
Регистрация: 26-11-10
Пользователь №: 61 199

|
Цитата(_Артём_ @ Nov 21 2012, 19:33)  Глубина вызовов не может быть больше, чем размер стека - работать перестанет.Выбирите максимально возможное значение глубины вызовов и задайте стек в соответствии с ним. Возможно мы не поняли друг друга. Я сам задаю размер стека?
|
|
|
|
|
Nov 21 2012, 16:56
|
Гуру
     
Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322

|
Цитата(d7d1cd @ Nov 21 2012, 18:22)  Возможно мы не поняли друг друга. Я сам задаю размер стека? Да, задаёте сами. Из slau049c.pdf: Цитата Software Initialization After a system reset, user software must initialize the MSP430 for the application requirements. The following must occur: - Initialize the SP, typically to the top of RAM. - Initialize the watchdog to the requirements of the application. - Configure peripheral modules to the requirements of the application.
|
|
|
|
Сообщений в этой теме
d7d1cd Размер стека Nov 21 2012, 13:43    rezident Цитата(d7d1cd @ Nov 21 2012, 21:22) Возмо... Nov 22 2012, 15:19     _Артём_ Цитата(rezident @ Nov 22 2012, 17:19) Код... Nov 22 2012, 15:33      rezident Цитата(_Артём_ @ Nov 22 2012, 20:33) Заче... Nov 22 2012, 19:46       _Артём_ Цитата(rezident @ Nov 22 2012, 21:46) Что... Nov 22 2012, 20:35        rezident Цитата(_Артём_ @ Nov 23 2012, 01:35) Мне ... Nov 23 2012, 13:09        Steve Key Цитата(_Артём_ @ Nov 23 2012, 00:35) Мне ... Dec 5 2012, 11:43         zhevak Реентерабебльность (от re-enter -- повторный вход)... Dec 5 2012, 17:25 zhevak Цитата(d7d1cd @ Nov 21 2012, 19:43) Приве... Nov 21 2012, 18:53 HHIMERA А ещё лучше... его вообще не читать... Nov 21 2012, 20:37 _pv Цитата(zhevak @ Nov 22 2012, 00:53) я нап... Nov 21 2012, 22:52 d7d1cd Цитата(zhevak @ Nov 21 2012, 22:53) Вот т... Nov 22 2012, 02:46 MrYuran В IAR есть какие-то настройки, в mspgcc по умолчан... Nov 22 2012, 05:35
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|