如何在Contiki-OS,cooja模拟中增加天空微尘的ROM大小?

时间:2015-03-17 18:37:54

标签: contiki

我想在我的Cooja模拟中使用sky mote,以便我可以访问collect-view工具的全部功能,例如功率读数。 但是因为我不得不为我的项目移植额外的库,所以程序的大小远远超过了sky-mote提供的内存。 Cooja-mote可以支持程序大小,因为它使用本机系统,但它不会在collect-view中为我提供功率读数。 所以如果有人知道如何增加ROM& Cooja仿真的天空mom的RAM大小没有失去功率测量功能然后任何帮助将非常感谢。 对于我想让一切都清楚的长期问题感到抱歉:)

3 个答案:

答案 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可用的内存量。