MSP430? Прямо сейчас!

Мир всем!

Сегодня я хотел бы рассказать о новой (по крайней мере, для меня) отладочной плате от Texas Instruments, а именно о LaunchPad, или, по-другому, MSP-EXP430G2, а также собственно о серии контроллеров MSP430G2XXX и своих первых впечатлениях от работы с ними.



Первое, что бросается в глаза — не обременяющая даже студенческий карман цена комплекта. Непосредственно у TI он стоит всего $4.30! Я же приобрел его в местном магазине по цене немногим более двухсот рублей, изначально зайдя туда за двумя супрессорами… При этом, кроме собственно отладочной платы (естесственно, со встроенным отладчиком), в комплект входят два контроллера — MSP430G2231, уже установленный в плату и запрограммированный демопрошивкой, и MSP430G2211. Также в аккуратных пакетиках в коробку вложены две PLS линейки и кварц на 32768Гц (их предлагается впаять самостоятельно по необходимости). Кроме того, в той же коробке лежит USB-кабель и всякие мелочи, вроде наклеек с логотипом LaunchPad. Софта в коробке нет, его предлагается выкачивать из интернета.

Чем примечательны сами контроллеры? Прежде всего, они шестнадцатибитные, т.о., тип integer для них естесственен. MSP430 имеют Фон-Неймановскую архитектуру — единое адресное пространство для прошивки и RAM, что может быть удобно во многих случаях. Например, обращение к массивам констант во flash выполняется совершенно естесственно, не требуется никаких хитрых процедур, как, например, в Гарвардских AVR. Кроме того, язык C изначально разрабатывался именно под Фон-Неймановские машины, что позволяет надеяться на эффективную генерацию кода компилятором. Также MSP430 имеют чрезвычайно гибкие опции тактирования — в системе присутствуют целых три тактовых сигнала, которые могут генерироваться разными генераторами и в реальном времени независимо подключаться/отключаться к любой периферии и ядру. Ну и, опять же, цена — самый продвинутый в серии, MSP430G2231, имеет стоимость ~ $0.5 за кристалл. Правда, это в партии от 1000 штук… В розницу же он стоит ~50р. (там же, где я покупал отладочный комплект). Что немаловажно, на сайте TI доступны семплы.

Оба комплектных контроллера — близнецы-братья, отличающиеся лишь периферией. Которая, кстати, в этой серии по-настоящему спартанская — самый продвинутый в линейке МК, MSP430G2231 имеет один шестнадцатибитный таймер с двумя блоками сравнения/захвата, один модуль I2C/SPI, один десятибитный АЦП с прикрученным к нему температурным сенсором. И все. Ну и порты ввода-вывода, в количестве десяти ножек. Flash — 2Кб, RAM — 128 байт. Что меня удивило, так это отсутствие UART, при том, что на отладочной плате он есть. В остальных все еще суровее. Самый младший в серии, MSP430G2001 вообще имеет 512 байт flash и таймер.

Как уже было упомянуто, на плате есть UART, подведенный к контроллеру. Комплект создает в системе виртуальный COM-порт, через который и можно организовать обмен. Все драйвера устанавливаются вместе с предлагаемыми средами разработки — тут на выбор либо IAR MSP430 Kickstart Edition, либо собственное творение
товарищей из TI — Code Composer Studio. Последнее я настоятельно не рекомендую — это Eclipse, обвешанный красивостями в невообразимых количествах, что делает его до чрезвычайности неспешным на неигровых компьютерах. Кроме того, он попросту показался мне гораздо менее удобным. Одним словом, после мучений с CCS я выбрал для себя IAR.

