Использование ОЗУ и ПЗУ

Я изменил код contiki, чтобы реализовать решение для атаки. Я хочу измерить использование ОЗУ и ПЗУ модифицированным кодом contiki. Каков стандартный способ вычисления использования ОЗУ и ПЗУ в contiki? Я использую небесные пылинки Tmote в симуляторе cooja.

Я мог прочитать в документе конференции об инструменте размера msp430, но я не нашел ресурсов для него.

Я использую mspgcc, gedit в качестве текстового редактора, без IDE, и компиляция запускается из симулятора cooja.


person Shridhar R Kulkarni    schedule 27.04.2017    source источник
comment
Вычислить накладные расходы ОЗУ и ПЗУ чего? Относительно чего?   -  person    schedule 27.04.2017
comment
Компилятор сообщит вам, сколько ПЗУ и ОЗУ (статической) используется. Вам не нужно рассчитывать динамическое выделение оперативной памяти, если оно существует.   -  person i486    schedule 27.04.2017
comment
@i486: Спасибо! Не могли бы вы рассказать мне более подробную информацию, например, где именно я могу увидеть, что говорит компилятор?   -  person Shridhar R Kulkarni    schedule 27.04.2017
comment
@ShridharR.Kulkarni Это зависит от компилятора и IDE. В моем компиляторе используемая память отображается сразу для каждого .c файла после компиляции (в дереве исходных файлов). См. также финальное сообщение после компиляции - возможно, там указано Total of used RAM/ROM.   -  person i486    schedule 27.04.2017
comment
@ i486: Хорошо. Я использую mspgcc, gedit в качестве текстового редактора, без IDE, и компиляция запускается из симулятора cooja.   -  person Shridhar R Kulkarni    schedule 27.04.2017
comment
@ShridharR.Kulkarni Найдите IDE для той же платформы — она покажет дополнительную информацию. Вероятно, Keil или другая крупная IDE сможет работать в демо-режиме.   -  person i486    schedule 27.04.2017


Ответы (1)


Используйте инструмент msp430-size. Если он поставляется с вашим компилятором msp430-gcc, как часть msp430 binutils.

$ make TARGET=z1
 CC        ../../platform/z1/./contiki-z1-platform.c
 CC        ../../cpu/msp430/f2xxx/msp430.c
 CC        ../../cpu/msp430/./watchdog.c
 ...
$ msp430-size hello-world.elf 
  text     data     bss     dec     hex filename
 63364      694   11848   75906   12882 hello-world.elf

$ msp430-size obj_z1/cc2420.o 
 text      data     bss     dec     hex filename
 3014        13       9    3036     bdc obj_z1/cc2420.o

Вывод показывает размер статически выделенной ОЗУ (разделы .data и .bss) и ПЗУ (раздел .text). Contiki на самом деле не использует динамическое выделение памяти, поэтому этой информации достаточно, чтобы определить использование во время выполнения (исключая использование стека, но, поскольку вы запрашиваете «стандартный способ», сообщения этих чисел достаточно, поскольку это то, что делается в большинстве случаев). документов и ожидается исследовательским сообществом).

Если вам нужна более подробная информация об отдельных функциях и переменных, используйте msp430-objdump -x.

person kfx    schedule 04.05.2017
comment
поэтому этой информации достаточно, чтобы определить использование во время выполнения. Нет, это не так, это не обрабатывает использование стека или глубину стека. - person Lundin; 04.05.2017
comment
Большое спасибо. Это действительно очень помогло мне. - person user3582228; 13.10.2020