Перейти к содержанию
    

AT430 Программатор/Терминал для MSP430

В результате реализации желания описанного здесь http://electronix.ru/forum/index.php?showtopic=47362

сделать именно BSL програматор на этом Адаптере не удалось, зато появился универсальный программатор AT430 'как принято' :) работающий через MSP430.DLL. Пока он делался для себя любимого, но если кого заинтересуют дополнительные фичи, то можно подобавлять.

AT430 Программатор и терминал в одном флаконе - идеально ложится на Адаптеры типа
eZ430-xxx содержащие в себе и FET и USB-UART.
Должен работать с любыми TI совместимыми Адаптерами, поскольку использует HIL/MSP430.DLL
Пока не работает с BSL, но со временем добавлю.
По командной строке в части специфики MSP430 старался придерживаться совместимости
с "MSPFetCon" - "программатором Курта", только 'f' заменил на 'fuse', от греха подальше.
В остальном, придерживался AT200 - терминала аналогичного назначения для LPC2xxx.

AT430 [COMx|AUTO|USB] [-options] +<actions> [source_file] +r <out_file>

    COMx - конкретный COM порт Терминала
    AUTO - поиск первого свободного порта в диапазоне COM21...COM1
    USB  - .. в диапзоне COM21...COM5
Список COM портов можно получить:
AT430 -pl
Если в качестве этого первого параметра не указать имя/алиас COM порта,
то AT430 работает, как просто программатор.

Options:
    -FET TIUSB|HIDx|LPTx
Имя порта/девайса FET Адаптера. Список Адаптеров можно получить
AT430 -fl
    TIUSB - поиск первого/единственного свободного Адаптера на USB;
    HIDx  - указание конкретного USB-HID Адаптера, если их несколько.
    LPTx  - соответственно LPT порт, для Адаптеров подключаемых через LPT.

    -res <0|1|2|4|7>   reset device (default 7-all resets)
Отключение сброса или выбор одного из четырех способов сброса контролера:
    0 - отключить reset;
    1 - Soft reset;
    2 - Hard RST/NMI reset;
    4 - Power Of/On reset;
    7 - Все разом, кто-нибудь да сработает :)

    -i                 full chip Info
Подробная информация о чипе

    -detect            only detect used MSP430 chiptype
Только определить чип и выйти из программатора

    -man               disable auto programming (manual-Key F9)
Отключить программирование чипа при запуске программатора. Потом из терминала можно будет
запустить вручную по [F9]

    -baud <baudrate>   set Terminal baudrare
    -oem               set OEM code page (default 1256) for Terminal
    -l [logname.txt]   Terminal logging to at430og.txt or logfie name
    -anykey <0|1|2>    set 'AnyKey' request to Never|On error|Always (2)
Установка наличия запроса нажать AnyKey при выходе.
    -debug <0...3>     set print/debug level (default '2')
    -pl                list of COM ports
    -fl                list of FET ports

Actions: (only the specified actions are executed)
  e     Erase All   - стирание всей основной Flash
  b     Blank check - проверка на чистоту
  p     Programing  - программировние, должен быть указан HEX/TI-TXT файл с прошивкой
  v     Verify - верификация процесса программирования
  r     Read device - считать прошивку в HEX файл;
  o     Power off   - отключтить питание, при выходе из Программатора, естественно,
    если Адаптер поддерживает;
  fuse  Blow fuse   - активизация защиты/отключение JTAG.

В приложении утилита и на всякий случай свежие (поддержка 'MSP430F5xx') DLL-ки.

 

P.S.

Приложение удалил, поскольку обновление появилось. Ничего критического, просто фичи добавились.

Изменено пользователем zltigo

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо! Скачал. Но к сожалению, более-менее тщательно потестировать смогу только на следующей неделе.

Кстати, НЕмноготомные архивы лучше желательно в ZIP паковать.

Глянув бегло. А пресс ани кей можно сделать опцией?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Глянув бегло. А пресс ани кей можно сделать опцией?

Так это и есть опция

-anykey <0|1|2> set 'AnyKey' request to Never|On error|Always

 

Вечерком еще сделаю переключение интерфейса между

- 4 Wire JTAG protocol

- 2 Wire (Spy-bi-wire) JTAG protocol

- 2 Wire Devices accessed by 4wire JTAG

 

Полагаю, это и было одной из текущих проблем для новых девайсов?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так это и есть опция

-anykey <0|1|2> set 'AnyKey' request to Never|On error|Always

Дык если эту опцию явно не задаешь, то выскакивает этот эникей. Хотелось бы без него по умолчанию.

Вечерком еще сделаю переключение интерфейса между