Самой большой проблемой, мучившей меня после распаковки комплекта, подключения платы к компьютеру, установки IAR и написания первой тестовой программки был вопрос «А где тут кнопка „Прошить“?». Для всех, кто будет мучаться так же, скажу — ее нет. Совсем. После долгих мучений и раскуривания тонн мануалов мне открылась страшная правда: плата укомплектована внутрисхемным отладчиком. И IAR, равно как и CCS, работает с ним именно как с отладчиком. Т.е., чтобы
переместить прошивку в МК надо начать сеанс отладки с использованием FET (так называется тот отладчик, который там распаян), в ходе запуска которого прошивка и будет зашита в память контроллера. Т.е., надо жать кнопку «Download and debug», после чего IAR соединится с отладчиком и зальет прошивку в контроллер. А дальше можно вживую играться с кодом — ставить точки останова, выполнять его по шагам, руками ставить флаги… Кто еще не понял — все это делается прямо в железе. Да, прикольно. Но все же мне больше понравилась бы скромная кнопочка вроде «Download to target». Мне вообще представляется сомнительной необходимость внутрисхемной отладки для такого контроллера. Разве только помигать светодиодом, глядя, как на экране красивая стрелочка синхронно с ним перепрыгивает с команды на команду...

Однако в жизни все еще сложнее. IAR сначала надо заставить работать именно с платой, а не с софтовым эмулятором. На эту тему я сделал небольшой мультик.

Итак, даже чтобы просто загрузить код в МК, надо начать отладку, нажав «Download and debug»,



потом, собственно, запустить код на исполнение, нажав «Go» (1). Потом можно жать «Stop Debugging» (2), при нажатой «Leave Target Running» (3) — IAR отключится от отладчика, МК продолжит выполнять залитую прошивку.



В целом отладочный комплект и сами контроллеры оставляют чрезвычайно благоприятное впечатление. Несмотря на воистину спартанскую периферию, сочетание шестнадцатибитности, простоты и наличия подобных невероятно дешевых средств разработки позволяет считать эту серию MSP430 идеальной для домашних поделок.

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

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

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

Для реализации протокола используется таймер 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.

Софт-UART для MSP430GXXXX
Пример его использования (IAR)
  • +4
  • 02 марта 2011, 23:37
  • _YS_

Комментарии (117)

RSS свернуть / развернуть
Ок. Сейчас создам раздел п MSP и перенесу туда
0
О, спасибо.

Надо же, целый отдельный раздел по MSP430! Под такое дело можно попытаться замутить еще несколько статей, вроде туториала по этим МК. Но это, конечно, если общественность выразит желание.
0
А почему нет?
0
Опа. в MSP430 нет уарта по дефолту??? О_о
+1
У этой линейки — нету. Что, еще раз скажу, до крайности меня удивило. Потому я сразу ринулся испрвлять этот недостаток. :-) Еще более удивительно то, что, как уже было сказано, на самой демоплате он разведен к МК! Вот так.
0
Ну у малоногих тиней тоже иной раз не бывает. Тут же вроде жирненький такой… А демоплата скорей всего просто универсальная под все.
0
Есть в других, у которых лап поболе. У них обозначение в последнем поле трехцифровое (1хх, 2хх, 4хх) или четырехцифирьное с 1 в конце (1хх1, 2хх1), к примеру MSP430F149 или MSP430F1491 и т.п.
0
Кстати говоря, я, к стыду своему ВНЕЗАПНО, обнаружил в даташите пункт «Universal Serial Communication Interface,
UART Mode». Только пока не разобрался, относится ли он именно к MSP430GXXXX. Буду раскуривать… Но пока я ковыряю термодатчик.
0
Таки нет, к MSP430GXXXX это не относится — USI и USCI суть разные вещи.

«The Universal Serial Interface (USI) module provides SPI and I2C serial
communication with one hardware module. This chapter discusses both
modes.»
0
Я с серией G не работал, не могу сказать. Но знаю, что у маленьких процов TI нет USART, как и у AVR.
Сегодня посмотрю вечерком документацию.
У меня есть MSP-FET LPT'шный, а в него ставятся только о 64-х ногах. Сейчас хочу сделать макетку под этот набор.

С уважением, Сергей.
0
Я просмотрел доки — в MSP430GXXXX точно нет UART. И USCI там нет, только USI. Так что, не зря я писал этот модуль. :-)
0
Елисей, я тебе говорил и повторюсь ещё раз, кнопка прошивания в IAR есть, и их там целых 2. Project->Download(самая нижняя строка)->Download active application или Download from file…
0
Ну, я тоже тебе говорил, что они обе, эм… немного странно работают. :-) Шас еще раз и понажимаю и скажу, в чем конкретно проблема, one sec…
0
Итак, к предыдущему комментарию.

