Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить

TI MSP430 Launch Pad

Вт фев 01, 2011 19:07:29

Собственно, вчера купил себе такую штуку :) :

Изображение

Выглядит красиво, цена сногсшибательно низка (там, где я покупал, весь набор стоил ~207руб.).

В принципе, сейчас я уже заставил все это худо-бедно работать, однако остались некоторые вопросы, которые я и хотел бы прояснить у гуру MSP430, буде таковые заглянут в эту тему, перед остальной общественностью просто отчитаюсь о проделанной работе. :)

Итак, из инструментов TI обещает нам специальную версию IAR и свое творение - Code Composer Studio (CCS). Хочу сказать, что меня сразу же смутили размер и системные требования CCS - ~300Mb и не менее гигабайта свободной памяти. Куда столько для IDE кросс-компилятора? Опасения подтвердились - на поверку CCS оказалась допиленным напильником Eclipse с неимоверным количеством прикрученных свистелок и перделок, делающих работу в нем чрезвычайно неспешной на неигровом компьютере. Ну да ладно. Я решил спробовать IAR. Однако так и не смог заставить его взаимодействовать со встроенным в плату отладчиком... Хотя, кстати, обещается, что IAR тоже должен работать с ним ну просто как с родным. Но самая главная засада для меня крылась в следующем: ни в IAR, ни в CCS нет кнопки "Write Flash", "Program MCU", или что-то в таком стиле. Для загрузки программы в память МК предлагается начать сеанс внутрисхемной отладки, в процессе подготовки которого, помимо прочего, заодно записывается Flash. Не знаю как кого, но этот порядок меня категорически не устраивает - внутрисхемный отладчик мне пока совершенно не нужен. Я желаю лицезреть свой мигающий светодиод после нажатия кнопки "Write flash".

В общем, после осознания всего этого (на что ушло около полусуток) мои усилия были направлены на выяснение типа адаптера, интегрированного в отладочную плату, и поиска софтины-программатора, которая может с ним работать.

Насколько я понял, TI производит единственный тип адаптера для программирования MSP 430 - MSP-FET430UIF. И он же установлен в отладочной плате. Для него я нашел софтину от Elprotronic - Lite FET-Pro430. Вроде работает...

В результате, сейчас я действую так: компилирую написанный код в IAR, IAR генерирует файл прошивки в формате TI-TXT, который я передаю софтине от Elprotronic, в которой есть любимая мной кнопка "Write flash". Отмеченный недостаток метода - прошивка отказывается стартовать сразу, требуется передернуть USB кабель.

Теперь вопросы к гуру MSP430, буде таковые забредут сюда :) :

1. Я правильно понял, что в этой плате распаян адаптер, совместимый с MSP-FET430UIF, и что, вообще говоря, из програматоров для MSP430 существует только он?
2. Как заставить прошивку стартовать сразу? Галку "Reset device and start firmware" в настройках я ставил, не помогло. Прошивка стартует только после передергивания USB.

Re: TI MSP430 Launch Pad

Вт фев 01, 2011 20:17:25

Небольшой апдейт - я таки заставил IAR работать с платой. Для этого пришлось под корень почистить установку CCS. Вообще, зря я ее ставил... Короче, я CCS не советую - дюже тяжелая и конфликтует с IARом, который гораздо удобнее.

Таким образом, остается единственный вопрос - как прошивать эту плату даже без IAR'а?

Re: TI MSP430 Launch Pad

Вт фев 01, 2011 22:04:44

Прошить можно вот этим: http://kurt.on.ufanet.ru/

Re: TI MSP430 Launch Pad

Вт фев 01, 2011 22:48:13

О, спасибо, попробую. :beer:

Re: TI MSP430 Launch Pad

Вт фев 01, 2011 22:54:54

CCS - это не очередно жирное и тормозное дерьмо на базе эклипса ?
Лучше IAR пользовать.

Re: TI MSP430 Launch Pad

Ср фев 02, 2011 00:06:38

CCS - это не очередно жирное и тормозное дерьмо на базе эклипса ?


Именно.

Лучше IAR пользовать.


Ну так и я о том же. Я уже разобрался, как из него общаться с платой и с удовольствием его использую. :)

Re: TI MSP430 Launch Pad

