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

 
 
> Используемый объем SRAM
Haamu
сообщение Jul 7 2014, 06:41
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 90
Регистрация: 12-12-13
Пользователь №: 79 587



В среде Atmel Studio во время компиляции в окне Output появляются такие строки:
Код
Program Memory Usage : 27224 bytes   2,6 % Full
Data Memory Usage : 17592 bytes   10,7  Full

Судя по цифрам, можно сделать вывод, что первая - это место, занимаемое программой во флеше контроллера, а вторая - это объем используемой SRAM.
Больше интересует вторая строка. На сколько это точные показания и как они определяются?

Второй вопрос. Программа для STM32, написанная в CoIDE (CooCox). Есть ли там возможность увидеть информацию об объеме используемой SRAM?

И третий вопрос. Всё та же CoIDE.
Код
Program Size:
      text       data        bss        dec        hex    filename
    198168       5028      42564     245760      3c000    Xxxxxxxx.elf

Помогите понять, что значат эти цыфры? Я так понимаю, что "dec" - это размер занятого флеша, а "hex" - то же самое, только в шестнадцатиричном формате. Могу предположить, что "text" - это количество команд в программе. Поправьте, в чем не прав и поясните, что есть "data" и "bss"?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Porty
сообщение Jul 7 2014, 07:54
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 246
Регистрация: 28-05-08
Из: г. Ижевск
Пользователь №: 37 893



Цитата(Haamu @ Jul 7 2014, 10:41) *
Код
Program Size:
      text       data        bss        dec        hex    filename
    198168       5028      42564     245760      3c000    Xxxxxxxx.elf


text - размер сегмента с кодом, векторами прерываний и константами только на чтение (rodata, text, isr_vector)
data - размер сегмента с инициализированными переменными, НО инициализированными НЕ нулём.
bss - размер сегмента с не инициализированными переменными или инициализированными нулём.
стек включается либо в bss либо идёт отдельно в оставшейся памяти, надо смотреть скрипты линковки (*.ld). В Вашей среде раньше включался в bss.

А так же есть служебные метки (на границе секций) для компилятора и линковщика, а так же выравнивание секций по границе в 2-4 байта. В сумме это не более пары десятков байт.

Итог:
Занимаемое флеш = text + data + 10..50 байт
Занимаемое ОЗУ = data + bss + 10..50 байт
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 20th August 2025 - 07:42
Рейтинг@Mail.ru


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