我修改了contiki代码以实现攻击解决方案。我想测量修改后的contiki代码的RAM和ROM使用情况。在contiki中计算RAM和ROM使用的标准方法是什么?我在cooja模拟器中使用Tmote天空微粒。
我可以在一篇关于msp430尺寸工具的会议论文中看到,但我没有找到同样的资源。
我使用mspgcc,gedit作为文本编辑器,没有IDE和编译从cooja模拟器启动。
答案 0 :(得分:2)
使用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
输出显示静态分配的RAM(.data
和.bss
部分)和ROM(.text
部分)的大小。 Contiki并没有真正使用动态内存分配,因此这些信息足以确定运行时使用情况(不包括堆栈使用情况,但由于您要求“标准方式”,报告这些数字就足够了,因为这是大多数人所做的事情。论文和研究界的期望)。
如果您想了解有关各个功能和变量的更多详细信息,请使用msp430-objdump -x
。