Появился Versaloon NanoRelease2

9 октября 2014 г. 16:24 Versaloon  

В репозитории универсального программатора Versaloon (vsprog) появилась новая реализация NanoRelease2. Доступен проект для KiCAD с либами плюс герберы для производства. Микроконтроллер поменялся на Cortex-M4 STM32F4 в 64-ногом LQFP. 

mrls21.jpg

STM32 SPI Slave и интерфейс SPI в Versaloon (USB_TO_SPI)

22 сентября 2013 г. 17:44 STM32   Versaloon  

Serial Peripheral Interface - один из самых простых и быстрых интерфейсов, часто применяемый как для подключения периферийных устройств так и для связи микроконтроллеров между собой. Про принципы работы этого интерфейса написано очень много информации, по этому смысла рассказывать о них здесь нет. Вместо этого в статье я покажу пример практического использования SPI для связи контроллера STM32 (на демоплатке) с компьютером посредством переходника USB_TO_SPI, запущенном на базе платформы Versaloon. На стороне демоплаты это будет реализовываться с помощью аппаратного модуля SPI, настроенного в режиме Slave(ведомый). В то же время мы настроем Versaloon внутри себя на интерфейс SPI-Master (ведущий), и с помощью программы vsprog будем рулить им. 

Пример будет делать следующее(придумано от фонаря): сначала мы посылаем демоплате 5 байт, и параллельно принимаем от нее 5 байт 0xAA (напомню, что отправляя один байт по SPI слейву, мы получаем один байт в ответ от него, то есть происходит так называемый полнодуплексный, двухсторонний обмен). Демоплата, приняв эти 5 байт от мастера сохраняет их у себя. Затем мастер отправляет еще 5 байт, и параллельно слейв отдает обратно 5 байт, полученные за первый раз. В дополнение мы также помигаем светодиодами после второго 5и-байтного обмена. Сначала один светодиод помигает столько раз, сколько отправлено в первом байте второго обмена, затем второй светодиод помигает столько раз сколько отправлено во втором байте второго обмена. Наверное формулировка задания весьма сложная, попробую объяснить визуально. Вот так должны выглядеть эти два обмена по 5 Байт каждый:

spiobmen(1).jpg

Разработка под STM32. Часть 5. USART через Versaloon

30 июня 2013 г. 13:01 STM32   Versaloon   UART  

В программаторе versaloon встроена реализация интерфейса UART. Если пины Rx и Tx в разъеме программатора не заняты, то его можно использовать даже вместе с другими интерфейсами. Таким образом в этой статье я покажу как совместить отладку по SWD и работу с UART. Вы сможете посылать байты по UART находясь в режиме отладки. Для этого подключим Rx и Tx отладочной платки к Tx и Rx программатора (серый и синий провод). Подробнее о подключении. При этом пины SWD остаются подключенными:

vsuartstm322.jpg

Разработка под STM32. Часть 3. Отладка проекта STM32 в Eclipse

21 июня 2013 г. 19:35 eclipse   STM32   Versaloon  

Во второй части был создан о откомпилирован проект для Eclipse, в котором мы выполнили настройку компилятора. В принципе уже можно собирать программы и закидывать их в контроллер с помощью программ vsprog, vsgui, st-flash официальной утилиты ST или чего-то еще. 

Но иногда также необходима возможность отладки написанного кода. Она позволит смотреть каким именно образом выполняются операторы языка С или ассемблерные инструкции. Кроме того отладка нужна для просмотра/изменения памяти и регистров ядра в определенный зафиксированный момент времени. Зафиксированный он по отношению к контроллеру - как только отладчик получает управление, контроллер "замораживается" до тех пор пока отладчик снова не скажет ему продолжить отладку, или выполнить следующую инструкцию. 

Сначала я расскажу об отладке с помощью Versaloon/openocd, а в конце статьи покажу как этим же методом настроить отладку для STM32VLDiscovery. Что касается Discovery, то я буду рассказывать только об отличиях, поэтому советую подробно прочесть всю статью сначала.

Разработка под STM32. Часть 2. Создание проекта для STM32 в Eclipse. Библиотеки CMSIS и SPL

11 июня 2013 г. 14:37 eclipse   STM32   Versaloon  

В прошлой части мы установили необходимое для разработки программное обеспечение. В этой статье я расскажу как его правильно настроить и связать. Все коммерческие среды такие как IAR EWARM или Keil uVision обычно сами выполняют эту интеграцию, однако в нашем случае все придется настраивать вручную, потратив на это немало времени. Преимуществом является то, что у вас есть шанс понять как это все работает изнутри, и в дальнейшем гибко настраивать все под себя. Перед началом настройки рассмотрим структуру среды в которой мы будем работать:

eclipse_p_openocd.jpg

