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

 
 
> задание размера стеков, как узнать какой размер стэка нужно задавать
poq12
сообщение Sep 2 2009, 20:10
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 36
Регистрация: 20-05-08
Из: Санкт-Петербург
Пользователь №: 37 681



Четкого ответа на данный вопрос я для себя найти не смог, поэтому решил задать его здесь. Собственно вопрос:
(использую LPC2148, среда Uvision3, компилятор RealView)
Я продумал алгоритм как должна работать программа, чтобы железо выполняло желаемые действия, написал её, скомпилировал, зашил в процессор - все работет, претензий нет. Впроцессе написания нужно задать размер стэков для разных режимов работы процессора в файле "startup.s", в частности например, режимов "supervisor mode" - 8bytes, "interrupt mode"- 80 bytes, "user/system mode" - 400bytes. Количество отводимых байт я брал "от балды" исходя из того сколько указано в идущих примерах.
Теперь сам вопрос - как узнать сколько байт для стэка нужно выделять данным режимам, с чего например брать 400, а не 300 ... и так и так будет работать ... Как узнать сколько байт под стэк нужно выделить, чтобы и мало не было и слишком много не дать ... smile3046.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
aaarrr
сообщение May 18 2010, 15:31
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



А Вы окошечки сообщений посмотрите: он, наверное, ругается на запись/чтение левых адресов.
Go to the top of the page
 
+Quote Post
ViKo
сообщение May 18 2010, 19:42
Сообщение #3


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(aaarrr @ May 18 2010, 18:31) *
А Вы окошечки сообщений посмотрите: он, наверное, ругается на запись/чтение левых адресов.

Точно, пишет! В окне command:
*** error 65: access violation at 0x6C000070 : no 'read' permission
а потом и на запись аналогично ругается.

Вообще, складывается впечатление, что в окне Options/Target Keil 4.10 имеется глюк. Привожу все варианты установок и результат их действия после запуска программы в симуляторе. Адрес 0x6C000070 - первый из используемых (регистр контроллера ЖКИ), адрес 0x6C020000 - память контроллера ЖКИ.
Код
default--Start-------Size-------NoInit--access_violation--R13(SP)
---------0x6c000000--0x40000------------0x6C000070--------0x2000041C
---------0x6c000000--0x40000-----v------0x6C000070--------0x2000041C
-v-------0x6c000000--0x40000------------0x6C020000--------0x6C000414
-v-------0x6c000000--0x40000-----v------0x6C020000--------0x6C000414

Т.е., отмечаю default - там создается стек, NoInit - вообще никак не влияет.
А size там в каких единицах задавать, в байтах?
Придется изучать синтаксис scatter файла...
Пока отформатировал данное послание, упарился...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- poq12   задание размера стеков   Sep 2 2009, 20:10
- - zltigo   Цитата(poq12 @ Sep 2 2009, 23:10) Четкого...   Sep 2 2009, 20:41
- - @Ark   Можно попытаться найти "наихудший случай...   Sep 2 2009, 21:09
- - poq12   Спасибо за ответы   Sep 4 2009, 19:28
- - ViKo   Как расположить стек по заданному адресу? Когда я ...   May 13 2010, 14:08
|- - zltigo   Цитата(ViKo @ May 13 2010, 17:08) Когда я...   May 13 2010, 14:15
|- - ViKo   Цитата(zltigo @ May 13 2010, 17:15) Болва...   May 13 2010, 14:43
|- - zltigo   Цитата(ViKo @ May 13 2010, 17:43) Так дай...   May 13 2010, 15:26
- - ViKo   Я конкретно не указывал стек, иначе зачем бы я воп...   May 13 2010, 17:30
|- - zltigo   Цитата(ViKo @ May 13 2010, 20:30) А что ж...   May 13 2010, 17:43
|- - ViKo   Цитата(zltigo @ May 13 2010, 20:43) Верит...   May 13 2010, 18:11
|- - zltigo   Цитата(ViKo @ May 13 2010, 21:11) В други...   May 13 2010, 18:20
|- - ViKo   Цитата(zltigo @ May 13 2010, 21:20) Зачем...   May 13 2010, 18:29
- - ViKo   По поводу размера стека поделюсь информацией. Был ...   May 15 2010, 20:10
|- - aaarrr   Цитата(ViKo @ May 16 2010, 00:10) Кто бы ...   May 15 2010, 20:14
- - Genadi Zawidowski   Цитатапроцессор перенес массив констант для инициа...   May 15 2010, 20:21
- - ViKo   Неправильно сказал - не через стек переписывает, ...   May 15 2010, 21:46
- - ViKo   Можно вопрос, не по теме, но непосредственно вытек...   May 18 2010, 07:55
- - ViKo   А на такой вопрос подскажите, в чем дело (может, и...   May 19 2010, 10:28
|- - aaarrr   Цитата(ViKo @ May 19 2010, 14:28) Отмечаю...   May 19 2010, 11:09
|- - ViKo   Цитата(aaarrr @ May 19 2010, 14:09) Scatt...   May 19 2010, 11:21
|- - aaarrr   Цитата(ViKo @ May 19 2010, 15:21) Я думаю...   May 19 2010, 11:35
|- - ViKo   Цитата(aaarrr @ May 19 2010, 14:35) А вот...   May 19 2010, 11:49
|- - aaarrr   Цитата(ViKo @ May 19 2010, 15:49) А внешн...   May 19 2010, 11:54
- - ViKo   В-общем, эта птичка default именно для этого и соз...   May 19 2010, 12:07
- - ViKo   Возвращаюсь к теме. Хочу для STM32F303 в Keil зада...   Apr 3 2014, 03:56
- - ViKo   Ого, блин! В AN4296 "Overview and tips fo...   Apr 3 2014, 07:32
- - ViKo   Добавляю в *.sct ARM_LIB_STACK 0x10002000 EMPTY ...   Apr 3 2014, 08:36
|- - -JonnS-   Цитата(ViKo @ Apr 3 2014, 10:36) как разм...   Apr 4 2014, 10:58
|- - ViKo   Цитата(-JonnS- @ Apr 4 2014, 13...   Apr 6 2014, 12:41
- - -JonnS-   CCM-Ram у F4xx вроди как 64k. Пример под F4 discov...   Apr 6 2014, 14:55


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

 


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


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