This repository is unofficial! But it is documented better. The official one on github is here (uses SVN).
This repository was copied from Google code archive and converted from SVN to GIT. All line endings were converted to Unix type (LF).
The Versaloon project is a universal interface/programmer based on STM32F microcontrollers. It supports several programming protocols, such as JTAG, STM8 SWIM, AVR ISP, STM32 SWD and Silabs C2.
From official site (now dead, accessible using internet archive):
Versaloon Programmer Platform is a generic framework for MCU programming, which can support now more than 10 kinds of target MCUs. And it can be simply expanded to support more chips based on USB_TO_XXX protocol. There are xml configure files for each MCU series, so for newly released chip, it's very easy to add into this Programmer Platform. Vsprog is the command line of the platform compiled using GCC toolchain, it can also support scripts. Vsgui is the GUI compiled using Lazarus.
This project has several parts (folder of the part):
- the computer-programmer interface
vsprog
- command line tool for controlling the programmer (src)vsgui
- graphical interface for vsprog (vsgui)
- documentation (doc)
- the programmer firmware and hardware (dongle)
- built programmer firmware [outdated] (release)
- Versaloon framework - unfinished (vsf)
- Versaloon framework for android - only .apk file (Vsfand)
- files for build environment (codelite)
Compilation was tested on Linux Mint 20, it should work on Ubuntu too.
To compile vsprog
, you need build-essential, autoconf, automake, libusb-1.0-0-dev, libxml2-dev, texinfo
sudo apt-get install build-essential autoconf automake libusb-1.0-0-dev libxml2-dev texinfo
Execute the commands in the repository's root.
./bootstrap
./configure --enable-maintainer-mode
make
sudo make install-strip
sudo cp -v dongle/driver/linux/60-versaloon.rules /etc/udev/rules.d
sudo udevadm control --reload-rules
make maintainer-clean
For more information about vsprog
, see doc/vsprog.texi
To compile vsgui
, you will need a Pascal compiler for Lazarus IDE lcl
(~140MB) or Lazarus IDE alone.
sudo apt-get install lcl
cd vsgui
lazbuild vsgui.lpr
This will generate vsgui
executable in the vsgui folder.
If you want to use a STM32F103 Blue Pill board, you can get the compiled firmware here.
You will need a gcc-arm commpiler toolchain to build the firmware.
Download the official
GNU Embedded Toolchain for ARM
Unpack the archive to your desired location, and add it to your PATH
.
On Ubuntu based linux distributions you can install it this way:
sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa
sudo apt-get update
sudo apt-get install gcc-arm-embedded
Default build target is STM32F103C8 (Blue Pill).
cd dongle/firmware/Projects/Versaloon/GCC
make
The built binary .hex file will be /dongle/firmware/Projects/Versaloon/GCC/Versaloon_GCC-BluePill-0x0.hex
To clean the directory after build (deletes the hex file):
make clean
Upload the firmware to your board using STlink (both software and hardware) or Versaloon itself.
For more information about uploading, see doc/Uploading-fw.md
See doc/Commands.md