Сборка ПО для versaloon из исходников

6 июня 2013 г. 22:40 Linux   Versaloon  

Для тех, кто хочет самостоятельно собрать программы vsprog, vsgui и openocd из исходников, в этой статье будет рассказано как это сделать для ОС Linux Ubuntu, Linux Arch, и Windows (разрядность ОС не имеет значения). Сборка в linux программ vsprog и openocd включает в себя установку скомпилированных исполняемых файлов (копирование их в /usr/local/bin) и также некоторых конфигурационных файлов  (копирование их в /usr/local/share), в то время как в Windows они копируются в те же пути но в окружении msys, и от туда их нужно забрать для своего использования.

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

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

17 апреля 2013 г. 20:00 электроника   AVR   MSP430   STM32   Versaloon  

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

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

versaloon_cable.jpg

Установка программного обеспечения для Versaloon в Windows

13 апреля 2013 г. 22:28 Versaloon  

Программатор работает под версиями Windows XP и Windows 7 х86, Windows 7 х64. Я проверял работу под Windows XP и Windows 7 х86. 

Рассмотрим как установить драйвер libusb, необходимый для работы программатора, драйвер виртуального COM-порт, а также установку скомпилированных программ vsprog, vsgui, а так же Debug-сервера openocd. Для установки у вас должен быть скачан и разархивирован архив: Скачать схему, плату, скомпилированную прошивку, драйвера и ПО для Versaloon 

Обновление прошивки Versaloon с помощью bootloader

13 апреля 2013 г. 20:56 Versaloon  

Иногда разработчики программатора вводят в него новые функции, находят и исправляют ошибки.  У вас должен быть файл прошивки, которую вы хотите загрузить в программатор: Versaloon_GCC-NanoRelease1-0x2000.hex.

Тут я рассказывал как зашить первоначальную прошивку и bootloader: Прошиваем программатор Versaloon с помощью STM32VLDiscoveryДля обновления прошивки программатора можно использовать этот же способ, но припаивать всё время провода не удобно. Для этих целей намного проще использовать встроенный bootloader, который собственно был прошит с помощью STM32VLDiscovery. При этом сам bootloader.bin естественно перепрошиваться не будет, а будет прошиваться только основная прошивка.

Установка программного обеспечения для Versaloon в Linux Ubuntu и Arch Linux

8 апреля 2013 г. 22:16 Linux   Arch Linux   Versaloon  

Для прошивки с помощью программатора Versaloon может использоваться либо консольная программа vsprog, либо графическая vsgui. Для поддержки отладки микроконтроллеров stm32, используется debug-сервер openocd, а также скрипты запуска для него. Установка всех этих программ рассмотрена в статье. Установка драйверов как таковая не нужна, поскольку для работы программатора достаточно наличие библиотеки libusb, которая зачастую уже установлена во всех linux-ах. Теоретически ПО может работать на любых linux, но я проверял только на Arch и Ubuntu.

Вся установка делается следующим образом:

Прошиваем программатор Versaloon с помощью STM32VLDiscovery

8 апреля 2013 г. 9:26 STM32   Versaloon  

Так уж получилось, что для того, чтобы сделать один программатор, нужен другой. Для программирования STM32 существует много программаторов, но самый простой вариант это использовать встроенный SWD-программатор в отладочной плате STM32VLDISCOVERY, на st.com можно купить её за 10$, в наших магазинах-перекупщиках немного дороже.

Для прошивки можно использовать специальные пады:

vsprogpins.jpg

Универсальный программатор Versaloon. STM32, STM8, AVR, MSP430, LM3S, AT91SAM3 и могое другое. Изготовление

7 апреля 2013 г. 22:00 электроника   STM32   Versaloon   UART  

resulted.jpg

Программатор Versaloon на основе микроконтроллера STM32 - полностью открытая многофункциональная платформа, которая поддерживает более 10 видов интерфейсов, среди которых JTAG, SWD, SPI, IIC, SWIM, UART. Существует несколько версий программатора. Сайт проекта http://www.versaloon.com/. Я собрал самую маленькую версию Versaloon - Nano Release, с некоторыми модификациями, которые касаются удешевления стоимости компонентов, и увеличения их доступности. Существуют также другие версии, например Mini Release (функциональность такая же, но плата больше по размеру, несколько дополнительных компонентов), но в своём блоге я буду подразумевать под Versaloon именно версию Nano Release.

Versaloon работает под Windows и Linux, есть поддержка отладки STM32 через OpenOCD.

Versaloon очень быстрый, и позволяет управлять скоростью программирования в большинстве интерфейсов:

  • JTAG: 1KHz - 18MHz
  • SPI: 1KHz - 18MHz
  • IIC: 1KHz - 100KHz
  • UART: до 921600bps