Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.55/794: Рейтинг темы: голосов - 794, средняя оценка - 4.55
yv_s
0 / 0 / 0
Регистрация: 02.02.2010
Сообщений: 1,142
1

MSP430

18.05.2010, 15:33. Просмотров 143121. Ответов 132
Метки нет (Все метки)

Вроде у буржуев очень популярный, а в рунете наоборот както слабо.
Заказал себе второй и пятой серии, вроде jtagом шьется и gcc бэкенд есть.
У кого есть опыт работы с этим контроллером?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2010, 15:33
Ответы с готовыми решениями:

Прерывания MSP430
Здравствуйте! Написал программу для обмена данными с температурного датчика и компьютера через...

MSP430 в LabView
Привет. Нужно программировать msp430 в LabVIEW. Это вообще возможно?Дайте хоть какую то информацию...

MSP430 и Linux
Доброе утро! Я в микроконтроллерах пока что полный нуб, поэтому прошу совета опытных чуваков. ...

MSP430 в вакууме
Сам я микроконтроллеры программирую исключительно ради развлечения. Профиль работы у меня немного...

FreeModBus + MSP430
Ребята Help. Ситуация такова: скачал библиотеку FreeModBus и запихнул ее в проект и возникла...

132
MMP
0 / 0 / 0
Регистрация: 28.01.2010
Сообщений: 39
18.05.2010, 16:11 2
Начинал знакомиться с микроконтроллерами на основе F149. Хотел из него бортовой миникомпьютер сделать для машины. Но у меня умер lpt, а usb программатор для MSP совсем не дешевый, да и сами контроллеры тоже. Переквалифицируюсь на АВР, а платка с контроллером дожидается лучших времен.
0
Kotz
0 / 0 / 0
Регистрация: 28.01.2010
Сообщений: 570
18.05.2010, 16:22 3
MSP для автотехники - не лучший выбор, чуть что с питанием - флэш слетит (отчасти вопрос решается супервизором). А вот для устройств с батарейным питанием - самое то, т.к. очень мало кушает в активном режиме.
Помимо JTAG, прошивать можно через COM-порт, посредством BSL (бутлоадер). Понадобится переходник (насколько помню, там малопотребляющий ОУ - TL062 или, в крайнем случае, 2904 и какая-то мелкая логика, 74HC14, что ли). Питается прямо от порта.
0
omx
0 / 0 / 0
Регистрация: 11.11.2016
18.05.2010, 16:25 4
Я с ними постоянно работаю. Что конкретно интересует?
0
18.05.2010, 16:25
yv_s
0 / 0 / 0
Регистрация: 02.02.2010
Сообщений: 1,142
18.05.2010, 16:45 5
Цитата Сообщение от omx
Я с ними постоянно работаю. Что конкретно интересует?
Мне больше всего интересно насколько юзабелен gcc под него, т.к. у меня вся рабочая среда - это линуксы.
До этого я смотрел только пики и авр(больше авр), сильно большие различии в работе с переферией?
Ну, может еще какие неочивидные подводные камни есть.
Самое первое что бросается в глаза, это 16битность, но это наверно только в плюсы записать можно:)

