В разъеме программатора всего 10 пинов, по этому одни и те же пины используются для разных функций в разных интерфейсах. Какие именно для каких я расскажу в этой статье.

Для подключения к разным платам будет удобно сделать один шлейф нехитрой конструкции:

versaloon_cable.jpg

С одной стороны разъем гнездо на шлейф IDC-10(10 контактов (2х5)), с другой обычное контакты BLS/BLD обвернутые прозрачной термоусадочной трубкой. Удобство в том, что назначение конкретного контакта будет определятся цветом. Для того, что бы дальше удобно использовать инструкцию по подключению программатора, важно обжать шлейф в таком порядке цветов:

versaloon_bh10con.jpg

Вот cheatsheet с подключением:

versaloon_connection.jpg

В PDF: Подключение versaloon

Прошивка с помощью программы vsprog

Тут: Установка программного обеспечения для Versaloon в Windows и тут:  Установка программного обеспечения для Versaloon в Linux Ubuntu  я рассказал как  установить программу vsprog в windows и linux. Сейчас я расскажу как ею пользоваться.

Целевой модуль -c (--target-module)

Возможны такие модули (на мой взгляд самые популярные, остальные смотрите в vsprog -h):

  • stm32f1
  • stm32f2
  • stm32f4
  • stm32l1
  • stm8
  • avr8
  • avrxmega
  • msp430
  • c8051f
  • lpc1000
  • lm3s
  • at91sam3
  • at89s5x
  • psoc1
  • sd

Целевая серия -s (--target-series)

Конкретная серия модуля (например у модуля avr8 есть серия atmega128)  у большинства модулей определяется автоматически (Auto-detect). Тем не менее автоопределение серии отсутствует в stm8 и HCS12, и также может отсутствовать в некоторых сериях других модулей, в таком случае необходимо указать серию самостоятельно ключем -s.

Также указывать серию можно просто для уверенности в ваших действиях.

При указании серии целевой модуль можно не указывать, так как серия сама может быть только у конкретного модуля.

Что бы посмотреть какие серии есть у модуля, нужно воспользоваться ключем -S, например:

vsprog -Savr8

Там же можно посмотреть список режимов, которые поддерживает конкретная серия

Режим работы -m (--mode)

  • i - ISP
  • j - JTAG
  • s- SWD или SWIM для stm8

У каждого целевого модуля есть дефолтный режим, который используется если ключ -m не указать. Например у AVR это ISP, у всего поддерживающего JTAG это режим JTAG.

В общем случае у каждого целевого модуля могут быть свои режимы работы, посмотреть их можно в Режимы работы для других модулей можете посмотреть их можно введя команду  vsprog -h, или на официальном сайте http://www.versaloon.com/doc/versaloon/doc_versaloon_programmer_platform.html

Операция -o (--operation)

Выполняет операцию которую нужно выполнить. Записывается в формате -o<символ операции><символы целевой области>

Возможные символы операции:

  • e - erase - очистить
  • w - write - записать
  • r - read - считать в файл указанный ключем -O
  • v - verify - проверить

Возможные символы целевой области:

  • f - flash
  • u - fuse - Фьюзы или другие конфигурационные биты
  • l - lockbit - биты для настройки блокировки
  • e - eeprom или второй банк флеша
  • c - calibration

Если выполняется owf, то нужно указать путь к файлу ключем -I<путь к файлу>

Если выполняется owu, то нужно задать в фьюзы в 16ирчной форме так -tu0x<числа>

Аналогично для owl должно быть указано -tl0x<числа>

Команда программатора -V (--vss-cmd)

Можно выдать напряжение на вывод 3V_OUT (по умолчанию вывод работает как измеритель напряжения):

vsprog -V"tvcc.set 3300"

Можно также посмотреть какое напряжение между выводами 3V_OUT и GND:

vsprog -V"tvcc.get"

Просмотреть все возможные команды программатора можно так:

vsprog -Vvss-help

Примеры

Чтение из attiny2313 и сохранение дампа в файл flash.hex, подключенной по SPI, с питанием от программатора:

vsprog -savr8 -or -O flash.hex -V"tvcc.set 3300"

Запись во flash из файла flash.hex и проверка записанного в attiny2313 , подключенной по SPI, с питанием от программатора:

vsprog -savr8 -owf -ovf -I flash.hex -V"tvcc.set 3300"

Запись lock-битов у attiny2313 и проверка их записи

vsprog -savr8 -tl0xC0 -owl -ovl

Одновременная запись во flash из файла flash.hex и запись  lock-битов:

vsprog -savr8 -tl0xC0 -I flash.hex -owfl -ovfl

Также у целевых модулей существуют некоторые специфические опции, например как скорость прошивки, о них смотрите в  vsprog -h, или на официальном сайте http://www.versaloon.com/doc/versaloon/doc_versaloon_programmer_platform.html

Использование Vsgui

Интерфейс программы интуитивно понятный и простой. 

На вкладке vsprog находится доступ к операциям программатора:

Кнопка AutoDetect позволяет определить целевую серию, если эта функция поддерживается для выбранного в левом списке целевого модуля. File позволяет открыть файл, который необходимо прошить в чип. Кнопки из ряда Flash, EE, Fuse ... позволяет подробнее просмотреть выбранный файл, фьюзы память и т.д. В области Option можно выбрать интересующие целевые области, которые нужно прошить(Flash, EE, Fuse...), режим (Mode), адрес с которого пришивать (Addr). Необходимость выполнять очистку перед и проверку посли записи. На вкладке Operation находятся кнопки активизирующие ту или иную операцию. 

 Задания напряжение питания можно на вкладке JTAG (Power Output):