Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Прошить MSP430F149 c помощью платы LaunchPad
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > MSP430
brucemax
Доброго времени суток!
Подскажите возможно ли прошить MSP430F149 (запаян на плате) с помощью отладочной платки LaunchPad и если да, то как это осуществить (софт и т.п.) Если чего-то сразу не пойму, сильно не пинайте.. я новичок в микроконтроллерах)
d7d1cd
Не знаю про эту отладочную плату, но имея программатор возможно произвести программирование через BSL микроконтроллера. Я точно такой же МК, запаянный в плате, программировал с помощью программатора ChipProg ISP.
brucemax
Цитата(d7d1cd @ Aug 24 2012, 16:34) *
Не знаю про эту отладочную плату, но имея программатор возможно произвести программирование через BSL микроконтроллера. Я точно такой же МК, запаянный в плате, программировал с помощью программатора ChipProg ISP.

http://catalog.gaw.ru/index.php?page=document&id=38099 вот полное название MSP-EXP430G2 LaunchPad. Просто там всё через usb.. не хочется ещё что-то покупать.. так как возможно дел с MSP не много буду иметь. И ещё вопрос.. если есть только файл прошивки без проекта.. возможно в этом случае прошить контроллер используя CCS или IAR, если да то как? и может мне попробовать соеденить соответствующие контакты на отладочной плате с контроллером и попытаться прошить (плохого может чего случиться? rolleyes.gif )?
d7d1cd
Ну по сути
Цитата
MSP-EXP430G2 LaunchPad – простой в использовании программатор FLASH-памяти и отладчик

то есть, если плата поддерживает BSL программирование, можно соединить нужные выводы с платы с нужными выводами МК. И вперед!
brucemax
Цитата(_pv @ Aug 24 2012, 17:29) *

Цитата(d7d1cd @ Aug 27 2012, 06:03) *
Ну по сути

то есть, если плата поддерживает BSL программирование, можно соединить нужные выводы с платы с нужными выводами МК. И вперед!

Спасибо.
То есть соединяю так как изложено в вышеприведенном документе и вперёд?! А не могли бы ещё и софт подсказать для этого дела? У меня есть и CCS и IAR.. (там можно написать тестовый примерчик) но как прошить, если у тебя только есть файл прошивки?
_pv
Цитата(brucemax @ Aug 27 2012, 13:12) *
Спасибо.
То есть соединяю так как изложено в вышеприведенном документе и вперёд?! А не могли бы ещё и софт подсказать для этого дела? У меня есть и CCS и IAR.. (там можно написать тестовый примерчик) но как прошить, если у тебя только есть файл прошивки?

http://www.ti.com/mcu/docs/litabsmultiplef...p;familyId=1937

google: MSPFET
Cosmojam
Можно как SBW отладчик использовать http://www.msp430launchpad.com/2011/10/pro...al-targets.html
В CCS появится отладчик "TI MSP430 USB". Просто прошить не знаю как с MSP430*, а у мя неен получилось с помощью mspfet через ланчпад прошивать CC430*, зато получилось через Smart RF Studio.
brucemax
Цитата(_pv @ Aug 27 2012, 10:08) *

Вот с BSl сейчас и разбираюсь. По инстукции прошил МК на launchpad прогой, которая будет осуществлять этот интерфейс.. Далее следует подключить launchpad к целевому MK и работать через проги BSLDEMO2 или BSLScripter (уже скачал). Вот теперь пытаюсь разобраться как с ними работать.. может уже кто с ними имел дело?? или просто помогите разобраться какую строчку ляпнуть чтобы закинуть заветную прошивку?)


Цитата(Cosmojam @ Aug 27 2012, 11:06) *
Можно как SBW отладчик использовать http://www.msp430launchpad.com/2011/10/pro...al-targets.html
В CCS появится отладчик "TI MSP430 USB". Просто прошить не знаю как с MSP430*, а у мя неен получилось с помощью mspfet через ланчпад прошивать CC430*, зато получилось через Smart RF Studio.