1. После нажатия Download active application надо передергивать USB. Хотя зашивается, да. И смысл руками что-то дергать, когда можно нажать две кнопки на экране, и оно сразу запустится?

2. В режиме «Release» это меню вообще неактивно.

0
  • avatar
  • _YS_
  • 03 марта 2011, 22:26
Билин! Вы меня опередили!
Я хотел предложить учебный курс по MSP430.
Может, объеденим усилия?

С уважением, Сергей.
0
Так вы тоже можете писать в этот раздел! Будет две статьи об одном и том же? Не беда! Оформим друг за другом (даты подправлю вручную) и одна дополнит другую. Тем более тема даже одного контроллера практически неисчерпаема. Там можно написать десятки, если не сотни статей, а тому кто врезается в это с нуля и этого будет мало.
0
Отлично!
Тогда поступим так — я начну свой курс сегодня вечером а Вы и _YS_ оцените.
А там будет видно.

С уважением, Сергей.
0
Ессно, пишите. :-) Чем разностороннее будет курс, тем лучше. Да и мне тоже будет полезно почитать.
0
Тогда я, наверное, просто буду выкладывать свои поделки на LaunchPad, а Вы пишите систематический курс. Может, как-то так сделаем?
0
Ок!

Давайте в режиме кооперации — выгода будет всем. Я — теорию, Вы — практику.

С уважением, Сергей.
0
Кстати, как видно, мы с Вами работаем с разными сериями МК. Так что, никаких коллизий не ожидается. А даже если будут, DI уже говорил, что это не проблема.
0
А этой платой можно прошивать только контроллеры из серии G2XX?
0
а есть ли отладочные платы с msp430Fxxx в комплекте и вообще выбор кроме launchpad есть??
0
Есть, но дорого стоят.
LaunchPad — самый дешевый вариант, из тех, что я видел.
0
можно ли реализовать на launchpade цифровой фильтр… неважно какой ких, бих и тд… или кто подскажет как организовать команды MAC на мк поддерживающихся этой штуковиной!!!
0
0
Заказал сабж у TI, получил. Прикольненько — дешево (оно стоит дешевле собственной доставки) и шустро приехало (слоупочта по России дольше везет!). Упаковано и скомплектовано побогаче, чем STM32VL Discovery.

Кстати, вложенная бумажка гласит, что демопрошивка сливает данные с термодатчика в UART. Что-то видимо там все-таки есть на эту тему?

Ну и порты ввода-вывода, в количестве десяти ножек.
Точно десять? MSP430G2231 в DIP14, а шелкография под него на плате показывает только наличие P1 на 8 линий.

Мне вообще представляется сомнительной необходимость внутрисхемной отладки для такого контроллера.
Да ну, отладка в живом железе — это классно. Особенно если не тормозит, как JTAG на меге16.
0
  • avatar
  • Vga
  • 25 мая 2011, 00:12
Кстати, вложенная бумажка гласит, что демопрошивка сливает данные с термодатчика в UART. Что-то видимо там все-таки есть на эту тему?

Там обкоцанная программная реализация. Законченным модулем и не пахнет. По крайней мере, я не нашел.

Точно десять?

Есть еще P2 на два пина:

