Home>Document>Versaloon>Programmer Platform
Menu
About Programmer Platform
Compile vsprog and vsgui
Connect To Targets
Target Area Char and Target Area String
vsprog options
STM32 support(ISP/JTAG/SWD)
LPC1000 support(ISP/JTAG/SWD)
LM3S support(JTAG/SWD)
AT91SAM3 support(JTAG/SWD)
STM8 support(SWIM)
AT89S5X support(ISP)
PSOC1 support(ISSP)
MSP430(without TEST) support(JTAG)
C8051F support(C2/JTAG)
AVR8 support(ISP/JTAG)
LPC900 support(ICP)
HCS08 support(BDM)
HCS12(X) support(BDM)
SVF support(JTAG)
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/
If you are under Linux, use "sudo make install-trip".
./bootstrap && ./configure --enable-maintainer-mode && make && make install-strip
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.-
-s option, see s script
-s avr8 -
-c option, see c script
-c atmega128 -
-t option, see t script
-t u0xFF8090 -
-F option, see F script
-F 4500 -
-m option, see m script
-m i -
-x option, see x script
-x 0x08002000 -
-C option, see C script
-C COM4_115200_8N1 -
-J option, see J script
-J 1 0 4 0 -
-K option, see K script
-K 60 -
-W option, see W script
-W 2 -
-A option, see A script
-A -
-I option, see I script
-I test.hex -
-O option, see O script
-O readout.hex -
-o option, see o script
-o e -o wful -o vful
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:
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:
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:
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:
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):
vsprog -cmc9s12xs128 -I flash.hex -oe -owf -ovf
SVF support(JTAG)
Vsprog can support SVF player.
Available options for SVF_PLAYER:
vsprog -ssvf_player -F18000 -I test.svf
Platform