Цитата Сообщение от Kotz
Помимо JTAG, прошивать можно через COM-порт, посредством BSL (бутлоадер). Понадобится переходник (насколько помню, там малопотребляющий ОУ - TL062 или, в крайнем случае, 2904 и какая-то мелкая логика, 74HC14, что ли). Питается прямо от порта.
COM это уже лучше, буду гуглить тему:)
0
omx
0 / 0 / 0
Регистрация: 11.11.2016
18.05.2010, 18:09 6
Цитата Сообщение от yv_s
Мне больше всего интересно насколько юзабелен gcc под него, т.к. у меня вся рабочая среда - это линуксы.
gcc юзабелен для области памяти до 64к, если надо больше - начинаются чудеса (поддержка для верхней области памяти не доведена до ума).
Цитата Сообщение от yv_s
До этого я смотрел только пики и авр(больше авр), сильно большие различии в работе с переферией?
Ну, может еще какие неочивидные подводные камни есть.
Если вы надеетесь что код для авр заработает на мспшках - я вас разочарую. Периферию придется изучать от корки до корки, благо все описано. Только информация не собрана в кучю в даташите как у Атмела, а равномерно размазана по даташиту и руководству пользователя. Подводных камней нет вообще, никаких фьюзов (есть только один - отключение JTAG-а - выжигается один раз и на всегда), все настраивается программно по ходу работы.
Цитата Сообщение от yv_s
Самое первое что бросается в глаза, это 16битность, но это наверно только в плюсы записать можно:)
Система команд практически предназначена для писанины на С, по сравнению с пиками/авр - отсутствие проблем аномального размера инт. В общем - мечта, если б не стоили так дорого.
Цитата Сообщение от yv_s
COM это уже лучше, буду гуглить тему:)
Тему можно не гуглить, а зайти на сайт производителя и скачать аппноуты про boottooder, там все схемы и программы имеются, а ввиду повсеместного использования USB можно сделать на фт232 одновременно и мост узб-ком для программы и бутлоудер, или соорудить GoodFET
0
yv_s
0 / 0 / 0
Регистрация: 02.02.2010
Сообщений: 1,142
18.05.2010, 18:28 7
Цитата Сообщение от omx
gcc юзабелен для области памяти до 64к, если надо больше - начинаются чудеса (поддержка для верхней области памяти не доведена до ума).
Всмысле отсекаются контроллеры с больше чем 64к, или просто если дальше 64 не лезть, то все норм?

Цитата Сообщение от omx
Если вы надеетесь что код для авр заработает на мспшках - я вас разочарую. Периферию придется изучать от корки до корки, благо все описано.
Ну, что не заработает-то понятно, между разными аврками то один и тот же код не всегда работает, куда уж на другую архитектуру надеятся.
Еще кстати отличие, что MSP фоннеймановская против гарвардской архитектуры как на авр. Но это, наверно, если только си использовать, отличий и не заметишь?
0
omx
0 / 0 / 0
Регистрация: 11.11.2016
18.05.2010, 18:36 8
Цитата Сообщение от yv_s
или просто если дальше 64 не лезть, то все норм?
именно

Цитата Сообщение от yv_s
Еще кстати отличие, что MSP фоннеймановская против гарвардской архитектуры как на авр. Но это, наверно, если только си использовать, отличий и не заметишь?
Отличия заметишь. На мсп-шках все указатели едины, в отличие от гарварских пиков (может и у авр-ок так же, не в курсе), у которых есть отдельно указатели на рам, отдельно на флеш, отдельно аппаратный стек и никак они не пересекаются.
Из заметных примеров:
У PIC есть библиотечные функции memsmp, memsmppgm2ram, memsmppgm2pgm и так для почти всех библиотечных функций, у мспшек все функции в единичных экземплярах.

