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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> стек область памяти, nordic
Метценгерштейн
сообщение Apr 6 2015, 09:10
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079



Вылавливаю непонятности в работе процессора, я правильно понимаю, что при таких настройках

места, отмеченные стрелочками, это начала памяти RAM, а размер- это надо прибавить к началу памяти RAM- получим конец памяти?
т.е. RAM задействована от 0x20002000 до 0x20004000 ?

вот карта памяти NORDIC
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 6 2015, 09:13
Сообщение #2


Гуру
******

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



Цитата(Метценгерштейн @ Apr 6 2015, 12:10) *
т.е. RAM задействована от 0x20002000 до 0x20004000 ?

Правильно.
Go to the top of the page
 
+Quote Post
Метценгерштейн
сообщение Apr 6 2015, 09:21
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079



тогда еще вопрос- если размер стека 2048, то он с какого адреса начинает располагаться? И когда первое значение в него входит, на какой адрес? С какого адреса рост стека начинается (начало стека)?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 6 2015, 09:28
Сообщение #4


Гуру
******

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



Вообще, расположить можно с любого адреса. Обычно начинается на самом верху, т.е. 0x20004000 - 2048 = 0x20003800 в данном случае.
Go to the top of the page
 
+Quote Post
Метценгерштейн
сообщение Apr 6 2015, 09:33
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079



т.е. скорее всего вершина стека 0x20003800. Правильно?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 6 2015, 09:43
Сообщение #6


Гуру
******

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



Скорее всего так.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Apr 6 2015, 09:48
Сообщение #7


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

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



У ARM стек, вроде же, вниз растет? Начинается с самого старшего адреса.
Go to the top of the page
 
+Quote Post
Метценгерштейн
сообщение Apr 6 2015, 09:54
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079



а как узнать, куда растет он?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 6 2015, 09:56
Сообщение #9


Гуру
******

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



Да, вниз, конечно. То есть от 0x20004000 до 0x20003800.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Apr 6 2015, 09:58
Сообщение #10


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

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



Цитата(Метценгерштейн @ Apr 6 2015, 12:54) *
а как узнать, куда растет он?

Лучший способ приобщиться к ARM-Cortex - скачать из закромов книжки J. Yiu, там их несколько.
Go to the top of the page
 
+Quote Post
Метценгерштейн
сообщение Apr 6 2015, 11:10
Сообщение #11


Профессионал
*****

Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079




я правильно понимаю, что стек у меня в точке останова ушел на глубину
0x20004000 -
0x20003AA8

= 0x558
?
это не много?

А вот картинка сразу после ресета- программа еще не запущена- курсор стоит в начале main ();


?? Почему курсор не показывает сразу на начало стека?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 6 2015, 11:17
Сообщение #12


Гуру
******

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



Цитата(Метценгерштейн @ Apr 6 2015, 14:10) *
Почему курсор не показывает сразу на начало стека?

Приложите map-файл, тогда можно будет что-то сказать.
Go to the top of the page
 
+Quote Post
RabidRabbit
сообщение Apr 7 2015, 05:31
Сообщение #13


Местный
***

Группа: Свой
Сообщений: 397
Регистрация: 3-12-09
Из: Россия, Москва
Пользователь №: 54 040



Это же вроде Cortex-M0 - в Вашем бинарнике первые 4 байта - начальное содержимое SP после сброса.
Go to the top of the page
 
+Quote Post
Метценгерштейн
сообщение Apr 7 2015, 06:22
Сообщение #14


Профессионал
*****

Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079



Да, это cortex -M0
SP- это не адрес, а содержимое?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 7 2015, 07:07
Сообщение #15


Гуру
******

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



Цитата(Метценгерштейн @ Apr 7 2015, 09:22) *
SP- это не адрес, а содержимое?

SP содержит адрес вершины стека. Первое слово в бинарном образе - начальное значение SP.
Чтобы узнать, что там именно со стеком, нужно посмотреть содержимое .map и .scat
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 06:17
Рейтинг@Mail.ru


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