Ремонт eZ430 и LaunchPad

Два дня назад у меня издох LaunchPad…

(На самом деле он не издох. Это мне показалось, что он издох.)

А еще у меня лежала целая горсть убитых eZ430. Так сказать, результат бурного секса пиратской Винды и «пролеченного», но недолеченного, IAR-а. Собственно, этот знаменитый мегасекс-в-троем вынудил меня покинуть этот аморальный союз. Ну сколько ж можно было терпеть их издевательства!

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

Начал с LaunchPad.

На плате рядом с микроконтроллером MSP430F1612 имеются отверстия. Судя по всему — это отверстия для подключения программатора. Схема на LaunchPad нашлась довольно-таки быстро на сайте производителя (http://www.ti.com/lit/ug/slau318/slau318.pdf). Схема подтвердила мои догадки и в полной уверенности двинулся вперед на проблему.

Я взял в руки паяльник и припаял плоский кабель непосредственно к этим отверстиям на плате LaunchPad. Второй конец кабеля я подключил в разъем программатора MSP-FET430UIF.

Скажу сразу, что сначала я так подключил исправные устройства (LaunchPad, eZ430), скопировал с них прошивки и сохранил в файлах. А потом я точно так же подключил неисправные устройства и из файлов восстановил их прошивки.

Отверстия сигналов у LanchPad-а и eZ430 расположены рядом с процом. Отверстия же GND и питания +5V и у того, и у другого устройства находятся рядом с разъемом USB.

Как потом выяснилось питание на устройство лучше подавать через этот USB-разъем с компа обычным USB-шнурком, а не вытягивать его (питание) из программатора. Так что из этих двух отверстий я использовал только одно — GND.

Сначала нужно подключить к компу USB-кабель программатора MSP-FET430UIF. И только потом USB-кабель устройства.

После подключения кабелей можно выполнить команду (в консоли, разумеется!) и посмотреть, какие устройства определились. Это будет выглядеть примерно так:

alex@zhevak:~$ lsusb
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 031: ID 0451:f430 Texas Instruments, Inc. MSP-FET430UIF JTAG Tool
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Для полной уверенности следует еще воспользоваться командой

alex@zhevak:~$ dmesg | tail
[19884.721178] ti_usb_3410_5052 3-2:1.0: TI USB 3410 1 port adapter converter detected
[19885.308051] usb 3-2: reset full speed USB device using uhci_hcd and address 30
[19885.452024] usb 3-2: device firmware changed
[19885.452062] ti_usb_3410_5052: probe of 3-2:1.0 failed with error -5
[19885.452142] usb 3-2: USB disconnect, address 30
[19885.564053] usb 3-2: new full speed USB device using uhci_hcd and address 31
[19885.795134] ti_usb_3410_5052 3-2:1.0: TI USB 3410 1 port adapter converter detected
[19885.795165] ti_usb_3410_5052: probe of 3-2:1.0 failed with error -5
[19885.798636] ti_usb_3410_5052 3-2:2.0: TI USB 3410 1 port adapter converter detected
[19885.798875] usb 3-2: TI USB 3410 1 port adapter converter now attached to ttyUSB0

Как можно видеть, в последней строке указано имя устройства — ttyUSB0. Это имя нам понадобится далее при запуске mspdebug.

Однако, давайте запустим mspdebug. (Я еще раз напомню, что совсем необязательно набирать полностью наименования — mspdebug, /dev/ttyUSB0 и другие — почаще пользуйтесь клавишей Tab.)

alex@zhevak:~$ mspdebug -j -d /dev/ttyUSB0 uif
MSPDebug version 0.16 - debugging tool for MSP430 MCUs
Copyright (C) 2009-2011 Daniel Beer
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Trying to open UIF on /dev/ttyUSB0...
Initializing FET...
FET protocol version is 20304002
Configured for JTAG (2)
Set Vcc: 3000 mV
Device ID: 0xf123
Device: MSP430F1612
Code memory starts at 0x2500
Number of breakpoints: 2

Available commands:
=         delbreak  gdb       load      opt       reset     simio
alias     dis       help      locka     prog      run       step
break     erase     hexout    md        read      set       sym
cgraph    exit      isearch   mw        regs      setbreak

Available options:
color           gdb_loop        iradix
fet_block_size  gdbc_xfer_size  quiet

Type "help " for more information.
Press Ctrl+D to quit.

(mspdebug)

Поскольку у нас к программатору подключено устройство-донор, то мы должны выполнить в mspdebug команды по копированию прошивок в файлы.

В обоих устройствах (LaunchPad и eZ430) используется один и тот же камень — MSP430F1612. Поэтому процесс копирования будет одинаковый для обоих устройств. Различаться будут только названия файлов.

Прежде чем копировать, давайте вспомним карту распределения памяти MSP430F1612.

Адрес Размер Тип Назначение
 0000-000F  16  SFR
 0010-00FF  240  8-bits  Peropherals
 0100-01FF  256  16-bits Peropherals
 0200-09FF  2k  RAM
 0C00-0FFF  1k  ROM Bootloader
 1000-10FF  256 Flash Information Memory
 1100-18FF  2k  RAM  Mirrored from 0200
 1900-24FF  3k RAM Extended
 2500-FFFF 55k Flash

Нам всю память копировать не нужно. Я скопировал только три области: загрузчик, информационную память и, собственно, программную память.

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

Вот эти команды для копирования памяти в файлы:

hexout 0x2500 0xDB00 LaunchPad.hex
hexout 0x1000 0x0100 LaunchPad.info.hex
hexout 0x0C00 0x0400 LaunchPad.boot.hex

Далее, я вышел из mspdebug (команда exit) и отсоединил устройство-донора. А затем на его место подсоединил ремонтируемое.

В ремонтируемых устройствах я просто посмотрел на состояние флешь-памяти. В eZ430 вся программная память была вытерта (заполнена FF-ами). Только в одном каком-то eZ430 оказалась вытерто всего несколько страниц. Разбираться не стал.

Что касается LaunchPad-а, то в нем память оказалась целой. Я ее скопировал в файл, а потом сравнил файлы с этого и с исправного LaunchPad-а. Абсолютно одинаковые прошивки. Причем не только программная память, а и информационная тоже. Стало быть, закладок нет.

Попутно сравнил прошивку eZ430 с прошивкой LaunchPad. Естественно, имеются отличия.

Однако, заливку в флешь я выполнил соответствующей командой:

prog LaunchPad.hex

Собственно, это всё! Ремонт прошел удачно и очень даже быстро. Дольше морально готовился к ремонту.

Я не знаю, куда бы можно было выложить файлы прошивок для общего доступа. Если можете что-то посоветовать — welcome! А пока, если что, пишите мне лично, буду высылать мылом.

Advertisements

15 responses to “Ремонт eZ430 и LaunchPad

  1. У меня следующий вопрос. Если можно залить прошивку, то можно и просто выпаять феном с ланчпада msp430f1612 и юзать его под свои нужды? Разве там нет пережённых фьзов или что-то такого?
    Возможно, я просто недопонял суть процесса, так как начал программировать микроконтроллеры не так давно, поэтому прошу камнями не кидаться.

  2. ну дык 1612 стоит > 500р. Это во-первых. А во вторых у меня уже 2 испорченных лаунчпада (закоротил по неосторожности VCC на GND), которые валяются как хлам. Может 1612 в них и не восстановишь, но попробовать стоит. Меня почему-то уверяли что их уже не перепрограммируешь. Я так понимаю, что их спокойно можно перепрошить JTAG-ом?

  3. Здравствуйте! Интересует такой вопрос: можно ли использовать EZ430 в качестве полноценного программатора (не только МК из msp430f20xx серии)?

    • Я не совсем понял выражение — «полноценный программатор».

      Попробую угадать. Вы имеете в виду — с помощью eZ430 заливать программы в другие микроконтроллеры типа AVR, STM32, STM8, LPC и другие? В таком случае ответ будет — однозначно «нет».

      Если Вы хотите применять eZ430 только для МК с ядром MSP430, то однозначно ответить нельзя. В серии MSP430 есть МК, у которых интерфейс SBW имеется, и есть такие, у которых его нет. Поэтому, какие-то МК будут поддерживаться, а какие-то нет.

      Если я не правильно ответил на Ваш вопрос, уточняйте.

  4. У меня в наличии парочка китов ez430-f2013 и ez430-rf2500. Обе платы составные (одна из которых — отладчик ez430). Поменял местами вторые части (на одном модуль с msp430f2274 c трансивером cc2500, на другом msp430f2013). Так вот девайс ez430-rf2500 смог прошить платку msp430f2013, а ez430-f2013 платку с msp430f2274 не осилил.

    Я так понимаю дело в прошивке ez430. Аппаратных ограничений для использования ez430 в качестве программатора msp430 нет. Хотелось бы использовать для программирования всех MSP430..

    Может, Вы занимались этим вопросом?

    Спасибо!

    • 1. Почему у Вас eZ430-f2013 не хочет работать с платой от rf2500 — я сходу не могу сказать. Я знаю, что у них разное количество контактов, но как используются дополнительные контакты на rf2500, я не знаю. Смотреть надо в документацию. Скорее всего, сравнив схемы этих отладочных устройств, можно обнаружить, какие еще сигналы ожидает получить плата rf2500. На форуме инженеров TI кто-то по имени sed вообще словил замыкание на плате под конденсатором. То есть, может быть все, что угодно.

      2. Для программирования _ВСЕХ_ MSP430 с помощью eZ430 — не получится. Эти «свистки» поддерживают только SBW интерфейс. Но у TI имеется целый зоопарк микроконтроллеров, у которых:
      * есть только SBW,
      * есть только JTAG
      * есть и SBW, и JTAG

      Так что, Вы по любому не сможете работать с микроконтроллерами, у которых отсутствует SBW.

      Хотя, судя по ссылке, которую Вы привели, люди уже поднимали вопрос о переделке eZ430 с SBW на полный JTAG. Я никак не могу прокомментировать эти мысли. По моему проще не заниматься «самолечением», а сразу купить готовый UIF. Или же, если у компа имеется параллельный интерфейс, то сваять свой JTAG на базе 74HC244. Схем в интернете полно.

      • Сергей

        Извините за неточность — конечно «всех» с нтерфейсом spy-bi-wire (SBW). Контакты действительно разные:
        ez430-rf2500: 1 — TX, 2 — 3.6 V, 3 — TEST/SBWTCK, 4 — RST/SBWTDIO, 5 — GND, 6 — RX
        ez430-f2013: 1 — 3.6 V, 2 — TEST/SBWTCK, 3 — RST/SBWTDIO, 4 — GND
        Так что с выводами всё нормально! (крайние не нужны для программирования)

        Дело в том, что пару лет назад нашему ВУЗу подарили огромное количество этих «свистков». Вот и возникла идея адаптировать данные устройства к более широкому кругу задач для обучения студентов.

        Сейчас попробую слить прошивку с ez430-rf2500 и залить на ez430-f2013.

        Спасибо за помощь! Расчитываю на Вашу поддержку.

      • Да, все правильно, Сергей. Крайние контакты (TX и RX) не относятся к SBW, поэтому их можно проигнорировать.

        Боюсь, что я Вам не смогу оказать поддержку, на которую Вы рассчитываете. У меня нет в наличие ни свистка eZ430-RF2500, ни MSP430F2274.

        Я располагаю только eZ430-F2013 и LaunchPad. Есть MSP430, которые шли с ними в комплекте и еще со старой работы осталось несколько микросхем MSP430F2001. Это все, чем я располагаю на данный момент.

  5. Этот вопрос обсуждался здесь: http://electronix.ru/forum/lofiversion/index.php/t16352.html
    но решения не нашли

  6. Добрый день! Тоже столкнулся с проблемой гибели ez430-F2013. Мало того, у меня в диспетчере устройств (Windows 7, 64 бит) это устройство не отображается. Не подскажете, это проблема с прошивкой MSP430F1612 или что-то более глубинное, например, не отвечает TUSB3410 или EEPROM? Скиньте, пожалуйста, файл всей прошивки под ez430-F2013. Может, после приезда MSP-FET430UIF получится оживить программатор… (моя почта: Aleksejshch-gmail-com)

    • Извините, Алексей, я не работаю с Виндовсом, и по этой причине не могу ответить на Ваш вопрос. К тому же у меня никогда не было Семерки, я понятия не имею, чего она у себя внутри делает!

      Файлы прошивок выслал на Ваш адрес. Я искренне желаю Вам восстановить eZ430.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s