На асм всё обстоит так же:
Код
mov @R5,R6
- прочитает по адресу в R5 откуда угодно, вне зависимости это флешь, рам, регистры периферии или ещё что.
0
yv_s
0 / 0 / 0
Регистрация: 02.02.2010
Сообщений: 1,142
18.05.2010, 22:24 9
Ух, прямо почти как PC:) А есть какие-нибудь эмуляторы MSP? А то уже прямо руки зачесались:)
Уже нашел, http://sourceforge.net/projects/mspsym/ кросплатформенный, буду разбираться.
(Сам спросил, сам ответил:))
0
R_uro
0 / 0 / 0
Регистрация: 06.04.2010
Сообщений: 1,088
18.05.2010, 22:35 10
Цитата Сообщение от yv_s
Ух, прямо почти как PC:) А есть какие-нибудь эмуляторы MSP? А то уже прямо руки зачесались:)
А стоит сколько ?
0
yv_s
0 / 0 / 0
Регистрация: 02.02.2010
Сообщений: 1,142
18.05.2010, 22:47 11
Всмысле мк? Чуть дороже атмег - http://platan.ru/cgi-bin/qwiry_i.pl?code=msp430
0
omx
0 / 0 / 0
Регистрация: 11.11.2016
19.05.2010, 11:04 12
Цитата Сообщение от yv_s
Ух, прямо почти как PC:) А есть какие-нибудь эмуляторы MSP? А то уже прямо руки зачесались:)
Уже нашел, http://sourceforge.net/projects/mspsym/ кросплатформенный, буду разбираться.
(Сам спросил, сам ответил:))
Мой вам совет - не мучьте себя, отлаживайтесь в железе. А то потом возникают вопрсы в стиле: "В протеусе/эмуляторе работает, а в железе - нет. У меня все правильно. Что делать?"
P.S. при выборе кристалла, внимательно читайте доки, не у всех есть бутлоудер (у младших кристаллов 2ой серии) и jtag (так же у малоногих, у которых имеется двухпроводной spy-bi-wire(поддерживается только usb-ным фирменным отладчиком и ez430)).
P.P.S. цены на мспшки гуляют в приличном диапазоне и зависит от многих факторов - так что имеет смысл сравнивать кристаллы примерно с хотя бы одним набором периферии.
0
Гарнист
0 / 0 / 0
Регистрация: 22.01.2010
Сообщений: 3,496
19.05.2010, 11:11 13
Цитата Сообщение от omx
Мой вам совет - не мучьте себя, отлаживайтесь в железе. А то потом возникают вопрсы в стиле: "В протеусе/эмуляторе работает, а в железе - нет. У меня все правильно. Что делать?"
Большими буквами на скрижали мраморной высечь надо это!
Всё правильно - это когда в железе работает.
0
yv_s
0 / 0 / 0
Регистрация: 02.02.2010
Сообщений: 1,142
19.05.2010, 11:51 14
Цитата Сообщение от omx
Мой вам совет - не мучьте себя, отлаживайтесь в железе. А то потом возникают вопрсы в стиле: "В протеусе/эмуляторе работает, а в железе - нет. У меня все правильно. Что делать?"
Мне только с ассемблером освоиться, пока железка идет.

Цитата Сообщение от omx
P.S. при выборе кристалла, внимательно читайте доки, не у всех есть бутлоудер (у младших кристаллов 2ой серии) и jtag (так же у малоногих, у которых имеется двухпроводной spy-bi-wire(поддерживается только usb-ным фирменным отладчиком и ez430)).
А вот и подводные камни. Спасибо, учту.
0
MostirOtixiy
0 / 0 / 0
Регистрация: 24.02.2010
Сообщений: 804
19.05.2010, 12:21 15
Подкину свою ложку дегтя :)
Если делать устройство на батарейках, как мы в свое время на MSP430F149, то, по причине малого потребления, простого отключения питания для ресета не достаточно. Надо конкретно замыкать все кондеры на плате. Иначе проц не ресетился у нас, а входил в какое то непонятное состояние, в котором его ни JTAG не видел, ни сам проц не заводился повторно. Помогало именно замыкание питания на землю. А если еще и JTAG не отключить, а только питание - так он даже и не ресетится, а, часто, работает себе дальше.
Кстати - JTAG только покупной дорогой, самому его сделать - там обычные 245е стоят помоему даже одной штуки хватит.
Дома валяется схемка. Да и в интере полно их всяких разных.
Упдате:
16 ти битность дает сюрпризы с memory allignment в 2х байтовых границах.
Если привыкли работать на AVRках с массивами данных, и часто делаете cast из массива в перменные, то готовтесь к тому, что старые проги, перенесенные с AVR могут гнать в этих местах:

Код
char Array[10] = {чего нибудь};