В статье шьют через SBW, а его на MSP430F149 я не нашёл. Чтобы юзать mspfet я так понимаю нужен соответствующий программатор. А вот про Smart RF Studio можешь рассказать подробней?
_pv
Цитата(brucemax @ Aug 27 2012, 15:35) *
Вот с BSl сейчас и разбираюсь. По инстукции прошил МК на launchpad прогой, которая будет осуществлять этот интерфейс.. Далее следует подключить launchpad к целевому MK и работать через проги BSLDEMO2 или BSLScripter (уже скачал). Вот теперь пытаюсь разобраться как с ними работать.. может уже кто с ними имел дело?? или просто помогите разобраться какую строчку ляпнуть чтобы закинуть заветную прошивку?)

вообще-то bsl программатор это просто обычный последовательный порт, котроый еще и ножками RTS, DTR дергает процессор за ресет и ,вроде бы, за TEST или TCK чтобы в режим программирования перейти, соответственно само железо есть просто переходник из rs232 в TTL, то есть можно раскурочить любой USB-to-serial за $2 вытащить из него наружу rx,tx,rts,dtr, ДО преобразователя уровней в RS232 и программатор готов.
ПО которым шить: google-> MSPFET
еще пользовался тем что идёт в составе с MSPGCC тоже вроде работало.
brucemax
Цитата(_pv @ Aug 27 2012, 12:00) *
вообще-то bsl программатор это просто обычный последовательный порт, котроый еще и ножками RTS, DTR дергает процессор за ресет и ,вроде бы, за TEST или TCK чтобы в режим программирования перейти, соответственно само железо есть просто переходник из rs232 в TTL, то есть можно раскурочить любой USB-to-serial за $2 вытащить из него наружу rx,tx,rts,dtr, ДО преобразователя уровней в RS232 и программатор готов.
ПО которым шить: google-> MSPFET
еще пользовался тем что идёт в составе с MSPGCC тоже вроде работало.

http://emproj.com/BSL_MSP430 вот здесь нашёл описание BSLDEMO2 и тут же говориться что вместо неё можно юзать гуи-прогу mspfet.. Так если я прошью и соединю launchpad как в http://www.ti.com/lit/an/slaa535a/slaa535a.pdf а потом вместо BSLDEMO2 использую mspfet должно по идее всё получиться.. или я чего-то недопонял?
MrYuran
Цитата(_pv @ Aug 27 2012, 13:00) *
еще пользовался тем что идёт в составе с MSPGCC тоже вроде работало.

Вернее, когда-то шло, года так до 2009
И не вроде, а отлично работало (и продолжает работать)
И в отличие от bsldemo (и даже mspfet) с удовольствием кушает любые форматы - txt, a43, elf.
Причем первые два - в любой кодировке - win/lin (отличается символом конца строки)
brucemax
Цитата(MrYuran @ Aug 27 2012, 12:30) *
Вернее, когда-то шло, года так до 2009
И не вроде, а отлично работало (и продолжает работать)
И в отличие от bsldemo (и даже mspfet) с удовольствием кушает любые форматы - txt, a43, elf.
Причем первые два - в любой кодировке - win/lin (отличается символом конца строки)

не получиться с mspfet попробую что было с mspgcc)
MrYuran
Цитата(brucemax @ Aug 27 2012, 13:38) *
не получиться с mspfet попробую что было с mspgcc)

Должно получиться.
Нажмите для просмотра прикрепленного файла
Обратите внимание на выделенные галки.
В зависимости от схемы адаптера они могут отличаться.
brucemax
Цитата(MrYuran @ Aug 27 2012, 13:05) *
Должно получиться.
Обратите внимание на выделенные галки.
В зависимости от схемы адаптера они могут отличаться.

Для корефеев вопрос видимо глупый, но где можно узнать об этой зависимости?
_pv
Цитата(brucemax @ Aug 27 2012, 18:25) *
Для корефеев вопрос видимо глупый, но где можно узнать об этой зависимости?

эти галочки я так понимаю для тех адаптеров, где преобразование сигналов RTS, DTR из +-12В rs232 в 0..3В ttl сделано просто резистивным делителем/ограничением на стабилитроне и логический сигнал не инвертируется.
MrYuran
Цитата(brucemax @ Aug 27 2012, 15:25) *
Для корефеев вопрос видимо глупый, но где можно узнать об этой зависимости?