Чт фев 17, 2011 18:32:40

А вы не могли бы мне рассказать как прошивать мк из под иара ? Купил сей девайс, сижу разбираюсь. Не могу понять как прошивать
У меня программа из под иара начинает работать только если пересбросить USB

Re: TI MSP430 Launch Pad

Чт фев 17, 2011 19:17:27

А вы не могли бы мне рассказать как прошивать мк из под иара ?


Хехе, я сам на понимание этого убил около суток. :)

Тут надо залезть в опции проекта - "Project -> Options...", или Alt - F7.

В приложении flash-мультик о настройке.

После этого пишем код, компилируем, потом нажимаем "Download and debug":

Изображение

IAR начнет сеанс отладки в железе, параллельно загрузив код в МК.

Изображение

Чтобы код начал исполняться в реальном времени, надо нажать Go (1). Если отладка не нужна, можно тут же нажать Stop Debugging (2). Кнопка Leave Target Running (3) должна быть нажата (по умолчанию) - это значит, что после выхода из отладки код продолжит исполняться.

Т.о., если мы просто хотим зашить код в МК, все равно придется входить в отладку...
Вложения

iar_msp.swf [ 57.67 KiB | Просмотров: 51429 ]

Dbg.gif
(5.42 KiB) Скачиваний: 13811
DnD.gif
(3.17 KiB) Скачиваний: 13677
Последний раз редактировалось YS Пт фев 18, 2011 21:16:38, всего редактировалось 1 раз.

Re: TI MSP430 Launch Pad

Пт фев 18, 2011 20:11:40

Спасибо за ответ.
Я сейчас делаю так: Нажимаю "Download and debug" и затем "Shift + F11@ ( Step Out)

Re: TI MSP430 Launch Pad

Вс фев 27, 2011 13:48:42

Итак, товарищи, я хочу представить на суд общественности свое творение для LaunchPad - программную реализацию UART.

Надо сказать, что я с самого начала был изумлен тем, что на отладочной плате UART присутствует, а в контроллерах, к ней прилагающихся - нет. Мне сразу же показалось, что так изумился не только я, потому я стал искать готовую программную реализацию UART под эту платформу. Я бы соврал, если бы сказал, что не нашел ничего, что-то было, был найден даже аппноут от TI на эту тему, однако, то ли я плохо искал, то ли что-то еще - но все найденное с трудом тянуло на приличную и достаточно прозрачную реализацию. Воистину, хочешь, чтобы что-то было сделано хорошо - сделай это сам. Собственно, я так и поступил. :)

Модуль затачивался прежде всего под LaunchPad и конкретно под MSP430G2231, хотя я не вижу препятствий для его переноса на другие МК с минимальными коррективами. Для реализации протокола используется таймер A, который должен быть сконфигурирован следующим образом: счет до 65536, тактирование от внешнего кварца 32768Гц (пример есть в заголовочном файле). В этом случае UART работает на скорости 4800bps, без четности, один стоп-бит (4800bps 8N1). В принципе, можно перестроить его на другую скорость, поменяв константы в заголовочном файле. Поскольку в MSP430G2231 таймер всего один, при реализации ставилась задача оставить одно прерывание для пользовательских целей. Побочным эфектом этого стало то, что эта реализация UART полудуплексная, т.е., может работать либо в режиме передачи, либо в режиме приема, которые нужно переключать руками. Файлы обильно прокомментированы.

Модуль содержит функции:

UART_SetTxMode(), UART_SetRxMode()

Как уже говорилось, UART полудуплексный, что стало следствием того, что одно прерывание оставлено для пользовательских нужд. Потому режимы приема/передачи надо явно переключать, что и делается этими функциями.

UART_WaitTxCpl()

Ожидание конца передачи.

UART_SendByte(unsigned char byte)

Отправка байта. Перед отправкой функция ждет конца предыдущей передачи, так что вызовы UART_SendByte(...) могут следовать непосредственно один за другим или в цикле.

UART_SendStr(char str[])

Отправка строки/массива. Строка/массив должны заканчиваться нулем (стандартное соглашение С о хранении строк).

UART_SendByte(...) и UART_SendStr(...) нельзя вызывать в прерывании - они отслеживают флаг, который также обновляется в прерывании, и потому в случае такого вызова контроллер с большой вероятностью повиснет.