0
Ну, это вроде МК-шка уровня тини2313, по сравнению с ней даже отладка и АЦП есть. Вот таймеров можно было б и побольше…
А куда выведены пины P2? Мультиплексированы с кварцем? Там вроде кроме P1 только он, RST, питание и TEST наружу торчат.
0
Да. См. даташит.
+1
MSP430 — контроллеры для работы от батарейки в течение нескольких лет. Поэтому мало памяти, урезаны интерфейсы, нет толерантности к +5В. У меня в ящике провалялась плата во включенном состоянии с литиевой батарейкой 3V. Лежала пару лет. Случайно коснулся рукой — загорелся светодиод.(сенсорные кнопки на демоплате) Переключил джампер в положение OFF и обратно в ящик закинул.
0
Фигасе. А прошивка писалась с учетом энергосбережения (типа там спать регулярно и все такое), или ядро все это время программу молотило?
0
Не знаю. Прошивка родная от TI. Досталась платка на халяву, времени позаниматься с ней нет.
0
Круто, а я такую прям у TI купил, все хочу начать ковырять.
0
Вопрос к знатокам MSP430 — с помощю этой платки можна програмировать всю линейку контролеров MSP430, или только MSP430Gxxx?
0
Все, в которых есть интерфейс spy-bi-ware, как я понял. А в каких он есть — это уже надо смотреть.
0
Тьфу, spy-bi-wire.
0
Если именно программировать, то у некоторых моделей, где нет spy-bi-wire, есть бутлоадер.
0
Как раз роюсь в доках. Там Jtag практически все имеют. Стоит вопрос — купить Launchpad или деталькы для J-Link.
0
А J-Link — это тот, которые еще армы отлаживать умеет?
Алсо, можно линк на него, который собирать думаешь?
0
Похоже spy-bi-wire есть только в «Value line» так что толку покупать Launchpad для себя не вижу.
0
Ребята, а на какие скорости рассчитан встроенный usb-uart? Ну и какую скорость максимально можно выжать из программного uart. Сегодня прислали плату, просто есть идея, куда ее запихнуть… Но там скорость нужна 19200бод.
0
1.
на какие скорости рассчитан встроенный usb-uart?

В официальном User Guide написано следующее:

USB debugging and programming interface featuring a driverless installation and application UART serial communication with up to 9600 Baud

Стр. 6, раздел 1.1 (Overview).

2.
какую скорость максимально можно выжать из программного uart

4800 бод — самый работоспособный вариант, все упирается в кварц. Можно, наверное, попробовать и чуть больше, но не факт, что ошибка будет приемлема. Можно попробовать запустить таймер от внутреннего генератора, но не факт, что хватит стабильности.

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

И да, в этой версии есть баг. Если нужно, используйте версию 1.1.
0
Спасибо за ответ! Я попробую ужать поток, возможно удастся ужаться в 4800 бод. 9600 бод у usb-uart, не слишком много конечно, но ничего, ужмусь :)
0
вот вам G2 и с UART
стоит меньше бакса у TI
www.ti.com/product/msp430g2553?qgpn=msp430g2553
0
Мда, не ожидал я такого отвратительного поведения от эклипса… Это что же с ним сделали такое? На вполне игровом компе (4x3ГГц, 4ОЗУ, R6850) работает плохо, убивают не тормоза (их то особо и нет), а страшные глюки! Видать зря гиг скачивал :)
0
Ну я же говорил:

IAR MSP430 Kickstart Edition, либо собственное творение товарищей из TI — Code Composer Studio. Последнее я настоятельно не рекомендую — это Eclipse, обвешанный красивостями в невообразимых количествах… после мучений с CCS я выбрал для себя IAR.

:)
0
Гм, а там где я работал — его даже покупали. Причем предварительно попробовав. И компы там были не игровые. Видать таки понравился.
0
  • avatar
  • Vga
  • 07 сентября 2011, 13:12
Я в любом случае сильно много под msp430 писать пока не собираюсь :) Пока не понял, как эту штуку активировать и как вернуть вид окон в дефолтный!?
0
Какую? Код композер? Не знаю, я еще сам не ставил. А ты платный с бесплатным случайно не спутал? Платный активировать тока креком. Ну или отстегнув TI.
0
  • avatar
  • Vga
  • 07 сентября 2011, 18:14
хм, может быть, а как отличить не знаешь? :)
0
Полная на полтора гига в инсталлере, а халявная менее полугига вроде. Алсо просто надо смотреть что качаешь)
Если бесплатную и слил — поковыряй техасовскую вики, там должно быть. Или в user manual'е или подобном сопроводительном документе.
0
  • avatar
  • Vga
  • 07 сентября 2011, 21:36
Смотреть что качаю, хм это как :) Действительно скачал платинум-версию, сейчас уже ставлю бесплатную, спасибо за наводку!
0
А не знаешь, по поводу моего ламерского вопроса, как вернуть все вкладки в дефолтные места? Я что-то такое сделал, сам не понял как, что теперь все выглядит так убого, что просто… Сказал бы я как.
0
Как смотреть температуру, которую измеряет мк msp430g2231 идущий в комплекте? Есть какая-то утилитка?
0
  • avatar
  • tank
  • 12 сентября 2011, 13:57