Проще перебрать все варианты, благо их всего 4 sm.gif

А если хочется с пониманием, то посмотреть, какие сигналы инвертируются.
У меня адаптер сделан на max3222 (COM-UART), TST (на самом деле TCK) заведен через преобразователь и поэтому инвертируется.
RST взят напрямую с RS-232 через пассивную цепочку и соответственно не инвертирован. Вот и вся наука.
В случае с USB-мостами скорее всего никакой инверсии не нужно. Или наоборот, оба проинвертировать.
rezident
Цитата(brucemax @ Aug 27 2012, 16:25) *
Для корефеев вопрос видимо глупый, но где можно узнать об этой зависимости?

Для этого нужно сравнить вашу схему интерфейса BSL с оригинальной схемой из документа slaa096 (сейчас он под именем slau319 - MSP430 Programming Via the Bootstrap Loader User's Guide идет). Программа Курта писалась под оригинальную схему BSL из этого документа.
brucemax
Всем огромное спасибо! Разобрался. =)
P.S. Самое обидное то, что контроллер в смд-корпусе.. худо-бедно выведены ноги для JTAGa, а вот ножки для BSL - одна идёт куда-то под корпус, а вторая внутрь платы. Слушал-слушал куда они могут выходить, но так и не нашёл. То есть без покупки/пайки JTAG программатора видимо не обойтись. Или подпояться сразу к ножкам, но это видимо полное извращение.
zhevak
Цитата(brucemax @ Aug 28 2012, 12:52) *
То есть без покупки/пайки JTAG программатора видимо не обойтись. Или подпояться сразу к ножкам, но это видимо полное извращение.

но почему же сразу -- "извращение"? Нормальная операция, тем более -- одноразовая.

Я как-то в свое время подпаявши к ножкам проца тонкий МГТФ (0.06) восстановил свисток (eZ430), который маздай успешно прошил вместо моего девайса. Я, правда, тогда брал у ребят из одной фирмы на пару дней их BSL-программатор. А потом, когда веселая компания Шindows и крякнутый IAR начали чуть-ли ни каждый месяц устраивать обструкции в работе, я спаял из 74HC244 и кучки резисторов-транзисторов простенький JTAG-программатор, который подключался к параллельному порту. Благо на плате свистка имеются дырочки для его программирования через JTAG. (Ну а потом, когда масдай, вирусня, кряки меня совсем достали, снес все нахрен и пересел на Бубунту. С тех пор горя не знаю. Но это уже не интересно рассказывать. Каждый мастер выбирает сам себе инструмент.)

Так что, не комплексуйте! Один раз -- не 3.14дорас. Главное двигаться, в процессе движения сам поймете что правильно, а что нет. Личный опыт важнее чьей-то теории.
MrYuran
Цитата(brucemax @ Aug 28 2012, 10:52) *
Слушал-слушал куда они могут выходить, но так и не нашёл.

А схемы к ланчпаду разве нету? Да и к ножкам 2 проводка подпаять - даже у меня на TQFP64 получается, поборов дрожь конечностей sm.gif
Тем более не подряд, а даже на разных сторонах.
Зато из любого положения, в голом поле, из консольки, из батника, без никаких иаров и прочей мути можно прошиться и любую обезьянку научить за пять минут

Монтажницы однажды опытную партию перепахивали - по 4 проводочка на каждой к ногам паяли.
Правда, не МГТФом, а эмалированными проводочками - вообще без проблем.
brucemax
Цитата(zhevak @ Aug 28 2012, 10:23) *
Так что, не комплексуйте! Один раз -- не 3.14дорас. Главное двигаться, в процессе движения сам поймете что правильно, а что нет. Личный опыт важнее чьей-то теории.

Спасибо=) Если разрешать - попробую (плату принесли на работу со слетевшей прошивкой, но сказали, что можно баловаться как хочу=))

