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

 
 
> Окно компиляции CodeVision, что такое Hardware stack
AndreyVN
сообщение Nov 28 2006, 08:34
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 754
Регистрация: 29-06-06
Из: Volgograd
Пользователь №: 18 458



Всем привет!

Внизу приведен фрагмент содержимого окна, которое выдает CodeVision после компилляции программы.
Непонятна строка "Hardware Stack area" это что за стек такой???
Судя по размеру, это остаток ОЗУ, но почему его так странно назвали?

Цитата
1129 line(s) compiled
No errors
No warnings

Bit variables size: 0 byte(s)

Data Stack area: 60h to AFh
Data Stack size: 80 byte(s)
Estimated Data Stack usage: 43 byte(s)

Global variables area: B0h to 315h
Global variables size: 614 byte(s)

Hardware Stack area: 316h to 45Fh
Hardware Stack size: 330 byte(s)

EEPROM usage: 0 byte(s) (0,0% of EEPROM)
Program size: 1915 words (46,8% of FLASH)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
viael
сообщение Nov 28 2006, 10:15
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 200
Регистрация: 10-04-06
Из: Украина,Запорожье
Пользователь №: 15 979



Цитата(AndreyVN @ Nov 28 2006, 09:34) *
Всем привет!

Внизу приведен фрагмент содержимого окна, которое выдает CodeVision после компилляции программы.
Непонятна строка "Hardware Stack area" это что за стек такой???
Судя по размеру, это остаток ОЗУ, но почему его так странно назвали?

Цитата
1129 line(s) compiled
No errors
No warnings

Bit variables size: 0 byte(s)

Data Stack area: 60h to AFh
Data Stack size: 80 byte(s)
Estimated Data Stack usage: 43 byte(s)

Global variables area: B0h to 315h
Global variables size: 614 byte(s)

Hardware Stack area: 316h to 45Fh
Hardware Stack size: 330 byte(s)

EEPROM usage: 0 byte(s) (0,0% of EEPROM)
Program size: 1915 words (46,8% of FLASH)



У АВР есть т.н. Hardware Stack в котором сохраняются адреса возвратов, и переменные помещаемые туда командой PUSH. Вершиину стека адресует SP, который необходимо проинициализировать при старте программы. Т.о. адресное пространство между верхушкой памяти(обычно CV инициализирует SP=SRAM_END) и последней глабальной переменной и есть Hardware Stack area.
А вобще в хелпе CV данный момент подробно расписан-SRAM Memory Organization.

The Data Stack area is used to dynamically store local variables, passing function parameters and saving registers R0, R1, R15, R22, R23, R24, R25, R26, R27, R30, R31 and SREG during interrupt routine servicing.
The Data Stack Pointer is implemented using the Y register.

The Hardware Stack area is used for storing the functions return addresses.
The SP register is used as a stack pointer and is initialized at start-up with value of of the _HEAP_START_ -1 address.
During the program execution the Hardware Stack grows downwards to the Global Variables area.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 02:25
Рейтинг@Mail.ru


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