RAM 和 ROM 使用情况

RAM and ROM usage

我已经修改了 contiki 代码以实施攻击解决方案。我想测量修改后的 contiki 代码的 RAM 和 ROM 使用情况。在 contiki 中计算 RAM 和 ROM 使用的标准方法是什么?我在 cooja 模拟器中使用 Tmote 天空微尘。

我可以阅读有关 msp430 大小工具的会议论文,但我找不到相同的资源。

我正在使用 mspgcc,gedit 作为文本编辑器,没有 IDE 并且编译是从 cooja 模拟器启动的。

使用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 并没有真正使用动态内存分配,所以这个信息足以确定 运行 时间的使用(不包括堆栈使用,但是因为你要求 "standard way",报告这些数字就足够了,因为这是大多数论文所做的,也是研究界所期望的。

如果您想了解有关各个函数和变量的更多详细信息,请使用 msp430-objdump -x