- 4 Wire JTAG protocol

- 2 Wire (Spy-bi-wire) JTAG protocol

- 2 Wire Devices accessed by 4wire JTAG

 

Полагаю, это и было одной из текущих проблем для новых девайсов?

Это про Куртовский программатор? Угу. SBW там вообще не работал и не выбирался.

А что такое "2 Wire Devices accessed by 4wire JTAG"? Я вроде не встречал его описания.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Дык если эту опцию явно не задаешь, то выскакивает этот эникей. Хотелось бы без него по умолчанию.

Ну тут уж из многих зол меньшее :( масса народу вообще (опыт AT200) запускало, консолька схлопывалась и "типа ничего не работает" - вот и сделал по умолчанию. Пошел, так сказать, на поводу.

Это про Куртовский программатор? Угу. SBW там вообще не работал и не выбирался.

Не выбирается, но работает "по умолчаню" для Адаптеров, которые больше ничего и не умеют.

А что такое "2 Wire Devices accessed by 4wire JTAG"? Я вроде не встречал его описания.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну тут уж из многих зол меньшее :( масса народу вообще (опыт AT200) запускало, консолька схлопывалась и "типа ничего не работает" - вот и сделал по умолчанию. Пошел, так сказать, на поводу.
На поводу у кого? У ламеров, не умеющих с консольными приложениями в GUI работать? Специально для них можно cmd-ник оформить, где последней строкой pause будет стоять.

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

Полагаю, что какой-то вариант использования каких-то вариантов JTAG адапторов. Сам протокол полагаю обычный двухпроводный. Информации у меня нет.
А откуда вообще эта строка всплыла? Я в реальных кристаллах только 4-х проводный JTAG и SBW встречал. И в описаниях типа slaa138 тоже только две этих схемы подключения, потому и недоумение у меня возникло. Если это про MSP-FET430PIF, то он вроде SBW эмулировать не умеет. Или нет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На поводу у кого? У ламеров, не умеющих с консольными приложениями в GUI работать? Специально для них можно cmd-ник оформить, где последней строкой pause будет стоять.

И как-то сделать так, что-бы без него не расползалось и не запускалость :). Короче, не ламеры напишут скрипт в котором все будет как хотят. Утилита AT200 используется самыми разными людьми и в производстве при эксплуатации. Поверьте, это была необходимость :(.

А что это за адаптер, который "больше ничего не умеет"?

Например тот, с которого все у меня началось MSM-eZ430U.

А откуда вообще эта строка всплыла?

Из потрохов. Полагаю, что это и есть переключение в режим эмуляции.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поверьте, это была необходимость :(.
Ок. Пускай будет так.

Например тот, с которого все у меня началось MSM-eZ430U.
Ну дык EZ430 это UIF слегка урезанный.

Из потрохов. Полагаю, что это и есть переключение в режим эмуляции.
Из потрохов DLL-ки?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Из потрохов DLL-ки?

Там 'это' фигурирует, как SPYBIWIREJTAG

А обычный это SPYBIWIRE

Ну а JTAG это просто JTAG :).

Будет возможность работать по умолчанию, и принудительно инициализировать одним из трех протоколов. Если есть разное железо - попробутете и расскажите :)

 

 

Уже :) V0.01.1

1. Немножко подчистил;
2. Добавил на [F5] Reset;
3. добавил выбор протокола:
    -sbw [0|1|2]       SBW/JTAG interface (0-JTAG,1-SBW,2-SBWJ)
Принудительный выбор протокола:
    0 - 4-Wire JTAG protocol;
    1 - 2-Wire (Spy-bi-wire) protocol. -sbw эквивалентно -sbw 1;
    2 - 2-Wire Devices accessed by 4wire JTAG.
4. Документировал:
    -crlf              CR and LF transparent, otherwise CR=CR+LF and LF=Off

 

"Крайние" MSP430.DLL и HIL.DLL от TI лежат в отдельном архиве.

Изменено пользователем zltigo

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Обновился до Version 0.02.1.-> 0.02.2

Несколько вспомогательных опций типа списка поддерживаемых чипов, иконка для красоты :) и подчистка внешнего вида. Опция "ускоренного" программирования. А вообще поддержка стирания/записи Info Memory в том числе и для MSP430F2xx. Считывание прошивки. Управление питанием контроллера.

Использоване:

AT430 [COMx|AUTO|USB] [-options] +<actions> [source_file] +r <out_file>

    COMx - конкретный COM порт Терминала
    AUTO - поиск первого свободного порта в диапазоне COM21...COM1
    USB  - .. в диапазоне COM21...COM5

