Platform

Full open-source(GPLv3) platform for multiple applications, including programmer, debugger, logic tester, logic analyzer, simple oscilloscope and so on.

Home>Document>Versaloon>Programmer Platform

Menu


About Programmer Platform

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.


Compile vsprog and vsgui

Source code of vsprog is available at http://vsprog.googlecode.com/svn/trunk/. You MUST install subversion, autotools, libusb-dev, libxml2-dev, texinfo to download/config/compile/install vsprog. Here is a configured MinGW environment under Windows: Click to download.
Compile vsprog:
svn co http://vsprog.googlecode.com/svn/trunk/
./bootstrap && ./configure --enable-maintainer-mode && make && make install-strip
If you are under Linux, use "sudo make install-trip".


Connect To Targets

  • Versaloon Pinout

  • JTAG

    • JTAG_TRST
    • JTAG_SRST
    • JTAG_TCK
    • JTAG_TDO
    • JTAG_TDI
    • JTAG_TMS
    • JTAG_RTCK
  • SWD

    • SWD_SWCLK
    • SWD_SWDIO
    • Reset: JTAG_SRST
  • STM8_SWIM

    • SWIM
    • Reset: JTAG_SRST
  • AVR8/S51_ISP

    • SPI_SCK
    • SPI_MOSI
    • SPI_MISO
    • Reset: JTAG_SRST
  • C8051F_C2

    • C2_C2CK
    • C2_C2D
  • LPC900_ICP

    • ICP_PCL
    • ICP_PDA
    • Reset: JTAG_TRST
  • PSoC1_ISSP

    • ISSP_SCLK
    • ISSP_SDATA
    • Reset: JTAG_TRST
  • HCS08/HCS12(X)_BDM

    • BDM
    • Reset: JTAG_SRST

Target Area Char and Target Area String

Every target area(fuse, lock, flash, eeprom, calibration byte...) can be defined as one single character.
A string with these characters is Target Area String.
Target Area Char:
  • u: Fuse
  • l: Lock
  • f: Flash
  • e: Eeprom or the 2nd flash bank
  • c: Calibration

vsprog options

All the options is processed by the script of the same name.

STM32 support(ISP/JTAG/SWD)

Vsprog can support STM32 in JTAG/SWD/COM ISP interfaces.
Auto-detect feature is supported on STM32.
Supported target area: flash('f').
Available options for STM32:

  • -s stm32f1, stm32f2, stm32f4, stm32l1
  • -c <stm32_ld | stm32_md | stm32_hd | stm32_conn | stm32_vl>
  • -m <i | j | s>: i for ISP, j for JTAG(default), s for SWD.
  • -C: valid under ISP mode
  • -F: valid under JTAG mode, defines the frequency of JTAG in kHz, default is 8000 / 6 kHz
  • -W: valid under SWD mode, defines the delay of SWD signal, default is 0
  • -x
vsprog -sstm32f2 -mj -F9000 -I flash.hex -oe -owf -ovf
vsprog -cstm32f1_ld -ms -W0 -I flash.hex -oe -owf -ovf
vsprog -sstm32f1 -mi -CCOM4 -I flash.hex -oe -owf -ovf

LPC1000 support(ISP/JTAG/SWD)

Vsprog can support LPC1000 in JTAG/SWD interfaces, including LPC11xx CortexM0.
Auto-detect feature is supported on LPC1000.
Supported target area: flash('f').
Available options for LPC1000:

  • -s lpc1000
  • -c
  • -m <i | j | s>: i for ISP, j for JTAG(default), s for SWD.
  • -K: defines the kernel frequency in kHz, default is 12000.
  • -C: valid under ISP mode
  • -F: valid under JTAG mode, defines the frequency of JTAG in kHz, default is 4000 / 6 kHz
  • -W: valid under SWD mode, defines the delay of SWD signal, default is 0
  • -A: calculate the checksum for 7 vectors.
  • -x
vsprog -slpc1000 -A -K 60000 -mj -F9000 -I flash.hex -oe -owf -ovf
vsprog -clpc1766 -A -ms -W0 -I flash.hex -oe -owf -ovf
vsprog -clpc1114 -A -mi -CCOM4 -I flash.hex -oe -owf -ovf

LM3S support(JTAG/SWD)

Vsprog can support LM3S in JTAG/SWD interfaces. This support need further test.
Auto-detect feature is supported on LM3S.
Supported target area: flash('f').
Available options for LM3S:

  • -s lm3s
  • -c
  • -m <j | s>: j for JTAG(default), s for SWD.
  • -F: valid under JTAG mode, defines the frequency of JTAG in kHz, default is 12000 / 6 kHz
  • -W: valid under SWD mode, defines the delay of SWD signal, default is 0
  • -x
vsprog -slm3s -mj -F9000 -I flash.hex -oe -owf -ovf
vsprog -clm3s101 -ms -W0 -I flash.hex -oe -owf -ovf

AT91SAM3 support(JTAG/SWD)