Цитата(MrYuran @ Aug 28 2012, 11:18) *
А схемы к ланчпаду разве нету? Да и к ножкам 2 проводка подпаять - даже у меня на TQFP64 получается, поборов дрожь конечностей sm.gif
Тем более не подряд, а даже на разных сторонах.
Зато из любого положения, в голом поле, из консольки, из батника, без никаких иаров и прочей мути можно прошиться и любую обезьянку научить за пять минут
Монтажницы однажды опытную партию перепахивали - по 4 проводочка на каждой к ногам паяли.
Правда, не МГТФом, а эмалированными проводочками - вообще без проблем.

Так а схема к ланчпаду мне и не требуется) Целевой мк на другой плате (документация на которую отсутствует), а лаунчпад просто в роли bsl-программатора.
После таких напутственных слов грех не попробовать)
controller_m30
Прошиваю через LaunchPad по SBW: MSP430F5xxx, MSP430G2xxx, MSP430F2xxx, CC430F6xxx. В последнем случае ещё и прога SmartRF Studio видит контроллер и регистры встроенного трансивера - очень удобно.
А также отлаживаются и прошиваются перечисленные контроллеры из IARа без проблем.

Перешить LaunchPad для BSL я не пробовал, но вот мой вариант программирования через BSL (вдруг что-то пригодится при прошивании LaunchPadом... да и вообще rolleyes.gif ):
прошиваю MSP430F412 через BSL, с помощью преобразователя USB-->UART CP2103, и программы MSPFET.
Сигналы CP2103 соединяю как в этой табличке:

Взято отсюда: http://www.levap.ru/26#more-26

в MSPFET настройки такие:


настройки COM-порта в диспетчере устройств такие:


Ну и на всякий случай, плата переходника USB-->UART (плата односторонняя, не используемые для BSL выводы просто оставляю в воздухе):
brucemax
Цитата(controller_m30 @ Aug 28 2012, 18:24) *
Прошиваю через LaunchPad по SBW: MSP430F5xxx, MSP430G2xxx, MSP430F2xxx, CC430F6xxx. В последнем случае ещё и прога SmartRF Studio видит контроллер и регистры встроенного трансивера - очень удобно.
А также отлаживаются и прошиваются перечисленные контроллеры из IARа без проблем.
Перешить LaunchPad для BSL я не пробовал, но вот мой вариант программирования через BSL (вдруг что-то пригодится при прошивании LaunchPadом... да и вообще rolleyes.gif ):
прошиваю MSP430F412 через BSL, с помощью преобразователя USB-->UART CP2103, и программы MSPFET.

Спасибо за ответ!



Ребята вроде получилось! Создал в ССS тестовый примерчик (пустой цикл) попробывал прошить.. но если в mspfet нажимаю на кнопку "программировать", то пишет ошибку "Защищенная функция. Пароль не подходит". Покрутил в настройках инвертирование - тоже самое. А потом нажал кнопочку "авто" и всё заиграло=)
Довольный как слон! Ещё раз спасибо)
rezident
Цитата(controller_m30 @ Aug 28 2012, 20:24) *
Сигналы CP2103 соединяю как в этой табличке:

Взято отсюда: http://www.levap.ru/26#more-26

Табличка неполная/не полностью корректная. При подключении BSL нужно пользоваться не этой табличкой, а datasheet-ом на конкретный кристалл и руководством MSP430 Programming Via the Bootstrap Loader User's Guide (slau319), ссылку на который я дал ранее.
brucemax
Встал вопрос, чтобы считать прошивку с контроллера. Наживаю "read" и оно выдаёт:

16:12:58 Device: MSP430F149. Info(0x1000-0x10FF), Main:(0x1100-0xFFFF)
16:12:59 Чтение памяти устройства...
16:12:59 Защищенная функция. Пароль не подходит

Что это значит не подскажите?? 05.gif
_pv
Цитата(brucemax @ Sep 11 2012, 19:13) *
Встал вопрос, чтобы считать прошивку с контроллера. Наживаю "read" и оно выдаёт:
Что это значит не подскажите?? 05.gif