Если в качестве этого первого параметра не указать имя/алиас COM порта,
то AT430 работает, как просто программатор.

Actions: 
  e     Стирание всей основной Flash;
  b     Проверка на чистоту;
  p     Программировние, должен быть указан HEX/TI-TXT файл с 
        прошивкой;
  v     Верификация процесса программирования;
  r     Считать прошивку в HEX файл;
  x     Стирание InfoMemory ( дополнительно см. опцию -ia );
  i     Активировать операции записи InfoMemory в противном случае
        эта память запрограммирована не будет.
  o     Power off   - отключитить питание, при выходе из Программатора; 
        Естественно, если Адаптер поддерживает;
  fuse  Blow fuse   - активизация защиты/отключение JTAG.

Options:
    -FET TIUSB|COMx|HIDx|LPTx
Имя порта/девайса FET Адаптера. 
Список FET портов/девайсов можно получить:
AT430 -fl

    TIUSB - поиск первого/единственного свободного Адаптера на USB;
    HIDx  - указание конкретного USB-HID Адаптера, если их несколько.
    COMx  - указание USB-VCP Адаптера.
    LPTx  - соответственно LPT порт, для Адаптеров подключаемых через LPT.
По умолчанию используется 'TIUSB'.

    -sbw [0|1|2]       SBW/JTAG interface (0-JTAG,1-SBW,2-SBWJ)
Принудительный выбор протокола:
    0 - 4-Wire JTAG protocol;
    1 - 2-Wire (Spy-bi-wire) protocol. -sbw эквивалентно -sbw 1;
    2 - 2-Wire Devices accessed by 4wire JTAG.

    -ia
Для MSP430F2xx дополнительно разрешить стирание 'Info-A' сегмента 
Flash (вместе с DCO). Сама процедура стирания при этом вызывется через 'Actions'.

            -vcc <X.X/ext>
Задать напряжение питания от Адаптера, или указать 'ext' для контроля
внешнего источника питания. 

    -res <0|1|2|4|7>
Отключение сброса после программирования или выбор одного из четырех 
способов сброса контролера:
    0 - Не использовать Reset;
    1 - Soft Reset;
    2 - Hard RST/NMI Reset;
    4 - Power Of/On Reset;
    7 - Все разом. Значение по умолчанию.

    -f     
или
    -fast      
Отключается сохранение содержимого RAM при операциях с Flash. Теоретически 
работает несколько быстрее. 

    -info        
Подробная информация о чипе.

    -detect   
или
    -det      
Только определить чип и выйти из программатора.

    -baud <baudrate>   set Terminal baudrare
    -oem               set OEM code page (default 1256) for Terminal
    -crlf              CR and LF transparent, otherwise CR=CR+LF and LF=Off
    -l [logname.txt]   Terminal logging to at430log.txt or logfie name

    -a      <0|1|2>    set 'AnyKey' request to Never|On error|Always (2)
или
    -anykey 
Установка наличия запроса нажать 'AnyKey' при выходе. Отключить, только 
при ошибках или всегда. Значение по умолчанию - 'всегда'.

    -m 
или  
    -manual            
Отключить программирование чипа при запуске программатора. Потом из 
терминала можно будет запустить вручную по 'F9'. К слову, для сброса 
девайса из терминала 'F5'. Для вызова последней набранной командной строки для 
редактирования 'Ctrl+]'. Выход 'Ctrl+X' или 'F10'.

    -debug <0...4>
Уровень детализации сообщений (по умолчанию  2). 

    -pl       
Выдать список СOM портов.

    -fl       
Выдать список HID/VCP COM портов FET Адаптеров.

    -list
Получить список поддерживаемых MSP430.DLL чипов.

at430_022.rar

Изменено пользователем zltigo

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Version 0.02.3

Добавился ключик:

    --dll
Отключить контроль за версией MSP430.DLL/Firmware

AT430_023.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хотел попытать программку, но не получилось. Оказывается BSL она пока не поддерживает :( А у меня JTAG в серийных проектах отсутствует. Только шесть пинов под BSL выведено. :cranky:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хотел попытать программку, но не получилось. Оказывается BSL она пока не поддерживает :(

О чем и было написано во первЫх строках :( Буду делать обязательно - меня для раздачи в качестве сервисной утилиты на объекты это очень интересует, но пока руки не доходят сделать адаптерчик, а ммеющиеся у меня в изобилии eZ430U просто приспособить не удалось. Вот и выполнив свою программу минимум сижу сейчас с четырьмя консольками и eZ430U - вожусь с RF сеточкой.

А что, ничего не BSL-ого под руками нет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...