Vsprog can support AT91SAM3 in JTAG/SWD interfaces.
Auto-detect feature is supported on AT91SAM3.
Supported target area: flash plane 0('f') and 1('e').
Available options for AT91SAM3:

  • -s at91sam3
  • -c
  • -m <j | s>: j for JTAG(default), s for SWD.
  • -F: valid under JTAG mode, defines the frequency of JTAG in kHz, default is 12000 / 6 kHz
  • -W: valid under SWD mode, defines the delay of SWD signal, default is 0
  • -x
vsprog -sat91sam3 -mj -F9000 -I flash.hex -oe -owfe -ovfe

STM8 support(SWIM)

Vsprog can support STM8 in SWIM interface.
Auto-detect feature is NOT supported on STM8
Supported target area: flash('f'), fuse('u'). Note, for STM8, lock(ROP) is defined in fuse. MTU of STM8A is also supported.
Available options for STM8:

  • -c
  • -m <s>: s for SWIM(default).
  • -t uFUSE: define fuse of STM8.
vsprog -cstm8s103f2 -tu0x00000000080000AA -I flash.hex -oe -owfu -ovfu

AT89S5X support(ISP)

Vsprog can support AT89S5X in ISP interface.
Auto-detect feature is supported on AT89S5X.
Supported target area: flash('f'), lock('l').
Available options for AT89S5X:

  • -s at89s5x
  • -c
  • -m <b | p>: p for page mode(default), b for byte mode.
  • -F: defines the frequency of ISP in kHz, default is 560 kHz
  • -t lLOCK: defines lock(from 1 to 4).
vsprog -sat89s5x -tl4 -I flash.hex -oe -owfl -ovfl

PSOC1 support(ISSP)

Vsprog can support PSoC1 in ISSP interface.
Auto-detect feature is supported on PSoC1.
Supported target area: flash('f'), secure('l').
Available options for PSOC1:

  • -s psoc1
  • -c
  • -m <r | p>: r for reset mode(default), p for power-on mode.
vsprog -spsoc1 -I flash.hex -oe -owfl -ovfl

MSP430(without TEST) support(JTAG)

Vsprog can support MSP430(without TEST pin) in JTAG interface.
Auto-detect feature is supported on MSP430.
Supported target area: flash('f').
Available options for MSP430:

  • -s msp430
  • -c
  • -m <j>: j for JTAG mode(default).
vsprog -smsp430 -I flash.hex -oe -owf -ovf

C8051F support(C2/JTAG)

Vsprog can support C8051F in JTAG/C2 interfaces.
Auto-detect feature is supported on C8051F.
Supported target area: flash('f').
Available options for C8051F:

  • -s c8051f
  • -c
  • -m <c | j>: c for C2 mode, j for JTAG mode(default).
  • -F: valid under JTAG mode, defines the frequency of JTAG  in kHz, default is 4500
vsprog -sc8051f -mc -I flash.hex -oe -owf -ovf
vsprog -sc8051f -mj -F2000 -I flash.hex -oe -owf -ovf

AVR8 support(ISP/JTAG)

Vsprog can support AVR8 in ISP/JTAG interfaces.
Auto-detect feature is supported on AVR8.
Supported target area: flash('f'), lock('l'), fuse('u'), calibration('c', read-only).
Available options for AVR8:

  • -s avr8
  • -c
  • -m <i | j>: i for ISP mode(default), j for JTAG mode.
  • -F: valid under JTAG mode, defines the frequency of ISP/JTAG  in kHz, default for ISP is 560, default for JTAG is 4500
  • -t: defines the lock or fuse
vsprog -savr8 -mi -F 1000 -tl0xC0 -I flash.hex -oe -owfl -ovfl
vsprog -catmega128 -mj -F2000 -tu0xFF80FF -I flash.hex -oe -owfu -ovfu

LPC900 support(ICP)

Vsprog can support LPC900 in ICP interfaces.
Auto-detect feature is supported on LPC900.
Supported target area: flash('f').
Available options for LPC900:

vsprog -slpc900 -I flash.hex -oe -owf -ovf

HCS08 support(BDM)

Vsprog can support HCS08 in BDM interface.
Auto-detect feature is supported on HCS08.
Supported target area: flash('f').
Available options for HCS08:

  • -s hcs08
  • -c
  • -m <b>: b for BDM mode(default)
vsprog -shcs08 -I flash.hex -oe -owf -ovf

HCS12(X) support(BDM)

Vsprog can support HCS12(X) in BDM interfaces.
Auto-detect feature is NOT supported on HCS12(X).
Supported target area: flash('f').
Available options for HCS12(X):

  • -c
  • -m <b>: b for BDM mode(default)
vsprog -cmc9s12xs128 -I flash.hex -oe -owf -ovf

SVF support(JTAG)

Vsprog can support SVF player.
Available options for SVF_PLAYER:

  • -s svf_player
  • -F: defines the frequency of JTAG  in kHz
  • -I: defines the svf file
vsprog -ssvf_player -F18000 -I test.svf