Я хочу использовать sky mote в моем моделировании Cooja, чтобы я мог получить доступ к полной функциональности инструмента сбора данных, такого как показания мощности. Но потому, что мне пришлось переносить дополнительные библиотеки для моего проекта, поэтому размер программы намного превышает объем памяти, предоставляемой sky-mote. Cooja-mote может поддерживать размер программы, так как использует собственную систему, но не дает мне показания мощности в режиме сбора. Итак, если кто-нибудь знает, как увеличить ПЗУ & Размер RAM неба для моделирования Cooja, не теряя возможности измерения мощности, тогда любая помощь будет принята с благодарностью. И извините за длительные вопросы, которые я просто хотел сделать все ясно :)Как увеличить размер ПЗУ для неба в Contiki-OS, моделирование cooja?
ответ
Определения MCU, на котором работает Sky, находится в папке contiki/tools/mpsim/se/sics/mpsim/
, здесь вы сможете изменять объем памяти, доступной для MCU, если вы знаете свой путь вокруг Java.
Простейшим вариантом является использование другого mote вместо sky
(48 kb ROM). Contiki поддерживает несколько архитектурных мотивов, таких как Zolertia Z1 (96 kb ROM) и Wismote (до 256 kb ROM).
Этот ответ может быть несколько запоздалым, но я все еще надеюсь, что он может помочь кому-то копать здесь.
Если вы используете MSP430-GCC и проект Contiki-нг (может быть похожи на старую версию Contiki, я не уверен), модель MCU определяются на line 20 из contiki-ng/arch/platform/sky/Makefile.common
путем установки MCU=msp430f1611
. И ссылку сценария модели можно найти на msp430/lib/ldscripts/msp430f1611/memory.x
msp430mcu пакет вы установили.
Итак, вы увидите карту памяти модели в файле, а область rom начинается с 0x4000 и заканчивается на 0xffe0, длина которой составляет ~ 40KiB.
Вы можете просто сменить модель MCU на Makefile.common
на msp430f169, чтобы получить ПЗУ 60KiB, уменьшив оперативную память до 2KiB. Или вы можете изменить карту памяти на все, что захотите.
К сожалению, так как MSP430 является 16-разрядным микроконтроллером, вы никогда не получите адрес памяти больше, чем по 64Kb с внутренней памятью, то есть общей емкость ПЗУ и ОЗУ не может превышает по 64Kb даже если без ПРЕРЫВАЙТЕ векторы и периферийные устройства.
Кроме того, вам также необходимо изменить код в mspsim, чтобы сделать cooja подходящим для новой памяти, как говорит Johan Bregell. Вещи, которые вы, вероятно, больше всего интересуете, находятся в tools/cooja/mspsim/se/sics/mspsim/config
, который устанавливает адрес, и cooja/mspsim/se/sics/mspsim/platform/sky/CC2420Node.java
, который устанавливает чип-модель CC2420.
Если вы не используете TCP, вы можете отключить его с помощью переменной UIP_CONF_TCP = 0, а затем сохранить некоторое пространство в обоих ПЗУ и ОЗУ. –
На самом деле мне нужна большая часть функциональности, предоставляемой обычной программой Contiki. Поэтому увеличение размера ROM представляется мне единственным вариантом. –