Порт Contiki на панель запуска MSP430F5

Пытаюсь перенести Contiki-OS на MSP430F5 Launchpad от Texas Instrument. MSP430 уже поддерживается Contiki, но не работает на платформе Launchpad.

Я изучил некоторые нестандартные порты платформы, сделанные для других чипов и платформ. Цель - добавить новую папку в папку platform.

Желаемая новая папка должна иметь такую ​​архитектуру (как и каждая папка платформ):

  • myCustomPlatformFolder
    • Makefile (Compile instructions for this platform)
    • contiki-conf.h (Определите конфигурацию этой платформы)
    • contifi-main.c (используется ядром Contiki для запуска платформы)
    • dev
      • optional files defining sensors functionalities

Моя проблема в том, что я действительно не знаю, с чего начать, чтобы создать полностью рабочую конфигурацию. Есть некоторые части собственной конфигурации, которые я понимаю и которые я могу заполнить, используя лист данных MSP430F5 (CLOCK_CONF_SECOND, F_CPU). Однако на любой другой определенной платформе в contiki-conf.h есть много констант, которые я не понимаю / не знаю, откуда они берутся.

Я новичок в разработке Contiki или даже uController, поэтому мне интересно, где я могу найти информацию, которая могла бы мне помочь. Есть ли место, где я могу найти инструкции по созданию нового порта платформы Contiki? Что должен содержать файл contiki-conf.h, чтобы моя панель запуска работала?


person matt.P    schedule 10.08.2014    source источник
comment
Вы это решили? Не хотите поделиться исходным кодом?   -  person Niclas Larsson    schedule 25.05.2015


Ответы (1)


Contiki уже поддерживает MSP430 Series 5. В частности, основная линия Contiki на данный момент включает поддержку аппаратной платформы Wismote. Вам следует начать с изучения кода под platforms/wismote и cpu/msp430/f5xxx.

Далее я бы сделал что-то вроде этого:

  1. Напишите main() функцию и загрузите Contiki. Вы можете скопировать contiki-main.c код с другой платформы (например, Wismote).

  2. Заставьте последовательный порт работать. Нет необходимости писать собственное прерывание, код в cpu/msp430 уже содержит все необходимые функции; просто убедитесь, что настроили правильный UART с приемлемой скоростью передачи.

  3. Найдите время для работы. Опять же, код в cpu/msp430 уже определяет прерывания таймера, так что это не должно быть проблемой.

  4. Заставьте периферийные устройства работать (шины ADC, I2C и SPI, возможно, USB ...)

  5. Запустите несколько выбранных тестовых приложений из каталога примеров и убедитесь, что они работают правильно.

Что касается других ваших вопросов, большая часть материала в contiki-conf.h связана с сетями. Насколько мне известно, в Launchpads нет радиоприемника. Это означает, что вы можете безопасно исключить все сетевые компоненты. (Это также заставляет задуматься, зачем вообще кому-то нужно переносить Contiki на такую ​​платформу, ведь основными сильными сторонами Contiki являются сетевые и коммуникационные протоколы.)

Я не знаю какой-либо официальной документации, в которой описывалось бы, как переносить Contiki на новую платформу. Привыкайте к изучению исходного кода. К счастью, исходники Contiki обычно не так уж сложны.

person kfx    schedule 11.08.2014
comment
Большое тебе спасибо. На самом деле я пытаюсь перенести Contiki на стартовую площадку, потому что я нахожусь в стадии разработки (и потому, что это дешевле, чем некоторые готовые платформы). У меня есть MRF24J40 (Zigbee T / R), который я подключу к панели запуска. - person matt.P; 12.08.2014