MSP-EXP430G2 Launchpad: быстрый старт в Linux
разделы: MSP430,
дата: 17 августа 2017г.
MSP-EXP430G2 LaunchPad Rev:1.5
c чипом MSP430F2001
Я все-таки не удержался, и приобрел MSP430 LaunchPad. Это может показаться довольно странным решением, учитывая, что для прошивки чипов я активно использовал BSL, и вроде как LaunchPad был не очень-то необходим.
Кроме того, LaunchPad уже лет пять стоит в несколько раз больше чем 4.3USD да и цена за доставку может неприятно удивить.
Ok, мои аргументы:
-
SBW(spy-bi-wire). На плате распаян программатор MSP430UIF использующий протокол SBW. В первую очередь, я брал LaunchPad ради него. Прошивка через SBW - поддерживается всеми чипами серии MSP430x2xxx, чего не скажешь о BSL.
-
Работать с программатором MSP430UIF можно из Linux(ну наконец-то!).
-
Через SBW можно, не только прошивать, но и отлаживать прошивку. Как можно было убедиться, в Proteus почти ничего не работает, здесь же можно разобраться в работе того или иного алгоритма на конкретном чипе, а не на абстрактной симуляции. Да, и естественно, что отладка работает в том числе и в Linux.
Несмотря на то, что далее речь пойдет преимущественно о работе в среде Linux, к Windows все описанное тоже будет применимо, при условии использования Energia в версии для Windows и чего-то вроде CYGWIN. Для программирования MSP430 в Windows имеются следующие IDE: 1) Code Composer Studio aka CCStudio; 2) IAR Workbench for MSP430. На первый я даже смотреть не стал, т.к. это Eclipse который все ненавидят, а второй отказался работать с LaunchPad'ом. Нет там поддержки MSP430UIF оказывается.
Так же в двух словах хочется пробежаться по преимуществам платформы MSP430 перед AVR:
-
Единая карта регистров. Не нужно каждый раз лезть в datasheet переписывая программу c ATtiny13 на ATtiny45 к примеру. Адреса и наименования для регистров всех моделей одной линейки одинаковы.
-
Цена. Обычно в розницу "младший" MSP430F2001, в корпусе DIP-14, стоит раза в два дешевле ATtiny13.
-
3.3-вольтовая логика. Разрабатываемую схему легко можно будет адаптировать для stm32 при необходимости, если схема "разрастётся".
-
Простота. Для написания программы под MSP430 не требуется SPL, написанный на Си алгоритм легко перенести как на AVR, так и на STM8/STM32.
-
16-битность. Арифметические операции с двухбайтовыми целыми числами выполняются одной инструкцией, что экономит место на flash-памяти и делает алгоритм быстрее.
-
Отсутствие фьюзов.
Что касается самого LaunchPad, здесь нужно отметить:
-
Т.к. на плате распаян программатор MSP430UIF, то для прошивки чипам не нужен загрузчик Arduino. Можно купить чип в магазине, вставить его в панельку, запустить Energia(версия Arduino для MSP430) и сразу начать программировать. Это как если бы USBASP был распаян на плате Arduino.
-
На плате два светодиода: зеленый и красный, вместо одного красного в Arduino.
-
Светодиоды можно отключить от микроконтроллера сняв расположенные рядом джампики.
-
Кроме кнопки RESET, имеется еще одна кнопка на P1.3.
-
На плате имеется датчик температуры.
-
Кроме программатора, на плате распаян чип USB-TTL конвертера.
-
Часть программатора соединяется с частью чипа через джампики. Их можно вообще снять, и подключить шлейф для прошивки или отладки микроконтроллера распаяного на другой плате. Вообще же, это называется eZ430 разъем.
-
На оборотной стороне платы имеются резиночки, предотвращающие соприкосновение контактов платы с поверхностью стола.
Часто можно встретить комментарии, что MSP430 чипы бедны на периферию. Мощные чипы конечно у TI конечно же есть, но здесь в цене начинает сильно выигрывать продукция фирмы STM. Однако STM не делает чипы в DIP корпусе, и STM8 не имеет поддержки в Linux, поэтому "младшие" MPS430 для замены ATtiny13/ATtiny2313 мне кажутся наиболее интересными. Кроме того они более "прокачены" чем ATtiny. Например MSP430F2002 имеет на борту аппаратный SPI и I2C, а MSP430F2003 имеет 16-битный сигма-дельта АЦП(!). Такого вообще нет ни у AVR ни у STM.
Ок, пора за дело.
Содержание:
-
Energia (Arduino для MSP430)
-
MSP430F2001
-
MSPDEBUG
-
Отладка с помощью GDB
Читать дальше