А он не в консоль разве выводит? Попробуйте тыкнуться чем-то типа PuTTY.

Если сильно интересна именно температура, могу поискать на диске мою самописную прошивку, которая выводит как раз в консоль текстом. Т.е., просто подключаетесь к порту через терминалку и смотрите.
0
Да я пока даже не втыкал его, пару дней как приобрел launchpad.
0
Товарищи, меня контроллер очень приятно порадовал! Особенно понравилась grace, для быстрого старта — самое оно!
Сейчас заинтересовал местный ассемблер (честно говоря ни разу в жизни не писал на ASM для МК, только для винды), есть желание по-разбираться. Подскажите пожалуйста, где можно почитать подробное описание команд?
0
Подскажите пожалуйста, где можно почитать подробное описание команд?

В User guide, конечно. Раздел 3.4 — Instruction set.
0
Лучше этот User guide — он новее.
0
Спасибо, буду разбираться! Что-то раньше не читал эту часть мануалов, а зря :)
0
Именно, зря. :)
0
Было бы что изучать, тамошняя система команд в статью на википедии влезла :) Два с половиной десятка настоящих команд и стока же эмулированных.
0
  • avatar
  • Vga
  • 13 сентября 2011, 07:41
Мне поначалу обилие режимов адресации мозг выносило.
0
Почитал про адресацию. Вроде ничего мозгосносного, режимов не так много и они вполне стандартные. На х86-м поболе будет. Да и у MCS-51 режимов адресации вдвое больше.
0
  • avatar
  • Vga
  • 28 сентября 2011, 20:41
Просто я начинал с AVR, там все несколько по другому — гарвардская архитектура.
0
MCS-51 — тоже. Причем там минимум три АП. Да и в самом AVR вроде не так мало режимов. По крайней мере, двумя командами STR и LDR он не ограничивается.
0
  • avatar
  • Vga
  • 28 сентября 2011, 20:44
Дело как раз в том, что у AVR для разных режимов адресации — разные команды. А там, где одна — там не надо задумываться, принимает что угодно.

А в MSP430 команда одна, например, mov, а модификаторов типа @, #, + — дофига.
0
Да, в этом плане MCS-51 больше на MSP430 похож, там для работы с основным АП (ОЗУ, которая сама на 5 секций разделена) 15 режимов адресации. С остальными двумя похуже — ЕМНИП только косвенная адресация и отдельная команда MOVX/MOVC.
Хотя и в AVR есть модификаторы — LD R0, Z+ например.
0
  • avatar
  • Vga
  • 28 сентября 2011, 20:52
Я вот сегодня весь день разбираюсь с ассемблером (болею, скучно...) Вот пока никак не могу понять:
0
1. Про адресацию (если честно, то непонятно ничего)
0
2. никак не могу понять, какая команда сколько циклов занимает (понять то могу, но лишь опытным путем).

p.s. какого лешего, при нажатии ctrl+enter сообщение постится!!! Хотя видимо сам виноват…
0
И еще один вопрос. Расскажите пожалуйста, что происходит в тех строках, которые комментированы как "???".


;---------------------------------------------------------
; Подключение библиотек
;---------------------------------------------------------

	.cdecls C,LIST, "msp430G2211.h" ; подключение библиотек "C"

;---------------------------------------------------------
; Main - начало программы
;---------------------------------------------------------

	.text 			;???

Reset	mov #0280h,SP		;???
	mov #WDTPW+WDTHOLD,&WDTCTL ;делаем так, чтобы WDT больше не мешал 

	mov #001h,&P1DIR 	;инициализация светодиода
	mov #000h,&P1OUT 	;гасим светодиод
Main			
	call #Delay		;пауза
	mov #001h,&P1OUT 	;зажигаем светодиод
	call #Delay		;пауза
	mov #000h,&P1OUT	;гасим светодиод

	jmp Main		;возврат к основному циклу

;---------------------------------------------------------
; Процедура ожидания
;---------------------------------------------------------

Delay	mov #000h, R5 		;обнуляем счетчик
Loop	add #001h, R5 		;инкрементируем счетчик
	nop			;пауза в один такт
	cmp #0c350h, R5
	jne Loop 		;если R5 != 50000, то возврат к Loop
	ret			;выход из процедуры
		