для того чтобы прочитать прошивку надо послать первые 16 вроде байт (таблицу векторов прерываний) в качестве пароля.
насколько помню в MSPFET, возможно в более старых версиях, были с этим какие-то грабли.
как-то была задача в готовых устройствах надо было сначала прочитать часть флэша и исходя из прочитанного, по своему эту часть поправить, MSPFET с задачей не справился, пришлось шить тем что идёт с MSPGCC.
controller_m30
Цитата(brucemax @ Sep 11 2012, 16:13) *
Встал вопрос, чтобы считать прошивку с контроллера. Наживаю "read" и оно выдаёт:

16:12:58 Device: MSP430F149. Info(0x1000-0x10FF), Main:(0x1100-0xFFFF)
16:12:59 Чтение памяти устройства...
16:12:59 Защищенная функция. Пароль не подходит

Что это значит не подскажите?? 05.gif
Это значит, что нужен 32-байтовый пароль, который соответствует значению адресов FFE0h–FFFFh (там, где вектора сброса и прерываний). Это такая фича у интерфейса BSL. Без пароля можно только стирать память (Full Erase) и вводить пароль biggrin.gif
Mspfet после стирания "знает", что пароль равен FFh...FFh потому прошивка с стиранием проходит без проблем. А вот как подсунуть mspfet пароль, чтоб он мог прочитать данные... это я не знаю laughing.gif самому интересно.
brucemax
Цитата(_pv @ Sep 11 2012, 17:13) *
для того чтобы прочитать прошивку надо послать первые 16 вроде байт (таблицу векторов прерываний) в качестве пароля.
насколько помню в MSPFET, возможно в более старых версиях, были с этим какие-то грабли.
как-то была задача в готовых устройствах надо было сначала прочитать часть флэша и исходя из прочитанного, по своему эту часть поправить, MSPFET с задачей не справился, пришлось шить тем что идёт с MSPGCC.

А как послать эти байты в качетсве пороля?
С помощью того, что идёт с MSPGCC возможно считать прошивку?

Цитата(controller_m30 @ Sep 11 2012, 17:29) *
Это значит, что нужен 32-байтовый пароль, который соответствует значению адресов FFE0h–FFFFh (там, где вектора сброса и прерываний). Это такая фича у интерфейса BSL. Без пароля можно только стирать память (Full Erase) и вводить пароль biggrin.gif
Mspfet после стирания "знает", что пароль равен FFh...FFh потому прошивка с стиранием проходит без проблем. А вот как подсунуть mspfet пароль, чтоб он мог прочитать данные... это я не знаю laughing.gif самому интересно.

Спасибо за понятное объяснение =)

Цитата(MrYuran @ Aug 27 2012, 13:05) *
Обратите внимание на выделенные галки.
В зависимости от схемы адаптера они могут отличаться.

Странно. Попробовал поменять в этих пунктах значения - всё равно шьёт.. laughing.gif
MrYuran
Цитата(brucemax @ Sep 12 2012, 10:30) *
А как послать эти байты в качетсве пороля?
С помощью того, что идёт с MSPGCC возможно считать прошивку?

msp430-bsl -h
Код
...
  -P, --password=file   Specify a file with the interrupt vectors that
                        are used as password. This can be any file that
                        has previously been used to program the device.
                        (e.g. -P INT_VECT.TXT).
...

Найти этот пароль можно в файле прошивки, обычно в самом конце.
Типа того:
Цитата
@ffe0
66 17 66 17 2a 54 a2 54 66 17 de 31 ae 31 50 38
e6 53 6e 54 66 17 b2 2e 88 28 32 27 66 17 00 11
q


Цитата(controller_m30 @ Sep 11 2012, 18:29) *
А вот как подсунуть mspfet пароль, чтоб он мог прочитать данные... это я не знаю laughing.gif самому интересно.

Попробуйте у автора спросить.
Здесь он под ником Kurt
brucemax
Цитата(MrYuran @ Sep 12 2012, 10:23) *
Найти этот пароль можно в файле прошивки, обычно в самом конце.

Так может вы мне подскажите последовательность действий для считывания прошивки? rolleyes.gif
MrYuran
Цитата(brucemax @ Sep 12 2012, 12:25) *
Так может в мне подскажите последовательность действий для считывания прошивки? rolleyes.gif

Откуда? С жесткого диска?
Берем блокнот, открываем файл прошивки...