int var;
var = *((int *) &Array[1]);
Этот код на AVRках будет работать как и ожидается, а вот на MSP он либо выдаст данные с 0й либо со 2й ячейки, но никак не с 1й ;-). Тоже самое относится к cast массивов в структуры, в которых есть поля данных размером больше одного байта.
0
omx
0 / 0 / 0
Регистрация: 11.11.2016
19.05.2010, 12:58 16
Цитата Сообщение от MostirOtyxiy
Если делать устройство на батарейках, как мы в свое время на MSP430F149, то, по причине малого потребления, простого отключения питания для ресета не достаточно. Надо конкретно замыкать все кондеры на плате. Иначе проц не ресетился у нас, а входил в какое то непонятное состояние, в котором его ни JTAG не видел, ни сам проц не заводился повторно. Помогало именно замыкание питания на землю.
Это характерно для всех микроконтроллеров без Brownout Detector.
0
MostirOtixiy
0 / 0 / 0
Регистрация: 24.02.2010
Сообщений: 804
19.05.2010, 13:13 17
Цитата Сообщение от omx
Цитата Сообщение от MostirOtyxiy
Если делать устройство на батарейках, как мы в свое время на MSP430F149, то, по причине малого потребления, простого отключения питания для ресета не достаточно. Надо конкретно замыкать все кондеры на плате. Иначе проц не ресетился у нас, а входил в какое то непонятное состояние, в котором его ни JTAG не видел, ни сам проц не заводился повторно. Помогало именно замыкание питания на землю.
Это характерно для всех микроконтроллеров без Brownout Detector.
В основном тех, которые потребляют мало. Например с аврками я такого не наблюдал еще, так как они жрут довольно много, по сравнению с МСП, которые от 0.7 вольт прекрасно работали :)
0
yv_s
0 / 0 / 0
Регистрация: 02.02.2010
Сообщений: 1,142
22.05.2010, 07:22 18
Еще вопрос, вот оно шьется через JTAG, и как я понял в бутлоадер тоже через JTAG адаптер загружать?
С программной стороны gcc-gdb прошивку загружает, а с железной?
Вот такой адаптер пойдет? http://www.frozeneskimo.com/itistronics ... ler-clone/
Вобще гуглится куча схем JTAGа, не понятно чем они отличаются.
Или спаяв любой из них я могу им шить все что угодно начиная от MSP430 и новых атмег, заканчивая FPGA и ARM?
0
omx
0 / 0 / 0
Регистрация: 11.11.2016
23.05.2010, 11:09 19
Цитата Сообщение от yv_s
Еще вопрос, вот оно шьется через JTAG, и как я понял в бутлоадер тоже через JTAG адаптер загружать?
в кристаллах имеется Bootstrap tooder, он записан в масочном ПЗУ и не может быть изменён или стёрт
Цитата Сообщение от yv_s
С программной стороны gcc-gdb прошивку загружает, а с железной?
А с железной нужен JTAG адаптер
Цитата Сообщение от yv_s
Вот такой адаптер пойдет? http://www.frozeneskimo.com/itistronics ... ler-clone/
Вобще гуглится куча схем JTAGа, не понятно чем они отличаются.
Или спаяв любой из них я могу им шить все что угодно начиная от MSP430 и новых атмег, заканчивая FPGA и ARM?
Нет, не подойдет, это вигглер для арма, вам же нужен вигглер для мсп430. Все эти вигглеры работают по одинаковому принципу, но отличаются до такой степени что не являются взаимозаменяемыми (если только программная часть не поддерживает переназначение выводов). Если вам нужна рабочая схема - возьмите её из официальной документации (MSP-FET430 FLASH Emulation Tool (for use wyth IAR Version 3.x) Users Guide)


или

<Изображение удалено>
0
yv_s
0 / 0 / 0
Регистрация: 02.02.2010
Сообщений: 1,142
23.05.2010, 20:31 20
Как я понимаю регулятор и операционник в этой схеме чтобы совсем уж ровные три вольта получить?
А просто стабилитрон на 3.1 воткнуть(ну или кренку), такой номер не пройдет?:)
Просто TPS77030 у нас в нигазинах нету, а контроллеры уже пришли.
Еще нагуглил вот такой(что плюс, последовательный порт) http://www.levap.ru/2009/11/bsl-programmator-msp430/
Вроде автор поста шьет таким через gcc, правда под виндой.
0
23.05.2010, 20:31
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.05.2010, 20:31

msp430 IAR
Ребята просьба о помощи, в универе курсовая по микроконтроллерам MSP430, работаем на IAR Workbench....

MSP430 Не переходит в прерывание
Друзья!!! Пожалуйста, помогите: void main(void) { P4SEL=BIT0; P1DIR |= BIT0; P1SEL &amp;= ~...

MSP430 + TLC5916 SPI
Добрый день! В учебных целях собираю управление с MSP430 launchpad (MSP430G2231)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.