;---------------------------------------------------------
; Некие конечные строки программы
;---------------------------------------------------------

	.sect ".reset"		;???
	.short Reset		;???
	.end


P.S. а тут кстати можно как-нибудь код прятать под спойлер?
0
.text; секция .text (нуна линкеру для распинывания кода по памяти
Reset mov #0280h,SP; инит стека — пихаем туда константу 0280h

Остальное (две последние строки) специфично, надо ман на конкретный ассемблер курить. Похоже на инициализацию таблицы векторов прерываний. Конкретно там всего одно прерывание — ресет.
0
  • avatar
  • Vga
  • 27 сентября 2011, 21:54
Ага, разобрался. Вот только теперь из-за недостатка опыта — проблема на проблеме… Вот думаю, как инициализировать массив содержащий «Hello world». Пока я только понял, что создать массив можно так:

.bss Array,200
0
Если он в ОЗУ — то только выделить под него место и затем уже в рантайм, при инициализации перекинуть в него данные из такого же массива в флеше.
0
  • avatar
  • Vga
  • 28 сентября 2011, 19:03
Ага, значит я выделяю массив в ОЗУ. А как тогда в теории записать массив в ПЗУ (я просто хочу где-нибудь хранить «hello world»)?
0
Понятия не имею. На x86 это делалось директивой .db 'H', 'e',… (не совсем так, но как — не помню). Ищи похожее для своего. И вообще, кури ман по ассемблеру (это который msp430-as.exe, или как его там у TI кличут), а не ядру. В ядре тока про команды, регистры и карту памяти. А как заставить конкретный ассемблер засунуть конкретные данные в конкретный тип памяти — нужно смотреть в его мане.

Опять же есть С, там подобных «смотри конкретный ман» меньше. Хотя там зато нужно скуривать ман на библиотеку.
0
  • avatar
  • Vga
  • 28 сентября 2011, 19:29
Да, читал но я вот с CCS пока мучаюсь, а они с IAR различаются… Хм, может пора скачать IAR :)
0
Oh, facepalm.

Я же писал, что CCS до невозможности уныла. Но, вижу, Вам захотелось убедиться в этом самостоятельно. :)
0
Ага, это от тоски :) А с массивом я все же разобрался, надо было просто внимательнее читать гайд :)
Но серьезно, чем IAR лучше, причем на столько? Тормознутость CCS меня уже не смущает.
0
По пунктам не перечислю, но, поставив CCS, я увидел нечто тормозное, мельтешащее и запутанное, и, потыкав, снес его. IAR же встретил меня неназойливым приятно-спартанским интерфейсом.

И да, товарищи из IAR — чемпионы по оптимизации.
0
Этот ваш иар — блокнот с компилятором, однако. Как человек, начавший с прикладного программирования — не люблю я такие Intergrated Development Notepad.

Есть еще кстати MSPGCC. У этих обычно с оптимизацией весьма неплохо, под AVR нередко IAR уделывает.

А у CCS компилер свой? Врядли он кстати так уж плох, там где я работал — его купили, причем с подачи пощупавших его триалку программистов. Видать, по вкусу пришелся.
0
  • avatar
  • Vga
  • 28 сентября 2011, 20:40
А я не люблю, когда новогодняя елка перед глазами маячит. Я за спартанский стиль. Ну, на крайняк как в Code::Blocks.
0
Для этого в нормальных иде есть возможность настройки интерфейса — убираешь все ненужное, выволакиваешь все нужное. Можно ту же дельфи до состояния блокнота довести — мейн окно с тулбаром и окно редактора. Правда, никакой блокнот, включая N++, с редактором дельфи и рядом не валялся. Не думаю что эклипс в этом плане менее гибок, по крайней мере CoIDE встречает как раз таки довольно спартанским интерфейсом.

КодБлокс неплохая IDE, еще бы там нормально работали дебаг и особенно CodeInsight. Хотя я сильно подозреваю, что C::B в моей настройке ты бы тоже назвал елкой.
0
  • avatar
  • Vga
  • 28 сентября 2011, 20:49
Хотя я сильно подозреваю, что C::B в моей настройке ты бы тоже назвал елкой.