А если из msp-шки, то
msp430-bsl -P INT_VECT.TXT
, а потом уже можно читать, возможно даже mspfet'ом. Только чтобы без промежуточных ресетов.
Ну а если векторов у вас нет, то адью.

Почитайте таки про BSL, там много интересных возможностей при использовании защищенных команд.
Например, можно стирать и писать не всю флешь, а отдельный сегмент.
brucemax
Спасибо!
Цитата(MrYuran @ Sep 12 2012, 11:42) *
Откуда? С жесткого диска?
Берем блокнот, открываем файл прошивки...

Ну не всё так запущено! =)
MrYuran
Попробовал сам сделать.
Болт!
Нужно, чтобы защищенная команда сопровождалась ключом, а команды "read" в msp430-bsl нет.

Зато есть кое-что в mspfet (если отказаться на время от визуальных рюшечек)

Цитата
Read out to file with BSL password
mspfet +r "psw.txt" -o "dump.hex" -BSL=COM1


Попробовал.
Цитата
d:\work\...\ mspfetcon +r "password.txt" -o "dump.hex" -BSL=COM1
Command line programming utility MSPFET v1.6.1014
© 2010 Kurt

Loading TI TXT file "password.txt"...
Load 32 bytes.
Initialize...
Device: DEFAULT. Info(0x1000-0x10FF), Main:(0x1100-0xFFFF)
Reading device memory..
Synchronization error


В целом вроде работает.
А то, что ошибка... похоже, из-за запуска программы блокируется линия TX_BSL, которая у меня соединена с одним из UARTов для отладочных целей.
Естественно, хирургическими операциями я сейчас заниматься не буду, попробуйте у себя повторить.
_pv
Цитата(MrYuran @ Sep 12 2012, 18:30) *
Попробовал сам сделать.Болт!
Нужно, чтобы защищенная команда сопровождалась ключом, а команды "read" в msp430-bsl нет.

не, точно получалось читать, правда не помню как.

Цитата(MrYuran @ Sep 12 2012, 18:30) *
В целом вроде работает.
А то, что ошибка... похоже, из-за запуска программы блокируется линия TX_BSL, которая у меня соединена с одним из UARTов для отладочных целей.
Естественно, хирургическими операциями я сейчас заниматься не буду, попробуйте у себя повторить.

а вот с mspfetом были какие-то непреодолимые грабли.
rezident
Цитата(MrYuran @ Sep 12 2012, 17:30) *
Зато есть кое-что в mspfet (если отказаться на время от визуальных рюшечек)

Вовсе не нужно отказываться. Загрузите файл, содержащий пароль. Затем читайте Flash. MspFet при чтении будет использовать пароль из загруженного вами файла. Сам исходный файл с паролем не испортится, если только вы не сохраните считанную прошивку под тем же именем.
MrYuran
Цитата(rezident @ Sep 12 2012, 23:15) *
Вовсе не нужно отказываться. Загрузите файл, содержащий пароль. Затем читайте Flash. MspFet при чтении будет использовать пароль из загруженного вами файла. Сам исходный файл с паролем не испортится, если только вы не сохраните считанную прошивку под тем же именем.

Не знаю, что у вас за версия, у меня вроде крайняя.

Цитата
08:52:58 Загружено 61440 байт.
08:53:03 Инициализация...
08:53:03 Device: MSP430F149. Info(0x1000-0x10FF), Main:(0x1100-0xFFFF)
08:53:03 Чтение памяти устройства...
08:53:03 Защищенная функция. Пароль не подходит


Более того, Verify тоже не проходит, если запускать отдельной командой, а не в блоке Auto (стирание/программирование/верификация)

rezident
Цитата(MrYuran @ Sep 13 2012, 09:48) *
Не знаю, что у вас за версия, у меня вроде крайняя.
Более того, Verify тоже не проходит, если запускать отдельной командой, а не в блоке Auto (стирание/программирование/верификация)

Хм. Действительно с этой версией не работает. Ни в GUI-версии, ни в консольной cranky.gif А раньше работало. С какой именно версией программы или с какой версией dll я сейчас даже и не вспомню. Очень давно (5+ лет назад) это было. laughing.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.