UART_SetRxHandler(void (*_new_rx_handler)(unsigned char))

Устанавливает отбработчик приема. Принимает указатель на функцию вида void <имя>(unsigned char rx_byte), вызываемую после приема байта. Ее параметр - принятый байт. Функция вызывается из прерывания, потому должна быть по-возможности короткой.

В архивах лежат собственно драйвер и проект-пример для IAR.
Вложения
msp430_uartexample.zip
Пример использования в IAR
(143.92 KiB) Скачиваний: 1234
msp430_uartdrv.zip
Реализация UARTа
(3.03 KiB) Скачиваний: 1153

Re: TI MSP430 Launch Pad

Чт апр 07, 2011 14:45:50

Тож обзавелся LaunchPad'ом. (Вернее дали поюзать.)
Для начала скомпилил в CCS пример, "моргание светодиодом". Все нормально, но ... .
Сейчас пытаюсь все запустить под mspgcc4. В качестве прошивальщика - консольный вариант программы "MSPFET - FREE MSP430 flash programming utility" от kurt'а.
Скомпилил еще вариант использования АЦП, найденный в сети. С soft-UARTом.
Запустил в гипертерминале. Скорость передачи можно выбирать (в гипертерминале) от 9600 до 921600!!! :shock:
На 4800 уже не работает.

Re: TI MSP430 Launch Pad

Пт апр 08, 2011 04:53:37

Мои 5 копеек: для просто заливки проекта есть внизу pull-up меню раскрывающаяся подгруппа, так там что-то вроде Write(download) active project. Это оно.

Re: TI MSP430 Launch Pad

Вт апр 26, 2011 20:26:17

А не могли бы вы написать ну или дать ссылки на различные книги по тому как писать програмы для этих контроллеров?

Re: TI MSP430 Launch Pad

Ср апр 27, 2011 09:06:29

Desoal писал(а):А не могли бы вы написать ну или дать ссылки на различные книги по тому как писать програмы для этих контроллеров?

Так же, как для любых других. С какими платформами ты уже работал раньше?

Re: TI MSP430 Launch Pad

Ср апр 27, 2011 15:04:53

Я начинаю с этих МК. так что ни на чём до этого не работал. есть только опыт некоторый программирования но не в си

Re: TI MSP430 Launch Pad

Ср апр 27, 2011 15:56:01

Desoal писал(а):Я начинаю с этих МК. так что ни на чём до этого не работал. есть только опыт некоторый программирования но не в си

Тогда сложнее.. Тут надо понимать какой путь обучения ближе - кто-то любит углубляться в теорию, а я, например, предпочитаю разбирать готовые примеры. То есть для меня процесс освоения новой платформы сводится к запуску среды разработки с рабочим примером и досконального изучения того, как все это работает, что значит каждая строчка кода.

Для простых камней вроде AVR или MSP430 процедура запуска тривиальна, надо только разобраться как работать с регистрами, как использовать прерывания и другие аппаратные особенности, а дальше начинается простое программирование, довольно далекое от целевой платформы (если писать на С и С++).

Для MSP430 главным документом является User Manual на семейство. Есть даже его перевод на русский язык от Компэла.

Выбор платформы одобряю, я на них собаку съел :) Так что будут вопросы - пиши.

Re: TI MSP430 Launch Pad

Ср апр 27, 2011 18:13:31

Вот, здесь поглядите: http://we.easyelectronics.ru/tag/MSP430/

Re: TI MSP430 Launch Pad

Вт май 03, 2011 05:38:38

Вопрос- стоит ли ставить CCS? или судя по сообщениям это полное фуфло жрущее много ресурсов и при этом почти ничего не делая?

Re: TI MSP430 Launch Pad

Вт май 03, 2011 09:00:39

Desoal писал(а):Вопрос- стоит ли ставить CCS? или судя по сообщениям это полное фуфло жрущее много ресурсов и при этом почти ничего не делая?

А разве CCS сейчас не обычный Eclipse со спецплагином?

Re: TI MSP430 Launch Pad

Вт май 03, 2011 09:19:48

Да, ничего для начала изучения семейства плата.
Всего 170р в Москве стоит.
Ответить