Это неважно, мне за Вашим IDE не работать. Важно, что C::B принципиально можно настроить.
0
Эклипс тоже можно же. Не думаю что CCS в этом от него сильно отличается. Хотя если не настраивается — то и я о такой IDE буду невысокого мнения, т.к. в первую очередь оцениваю их именно по работе кодонавигатора (который в иаре вообще отсутствует) и настраиваемости морды.
0
  • avatar
  • Vga
  • 28 сентября 2011, 20:53
Да там над Эклипсом, как я понял, очень сильно поработали.
0
Дык эклипс сам по себе скорее набор для сборки IDE чем собственно IDE. Зато у него кодонавигатор есть. Ну и вообще редактор выглядит неплохо.

IAR кстати вроде пилит плагинчик, чтобы мона было с их компилером юзать эклипс вместо родной недосреды.
0
  • avatar
  • Vga
  • 28 сентября 2011, 21:02
.db помню, раньше писал под x86, буду искать короче. А Си ясно, что проще, я уж с местными премудростями Си вроде подружился (хотя премудростей то и нет никаких), но захотелось острых ощущений :)
0
Народ, у меня драйвер MSP430 Application UART не устанавливается…
0
  • avatar
  • tank
  • 14 сентября 2011, 12:34
windows 7 пишет, что не может его найти
0
о_О заработало с драйвером из IARa
0
_YS_ скажите, а существует возможность тактировать MSP430 с помощью стабильного сигнала 10МГц? Я что-то никак не пойму, возможно ли тактирование извне чем-то более быстрым, нежели часовой кварц…
0
У этой серии — нет. В смысле, в документации не специфицировано. Но попробовать можно.

В этой серии входные цепи специфицированы для работы на низкой частоте. В более старших сериях есть дополнительный ВЧ блок.
0
Понятно, а есть такие «старшине серии», которые шьются с помощью LaunchPad-а?
0
IMHO LaunchPad'ом должно шиться все, у чего есть Spy-Bi-Wire (интерфейс лончпада для отладки и программирования).
0
Ок, спасибо. Как соберусь заказывать семплы от TI, заодно и это попрошу. Надеюсь они пришлют детали для проекта, который пока рассчитан на мелкосерийное производство.
0
Который, в свою очередь, есть у 3.5 младших серий.
0
Подскажите, где в среде IAR можно увидеть объем скомпилированного кода заливаемого в МК? в частности объем занятой области Программы и ОЗУ?
0
  • avatar
  • Zov
  • 19 февраля 2012, 02:19
0
Можете открыть саму картинку, она на самом деле большая.
0
Странно, но у меня там .
Может я чего-то не настроил?
Все шьется, работает.
0
Хм.

1. Справа полоса прокрутки есть? Покрутите.
2. Жмете кнопку «make»?
0
Приведено все содержимое нижнего поля.Больше там ничего нет.
0
Tools -> Options -> Messages -> Show build messages -> [All]
0
Таки заработало, спасибо!)
0
Мне сегодня пришла LaunchPad с другими процами. Оба в DIP20:
— MSP430G2553
— MSP430G2452.

Т.е. они поменяли контроллеры, которые идут с Лаунчпад, на более мощные :) :) :)
0
Давно уже, где-то в начале года (или конце предыдущего), вместе с ревизией 1.5 (или, скорее, поменяли ревизию вместе с процами — эти МК новые и старый ланчпад оказался неполностью совместим с ними и CapSense BoostPack).
0
Написал вот инструкцию по применению ИДЕ Code::Blocks для msp430:http://www.shelezyakin.ru/?p=816
0
Может и сюда закросспостишь?
0
Вариант, конечно, я думал об этом уже, пока не нашёл подобную статью здесь, описывающую эту ИДЕ. Там из каментов создаётся впечатление, что я ничего нового не открыл, новое это только для меня оказалось.
0
В принципе да, но конкретные готовые настройки для конкретного таргета тоже полезны. Типа «взял и работай».
0
Хорошо, чуть погодя запубликую :) Только я пока не разобрался, как там дебаггер прикрутить. Информацию пока только англоязычную вижу по этому поводу, и весьма разрозненную.
0
Ссылки умерли. Перезалить бы сюда.
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.