06.05.2017, 01:53
|
|
Частый гость
Регистрация: 30.03.2005
Сообщений: 11
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
|
ресурсы МК
В CodeVisionAVR после компеляции выдает расход ресурса МК(использованого ОЗУ и остаток). Как узнать для sw4stm32(ac6).
|
|
|
|
06.05.2017, 03:20
|
|
Вид на жительство
Регистрация: 10.06.2007
Сообщений: 429
Сказал спасибо: 34
Сказали Спасибо 51 раз(а) в 47 сообщении(ях)
|
Re: ресурсы МК
mig-25, это же, можно сказать, eclipse.
Во вкладке Console после компиляции разве не пишет?
Если не пишет, значит надо где-то включить...
|
|
|
|
12.05.2017, 03:11
|
|
Частый гость
Регистрация: 30.03.2005
Сообщений: 11
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
|
Re: ресурсы МК
Спасибо за верное направление! В процесе експерементов установленно:text+data=размер файла при заливке в МК+bss=dec(10)=hex(16).
При сменне места обявления, формата переменной изменяется значение text и(или) bss, а bss кратно 8. Имееться мысль о возможном "выравнивание" под 32 битность.
Обясните подробней что значит text data bss?
|
|
|
|
12.05.2017, 04:13
|
|
Вид на жительство
Регистрация: 10.06.2007
Сообщений: 429
Сказал спасибо: 34
Сказали Спасибо 51 раз(а) в 47 сообщении(ях)
|
Re: ресурсы МК
mig-25, text data bss гуглятся элементарно, подробнее я вряд ли объясню:
https://habrahabr.ru/post/191058/
http://microsin.net/programming/avr/...-sections.html
Может быть выравнивание. Но вообще Cortex (M3 по крайней мере) поддерживает доступ к фрагментированным данным. Но не знаю, относится это только к оперативной памяти или ко флешь тоже, надеюсь кто-нибудь более опытный подскажет.
Ну и в map файл можно посмотреть - куда и что там линкер раскладывает.
|
|
|
|
15.05.2017, 02:52
|
|
Частый гость
Регистрация: 30.03.2005
Сообщений: 11
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
|
Re: ресурсы МК
Подведу итог! С статьи ARM-ы для самых маленьких...
.text — скомпилированный машинный код;
.data — глобальные и статические переменные;
(обявлены со значениями пример: char i=5;первоначальное место хранения flash МК в при запуске МК загрузится в ОЗУ она же RAM)
.rodata — аналог .data для неизменяемых данных;
.bss — глобальные и статические переменные, которые при старте содержат нулевое значение.(обявлены без значений пример: char i
Я так думаю!
Ресурсы МК займут:
flash›=text+data;
ram›=data+bss;
вот и вся матиматика!
|
|
|
|
15.05.2017, 03:38
|
|
Вид на жительство
Регистрация: 10.06.2007
Сообщений: 429
Сказал спасибо: 34
Сказали Спасибо 51 раз(а) в 47 сообщении(ях)
|
Re: ресурсы МК
mig-25, совершенно верно! Это же написано прямым текстом и на micrisin.ru, хоть там и про AVR:
Цитата:
|
Примечание: утилита avr-size (входящая в состав бинарных утилит binutils на платформе Unix, и которая также есть и в WinAVR), не учитывает место кода инициализации .data, входящего в .text. Поэтому чтобы узнать, сколько на самом деле занимает программа во FLASH нужно сложить размер .text и кода инициализации .data (но не .bss). Чтобы узнать занимаемое место в SRAM, нужно сложить размер .data и .bss.
|
|
|
|
|
15.05.2017, 06:10
|
|
Гражданин KAZUS.RU
Регистрация: 22.07.2007
Адрес: Владивосток
Сообщений: 984
Сказал спасибо: 435
Сказали Спасибо 375 раз(а) в 197 сообщении(ях)
|
Re: ресурсы МК
Сообщение от mig-25
|
глобальные и статические переменные, которые при старте содержат нулевое значение.
|
Не нулевое, а неопределенное.
|
|
|
|
15.05.2017, 06:49
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
|
Re: ресурсы МК
...а еще можно создавать свои собственные секции, с указанным вами начальным адресом и размером, и принудительно размещать в них некоторые данные. Например, таким способом можно объявить массив данных во внешней ОЗУ.
|
|
|
|
15.05.2017, 12:11
|
|
Вид на жительство
Регистрация: 09.12.2009
Адрес: Россия, Тула
Сообщений: 377
Сказал спасибо: 192
Сказали Спасибо 156 раз(а) в 99 сообщении(ях)
|
Re: ресурсы МК
При компиляции создается HEX прошивки, по которому можно узнать о ее размере.
Во всяком случае в Кейле (при выставлении соотв галочки в настройках).
|
|
|
|
15.05.2017, 13:29
|
|
Вид на жительство
Регистрация: 10.06.2007
Сообщений: 429
Сказал спасибо: 34
Сказали Спасибо 51 раз(а) в 47 сообщении(ях)
|
Re: ресурсы МК
ampy, в .bss именно нулевое. И они инициализируются нулями при старте, чтобы не надеяться на содержимое памяти при запуске или после ресета. Вы, видимо, путаете с локальными переменными (которые не ststic) которые могут быть и в регистрах и на стеке - вот там - неопределённое.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 18:20.
|
|