我想在我的Cooja模拟中使用sky mote,以便我可以访问collect-view工具的全部功能,例如功率读数。 但是因为我不得不为我的项目移植额外的库,所以程序的大小远远超过了sky-mote提供的内存。 Cooja-mote可以支持程序大小,因为它使用本机系统,但它不会在collect-view中为我提供功率读数。 所以如果有人知道如何增加ROM& Cooja仿真的天空mom的RAM大小没有失去功率测量功能然后任何帮助将非常感谢。 对于我想让一切都清楚的长期问题感到抱歉:)
答案 0 :(得分:1)
这个答案可能有点晚,但我仍然希望它可以帮助任何人在这里挖掘。
如果您正在使用msp430-gcc和contiki-ng项目(可能类似于旧版contiki,我不确定),MCU模型定义在line 20 contiki-ng/arch/platform/sky/Makefile.common
设置MCU=msp430f1611
。并且可以在您安装的msp430/lib/ldscripts/msp430f1611/memory.x
Makefile.common
个软件包中找到该模型的链接脚本。
所以你会看到文件中模型的内存映射,rom区域从0x4000开始,到0xffe0结束,大约是40KiB。
您可以简单地将tools/cooja/mspsim/se/sics/mspsim/config
中的MCU型号更改为msp430f169以获得~60KiB ROM,然后将RAM缩小到2KiB。或者您可以将内存映射更改为您喜欢的任何内容。
不幸,因为msp430是一个16位MCU,所以内部存储器的内存地址永远不会超过64KiB,即ROM和RAM的总容量永远不会超过64KiB,即使没有中断向量和外围设备。
此外,您还需要修改mspsim中的代码,以使cooja适合新的内存布局,正如Johan Bregell所说。你可能最感兴趣的东西是设置地址的cooja/mspsim/se/sics/mspsim/platform/sky/CC2420Node.java
,以及设置CC2420芯片型号的bicou@mba ~/AndroidStudioProjects/xxx (master) $ git diff develop -- app/src/main/res/values-fr/strings.xml
diff --git a/app/src/main/res/values-fr/strings.xml
b /app/src/main/res/values-fr/strings.xml
index 5804034..2097f87 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -96,4 +96,4 @@
<string name="fragment_min_max_set_button">Valider</string>
<string name="fragment_min_max_clear_button">Effacer</string>
<string name="drawer_name_no_account">Invité</string>
-</resources>
\ No newline at end of file
+</resources>
。
答案 1 :(得分:0)
最简单的选择是使用另一个mote而不是sky
(48 kb ROM)。 Contiki支持更多msp430
架构主题,例如Zolertia Z1(96 kb ROM)和Wismote(最高256 kb ROM)。
答案 2 :(得分:-1)
运行Sky mote的MCU的定义位于contiki/tools/mpsim/se/sics/mpsim/
文件夹中,如果您了解Java的方式,则应该可以修改MCU可用的内存量。