forte_en
forte_en
Reference Manual
ASIX s.r.o.
Na Popelce 38/17
150 00 Prague
Czech Republic
www.asix.net
support@asix.net
sales@asix.net
ASIX s.r.o. reserves the right to make changes to this document, the
latest version of which can be found on the Internet.
ASIX s.r.o. renounces responsibility for any damage caused by the use
of ASIX s.r.o. products.
2 FORTE 11 AT89C51CC01UA 22
2.1 Package Content 11 Cypress PSoC 22
2.2 Features 11 MSP430 / CC430 with TEST Pin, JTAG Interface 23
2.3 Quick Start 12 MSP430 / CC430 without TEST Pin, JTAG Interface 23
2.3.1 Windows 12 MSP430 / CC430, SBW Interface 24
2.4 Use 12 TI (Chipcon) CCxxxx 24
2.5 Controls and Connectors 14 STM8 24
2.5.1 Programming Connector 14
ARM with SWD interface 25
2.5.2 GO Button 15
LPCxxxx, UART interface 25
2.5.3 LED Indicators 15
C8051 and EFM8 with C2 interface 25
ACTIVE 15
HCS08 25
ON-LINE 15
CH32V003 26
2.5.4 USB Connector 15
Z8F 26
2.6 Connecting to Application 15
2.6.1 Custom-made Connecting Cable 15 I2C Memory Chips 26
2.7.3 Declaration of Conformity and RoHS 31 Format of Files with Serial Numbers 44
Data Record 44
3 DRIVERS 32 Example of File with Serial Numbers 44
3.1 Driver Installation 32 5.4.4 Calibration Memory Support 45
3.1.1 Windows Operating Systems 32 Working with Calibration Memory When Erasing a 45
Device in UV Eraser
Windows 7 and later 32
Working With Calibration Memory in Devices With 45
Older supported Windows versions 32 Flash Memory
41 Edit Menu 48
5.4 Further Features
Edit ➙ Fill with value... 48 ▸ Erase all 52
Edit ➙ Text insert... 49 ▸ Erase code/main memory 53
Edit ➙ Fill selected location with RETLW 49 ▸ Erase data memory 53
View Menu 49 Device ➙ Blank check 53
View ➙ Code/main memory 49 ▸ Blank check all 53
View ➙ Data memory 49 ▸ Blank check all except data memory 53
View ➙ Boot memory 49 ▸ Blank check of code/main memory 53
View ➙ Configuration memory 49 ▸ Blank check of data memory 53
View ➙ Console 49 ▸ Blank check of configuration memory 53
View ➙ Display code/main memory 49 Device ➙ Select device 53
View ➙ Display data memory 49 Device ➙ Device info 53
View ➙ Display configuration memory 50 Options Menu 54
View ➙ Display programmer form 50
Options ➙ Program settings ➙ Programming 54
Device Menu 50
▸ Reload file before every programming 54
Device ➙ Program 50 ▸ Keep manually modified data 54
▸ Program all 50 ▸ Warn before file load, when data in some
▸ Program all except data memory 50 editor have been changed 54
▸ Program code/main memory 50 ▸ Warn, when the loaded file has not
changed 54
▸ Program data memory 51
▸ Program file locations only 54
▸ Program configuration memory 51
▸ Ask before erasing 54
▸ Program differentially 51
▸ Ask before programming of OTP / Flash /
▸ Differential program data memory 51 Code/Data Protection / differential 54
▸ Mass Production 51 ▸ Display fuse warning messages 55
Device ➙ Read 51 ▸ Except for programming: Close status
window 55
▸ Read all 51
▸ After programming: Close status window 55
▸ Read all except data memory 51
▸ Beep after successful finishing 55
▸ Read code/main memory 51
▸ Beep after unsuccessful finishing 55
▸ Read data memory 52
▸ Turn off all sound for UP 55
▸ Read configuration memory 52
▸ Delay for VDD switching on/off when
▸ Read address 52 supplied from programmer 55
Device ➙ Verify 52 ▸ Do not perform Device ID check before
▸ Verify all 52 programming 55
▸ Verify all except data memory 52 ▸ Do not perform blank check before cfg
word programming 55
▸ Verify code/main memory 52
▸ Do not perform blank check after erasing 56
▸ Verify data memory 52
▸ Do not erase device before programming 56
▸ Verify configuration memory 52
Device ➙ Erase 52
▸ Do not erase data memory before its Options ➙ Program settings ➙ Editors 59
programming 56
▸ Code/main memory editor: show words as
▸ Do not verify unprogrammed words at the bytes 59
end of the memory 56
▸ Code/main memory editor 8 words wide 59
▸ Do not verify 56
▸ Data memory editor 8 words wide 59
▸ Verify with two supply voltages 56
▸ Boot memory editor 8 words wide 59
Options ➙ Program settings ➙ Panels 56
▸ Show only the lowest byte of word in ASCII 59
▸ Display selected device on toolbar 56
▸ Mask ID positions while reading from
▸ Display selected programmer on toolbar 56 device, from file, etc. 59
▸ Display the status bar in the lower part of ▸ Mask ID positions during direct user input 60
the window 56
▸ Configuration memory editor: show cfg
▸ Display icons on toolbar buttons 56 word instead of fuses 60
▸ Display descriptions on toolbar buttons 57 Options ➙ Program settings ➙ Serial numbers 60
▸ Show mass production counter in status ▸ Serial numbers 60
bar 57
▸ Prepare S/N before programming 60
Options ➙ Program settings ➙ Files 57
▸ Find successor after programming 60
▸ File save style 57
▸ Prepare S/N after programming 60
▸ Do automatic check for newer version of
57 ▸ Serial number interval 60
actual file
▸ Never ask and never save changes to data ▸ Log to file 60
file 57 ▸ After project load set actual SN according
▸ Check device type when loading .hex file 57 to the last in the log 60
▸ Save device type into .hex file 57 ▸ Serial number length (the number of
characters) 61
▸ Warn when loaded HEX does not contain
58 ▸ Number base 61
CFG memory data
▸ Warn when loaded HEX is not aligned to ▸ Code as ASCII 61
word size. 58 ▸ Initial serial number 61
▸ Binary file loading and saving style 58 ▸ Next S/N 61
▸ Save unused locations to .hex file 58 ▸ Destination 61
▸ Clear code/main / data memory / ID ▸ Hexadecimal address of first word 61
positions before file reading 58
▸ Fill with RETLW instruction 61
▸ Erase configuration memory before file
reading 58 ▸ Characters per word 61
▸ Read data memory not from the file but ▸ Sequence 61
from the device 58
Options ➙ Program settings ➙ Checksum 61
▸ Read ID positions not from the file but
from the device 59 ▸ Show checksum in status bar 62
▸ Save fuses in UP instead of data file 59 ▸ Write checksum to log file 62
▸ Project storing style 59 ▸ Checksum algorithm 62
▸ Load last project on start-up 59 Options ➙ Program settings ➙ Others 62
Options ➙ Program settings ➙ Colors 59 ▸ Update check settings 62
▸ Allow internal and external supply Oscillator frequency 65
voltages collision 62
Faster Programming with Slow Clock 65
▸ Do not show warning if internal 5 V is
62 Inverse Reset 65
switched on with 3.3 V device
▸ Allow to change supply voltage level when Write RC osc Adjustment 65
it is on 62 HVP 65
▸ Allow external supply voltage for devices Settings Associated with CH32V003
requiring VPP before VCC. 63 65
Microcontrollers
▸ When using Windows Messages disable ▸ Fast mode 65
other warnings 63
Settings Associated with I2C Memory Chips 65
▸ Pin T during programming 63
I2C Bus Speed 65
▸ Pin T after programming 63
I2C Memory Address 66
Options ➙ Select programmer 63
Settings Associated with SPI Flash Chips 66
Options ➙ Language selection... 63
▸ Start address 66
Options ➙ Keyboard shortcuts... 63
▸ End address 66
Options ➙ Lock project 63
Help Menu 63 PRESTO Programmer Settings Window 66
5.9 Running More Than One Instance of UP 75 State of .svf File Implementation 93
9 MultiUP 98
9.1 Programming settings 98
9.2 Programming 98
9.3 CommandLine 98
10 TROUBLE-SHOOTING 99
10.1 Tips and Tricks 99
10.2 FORTE Tester 99
11 HPRAVR 101
11.1 Usage 101
Chapter 1 gives you ‘quick start’ instructions on how to SBW (SPY-BI-WIRE) MSP430 microcontroller
start working with the programmer, offers examples of its interface
connecting to applications and provides technical
specifications. SWD (Serial Wire Debug) ARM microcontroller
interface
Chapter 2 focuses on the installation of drivers and
software updates. TPI Atmel Tiny Programming Interface
Chapter 3 introduces the UP program, which is software VCC If the text features VCC or VDD, they mean
used for controlling all ASIX programmers. You can find the power-supply voltage on the VDD pin,
procedures there for setting up the programmer prior to which can serve as either input or output
programming, for actual programming and/or verification depending on the particular application.
of devices. It also describes how to control the software VPP If the text features VPP, it means the
from a command line or a DLL library. programming voltage on pin P of devices
Chapter 4 presents the JTAG SVF Player software used for with High Voltage Programming.
programming devices with the JTAG interface using .svf/ The term “file” means a file with data to be programmed
.xsvf files. in context of this manual, in other cases a particular type
Chapter 5 offers tips and tricks in case of experiencing of file is specified. A file with .hex extension means Intel-
difficulties with programming. HEX file whilst a file with .bin extension means binary file.
Page 10
• programming interface of 8×I/O + individually
2 configurable pull-up/down resistors
• built-in fast input/output HW protection, independent
of the status of the PC
Thank you for buying the FORTE programmer made by • GO button for quick function selection
ASIX s.r.o. It was a wise decision. Feel free to contact our
• more than one simultaneously running programmer
technical support in case of any questions or doubts.
per PC, command line support, support for Windows
messages and for DLL
2.1 Package Content • Windows XP or later
• compact
Your Forte package should include:
• FORTE programmer
1 lower speeds can typically be programmed at less than
• ICSPCAB16 cable 1.2 V.
• ICSPCAB8 cable
• USB cable (type A - B)
• Info leaflet
2.2 Features
FORTE is a fast and flexible High-Speed USB In-System
programmer suitable for programming a range of devices
such as microcontrollers, EEPROM or Flash serial memory
chips, CPLD, FPGA and many others.
• very fast programmer (30 MHz out, 15 MHz in/out)
• High-Speed USB 2.0 (480 Mbps) interface, programmer
powered via USB
• embedded processor pro comprehensive functions
• synchronous and asynchronous programming, JTAG
support
• programming voltage from 1.8 V 1 to 5.5 V
• feeds applications with 1.8 V to 5.5 V
Page 11
during programming.
2.3 Quick Start The programmer may run under Windows XP or later.
Please install the drivers and the UP software prior to the Numerous Supported Devices
first use of FORTE.
The list of supported devices includes:
2.3.1 Windows • Microchip PIC microcontrollers – devices with serial
Administrator rights are required to run the software programming, which include all PIC and dsPIC devices
for the first time. with the exception of several obsolete types.
• Microcontrollers with ARM core – such as ATSAM3N2A
Start with installing the UP program. Its installer installs
or LPC2148.
the USB driver for FORTE, too. You can download the
installer from www.asix.tech/prg_up_en.html. • Atmel AVR microcontrollers – all devices supporting
"SPI Low Voltage Serial Downloading" such as
Once the installation is complete, connect the FORTE ATtiny12, AT90S8535 or ATmega128.
programmer to your computer.
• Atmel ATxmega microcontrollers – devices
The driver contained in the UP installer is intended for programmable via JTAG or PDI interface such as
Windows 7 and later. For older Windows operating system ATxmega32D4 or ATxmega128B1.
versions the driver has to be downloaded from
www.asix.net, from download section of the programmer • Atmel AVR32 microcontrollers – AT32UC3A1256, for
and unpacked somewhere. After the programmer has example.
been connected, the operating system asks for the driver. • Atmel 8051 microcontrollers – devices that support
In "Found New Hardware" dialog the path to the ISP programming such as AT89S8253, AT89LP4052,
unpacked driver has to be set. AT89LP216 or AT89S2051.
The green ON-LINE LED should turn on after a few • Texas Instruments microcontrollers – 16-bit MSP430,
moments and the Windows Device Manager should CC430 and CCxxxx with a flash memory, including
present the programmer as correctly installed. their fuse programming.
• Cypress – PSoC microcontrollers.
2.4 Use • Serial EEPROM and Flash memory chips - I2C
(24LCxx), Microwire (93LCxx) and SPI (25Cxx).
FORTE is a fast and flexible High-Speed USB programmer
suitable for programming of a range of devices such as • Devices with JTAG interface, for which an SVF or an
microcontrollers, EEPROM or Flash serial memory chips, XSVF file can be created. These include CPLD (such as
CPLD, FPGA and many others. It is equipped with Xilinx XC95xx and CoolRunner), configuration memory
overcurrent protection at the VDD and VPP sources and for FPGA (such as Xilinx XC18Vxx and XCFxxS),
with overvoltage protection at the VDD pin. microcontrollers (such as ATmega128) and others.
The programmer is powered via USB. It can feed the This, however, is not an exhausting list of possibilities.
application to be programmed with a voltage of 1.8 V to Additional types are regularly supplemented in response
5.5 V or it can utilize an external application’s voltage to customers’ interest. New software versions are
downloadable from the Internet for free.
Page 12
High Speed Connection to a remote application through a 16-wire
ribbon cable has been improved by interleaving its
Compared to the PRESTO programmer, FORTE features an individual signals with ground.
embedded processor making it possible to perform
complex operations with the device being programmed as Power Supply From Application
well as offering a significantly faster output interface. Due
to this, devices may be programmed up to the limits of The VDD output can serve as an input using the power
their theoretical performance. from the application for feeding the output buffers, or it
can become an output and as such to provide voltage for
USB Connection the application.
FORTE is controlled and powered through a USB port. It FORTE can power applications with a voltage from 1.8 V
communicates in the High-Speed mode (480 Mbps) / to 5.5 V. A controlled discharge resistor is incorporated
connected to a USB 2.0 port and in the Full-Speed mode / for faster transitions between different programming
connected to a USB 1.1 port. This means that connecting phases when capacitors in the application need to be
the programmer is fast and easy, requiring only a single discharged all the way down to 0 V.
cable. FORTE includes a built-in “voltmeter” at pins P and VDD.
Page 13
command line providing for unattended programmer
operation in routine programming, environment 2.5.1 Programming
personalization incl. keyboard shortcuts, automatic
generation of serial numbers, etc. Connector
The programming connector is a 16 way double row plug
UP has been developed for Windows XP or later. with pin No. 3 (in standard numbering) missing. Spacing
Modified drivers developed by FTDI are used for between pins is 2.54 mm.
communication through USB.
Devices with the JTAG interface, for which an SVF or an
XSVF file can be created, can be programmed by means
of the JTAG SVF Player software.
Page 14
2.5.2 GO Button
This button simplifies work with the application being
programmed. It triggers device programming or another
pre-programmed function. For further information on
settings see Setting the GO Button.
ACTIVE
2.6.1 Custom-made
This two-state LED informs you of the equipment status.
The yellow color means that there is ongoing
Connecting Cable
communication between the programmer and a device. Should an application to be programmed have a non-
compatible type of connector for linking to the
A red color signals an error state. programmer, the customer can make his/her own
programming cable. Its length should not exceed 15 cm.
This is where interleaving of individual signals with GND
ON-LINE in a 16-wire ribbon cable can be used conveniently. In
order to utilize this ground-interleaving, all GND signals
The green LED informs you that FORTE is connected to a
must be actively connected on the application's side.
computer and that the computer and the programmer
“understand each other”, i.e. drivers are installed and The following table lists markings of connectors by FCI
work correctly. Electronics suitable for making a custom cable. Of course,
it is possible to use any similar ones:
2.5.4 USB Connector
A standard USB (type B) connector is provided for FCI marking Description
connecting to a computer. The programmer uses the
USB High-Speed (480 Mbps) interface for communication. 65039-036LF housing, 1 pin
65039-029LF housing, 1 x 8 pins
Page 15
Please make sure that the GND of the application, the
2.6.2 Programming in ZIF programmer and the USB are interconnected before
signals and the power are applied.
Socket
If programming of autonomous device is required, i.e. Important warning
those that are only later connected to an application, it is If an application is powered by a switched
possible by means of our optional ISP2ZIF accessory. power source or is not grounded, a significant
voltage difference may appear between the
programmer’s ground and the application’s
ground. This could damage the programmer.
Fig. 6: ISP2ZIF
2.6.3 Connecting
Procedure
The correct procedure for connecting the programmer:
first connect FORTE to the target application, then
connect FORTE to the USB and finally turn on the
application’s power supply.
Page 16
Table of Connections Pin I2C SPI QUAD Microwire UNI/O
SPI1
P - CS - CS CS
Pin AVR AVR TPI ATxmega 8051 -
PDI
VDD VDD VDD VDD VDD VCC
P RESET RESET RESET
GND GND GND GND GND VSS
-
D SDA SI SIO0 DI SCIO
VDD VCC VCC VCC VCC
C SCL SCK SCK CLK
GND GND GND GND GND
I SO SIO1 DO
D MOSI TPIDATA PDI_DATA MOSI
L SIO2 ORG/(PRE)
C SCK TPICLK PDI_CLK SCK
T
I MISO MISO
S SIO3
L SS
R
T
S Table 5: Connection list No.3
R
Page 17
Pin JTAG HCS08 HCSxxx C2 Pin AVR HVP AVR UPDI AVR UPDI+RST
P USR RESET P RESET UPDI / RESET RESET
- -
VDD VDD VDD VDD VDD VDD VCC VDD VDD
GND GND VSS VSS GND GND GND GND GND
D TDI BKGD Data C2D D SDI UPDI
C TCK Clock C2CK C SDO
I TDO I SII
L TMS L SCI
T T
S S
R R
RL78 Microcontrollers
1) Not all devices have the PGM pin. The PGM pin can
be connected to programmer’s L pin, to VSS via a
pull-down resistor (for HVP programming) or to VDD
Fig. 7: Renesas RL78 microcontroller via a pull-up resistor (for LVP programming).
2) The whole device must be erased before
programming if code/main memory protection (CP) or
RX600 Microcontrollers data memory protection (CPD) is active.
3) Some devices cannot be erased when CP or CPD is
active if the power-supply voltage is less than 5 V.
4) If a microcontroller has more than one power-supply
VDD or VSS pin, all of them must be connected
including the AVDD and AVSS pins.
5) If the LVP mode is used, it is recommended to check
whether the LVP fuse is still set after erasing the part.
6) Programming of PIC32 devices is supported by
means of the ICSP interface.
Fig. 8: Renesas RX600 Microcontroller 7) Devices with an ICPORT fuse must have the
dedicated ICSP port off for LVP programming.
1) The RX600 MCUs are programmed in Boot mode.
Page 19
8) PIC24 and dsPIC33 devices may be programmed 4) After the device fuses are correctly set up, right-click
using PE (Programming Executive) or using the (i.e. using the right mouse button) inside the
standard method. Programming by means of PE is Configuration window and choose Learn fuses.
usually faster. This saves the fuses in the up.ini file or in the project
if used. This is necessary due to the fact that .hex
9) When the MCU debug mode is enabled using a fuse, files for AVR microcontrollers themselves do not
the programmer cannot communicate with it. contain configuration fuses. If a device is
programmed from the command line, a .ppr project
file containing saved fuses needs to be used.
AVR Microcontrollers
5) Ticking the Open file with data memory
automatically option in the File menu loads data
for the data memory simultaneously with the code/
main memory data.
6) Use the EESAVE fuse if preservation of data memory
is required. If the EESAVE is active, choose Program
all except data memory for programming,
otherwise a warning appears at this place (blank
check of data memory).
7) HPRAVR is an optional accessory for programming
AVR microcontrollers in applications with the
Fig. 10: AVR microcontroller ISP10PIN standard connector on the device's side.
1) A source of the clock signal, which is set in the device 8) Some AVR devices have their ISP interface provided
or which will be set by fuses during programming at different pins than the SPI interface. Further
must be connected to the device. A crystal must be information can be found in the device data sheet (in
connected if set up as the clock source. the Serial Downloading section).
Page 20
1) Some devices require also other pins to be connected
to GND, this can be found in a picture in the device
datasheet in chapter "High-voltage Serial
AVR with UPDI and RESET pins
programming".
Fig. 13: ATxmega microcontroller, PDI interface 2) When the programmed device quits the
programming mode or the UPDI interface is disabled
1) For programming that uses the JTAG interface, during programming, a power-on reset of the
devices must be connected as described in the JTAG programmed device has to be done.
Interface section.
Page 21
3) For AVR with UPDI data files with memories mapped
from zero are expected and their fuses save to a
project file same as for older AVRs, because Atmel
AT89C51CC01UA
Studio creates the data files this way.
Atmel 8051
Page 22
1) The way of entering in the programming mode
should be set in the FORTE programmer settings
window. Devices without an XRST pin can only use
MSP430 / CC430 without TEST
initialization through the power-on reset (by power
supply). Devices with an XRST pin may use both
Pin, JTAG Interface
methods, but the method using the reset signal for
initialization is better as it can be used in
combination with an external power supply.
2) Algorithm programming in the FORTE
programmer settings window should be set in
accordance with the power supply cable used.
Page 23
MSP430 / CC430, SBW Interface TI (Chipcon) CCxxxx
Fig. 21: MSP430 / CC430 microcontroller, SBW interface Fig. 22: (Chipcon) CCxxxx microcontroller
Page 24
ARM with SWD interface C8051 and EFM8 with C2
interface
Page 25
CH32V003 I2C Memory Chips
Page 26
SPI Memory Chips QUAD SPI interface
Fig. 31: SPI memory chips Fig. 32: QUAD SPI interface
1) Some devices have WP, HOLD or RESET pins. All of 1) It is recommended to use a flat ribbon cable and to
them must be connected to the required logic level in connect all its GND wires.
such a way as not to block the communication or
device programming.
Different manufacturers mark the memory chips' SPI pins
Microwire Memory Chips
with different names. Some of them are listed in the
following table:
Page 27
2) If used in combination with the M93Sx6 memory chip, 2) For DS1821: In thermostat mode, the VDD pin of the
the programmer's L pin must be connected to the device must be connected to the D pin of the
device's PRE pin to serve for selecting the protection programmer. However external supply voltage must
register. not be connected to the D pin of the programmer. It
may be connected to VDD pin of the programmer
only. In this case the device must be programmed
UNI/O Memory Chips standalone!
3) For DS28E05: This device requires lower value of the
pull-up resistor, e.g. 560R.
JTAG Interface
1-Wire Interface
Fig. 36: Components with J TAG interface
Fig. 35: Components with 1-WIRE interface 3) AVR32 microcontrollers are to be programmed from
the UP software through the JTAG interface. The
1) A Schottky diode is necessary only for devices device must not be reset during programming.
requiring higher than the power-supply voltage for
programming, such as DS2505 or DS2406, for 4) ATxmega microcontrollers with the JTAG interface
example. A pull-up resistor is needed in any case. can be programmed from the UP software through
this interface. Pin P is not needed for programming.
Page 28
5) ARM microcontrollers can be programmed from the
UP software through the JTAG interface.
HCSxxx
a) Devices which have SWD interface, e.g. most of
Cortex-M3 core chips, are programmed via this
interface, see its connection.
b) Clock source which is connected to the chip and its
frequency must be set in the FORTE programmer
settings window.
c) Using the programmer P pin is not mandatory for
the programming, but it should be connected to the
NRST pin of the device providing reset of the device
after programming to launch the application
program.
Fig. 37: HCSxxx
d) NXP LPC2xxx: For proper operation, it is required
to tie both /RESET and /TRST pins to FORTE P 1) The Clock signal is usually on S2 pin, the Data signal
output. Further, it is necessary to provide external is usually on PWM pin.
pull-down resistor of 4.7 kΩ to 10 kΩ on the /RTCK
pin. The LPC2xxx MCUs execute on-chip bootloader
after reset. The bootloader then examines pin P0.14
or P2.10 (depends on the part type, see the device
SPD5118
datasheet) to decide whether to start user
application on continue its operation (log. 1 for user
application, log. 0 for the bootloader). Because of
this, it is necessary to provide an external pull-up
resistor on this pin to start user programmed
application.
Page 29
2.7 Technical Specifications 2.7.2 Operating
Specifications
2.7.1 Limit Values Important Warning
Failure to respect these parameters may
damage the programmer or the connected
Operating temperature min. 0 °C max. +55 °C computer.
Storage temperature min. -40 °C max. +85 °C
Voltage at any pin1 min. -0.5 V max. 6.5 V
Maximum current on I/O pin 50 mA VDD feeding voltage 1.8 V to 5.5 V
supplied by programmer
ESD protection (HBM model) ±4 kV kontakt
VDD feeding voltage 1.8 V to 5.5 V
±8 kV vzduch
supplied by application
Table 11: Limit values VDD external feeding voltage 1.2 V to 5.5 V
for communication at limited
speed1
1 Pin P configured as an output has a voltage within a Maximum current drawn 100 mA
range of +6.5 V to +17 V. from VDD
Maximum current drawn 100 mA at 7 V
from VPP 10 mA at 17 V
Maximum current drawn 4 mA @ VDD = 1.8 V
from I/O pin 16 mA @ VDD = 4.5 V
Maximum current drawn 100 mA
from all I/O pins
simultaneously
Allowed input voltage on pins 0 to 5.5 V
P pin output voltage Adjustable from 6.5 V to 17 V or
logic levels
VIL input voltage max. VDD x 0.3 V
VIH input voltage min. VDD x 0.7 V
VOL output voltage max. 0.55 V @ VDD=4.5 V
@ I=4 mA
typ. 0.1 V
VOH output voltage min. 3.8 V @ VDD=4.5 V @ I=4 mA
typ. VDD - 0.1 V
Resistance to short circuiting permanent
Page 30
Windows2 32/ 64-bit
Operating system
USB compatibility USB 2.0 High-Speed (480 Mbps)
2.7.3 Declaration of
USB connector type B Conformity and RoHS
Dimensions 112 x 64 x 22 mm Declaration of Conformity and RoHS directive documents
Weight 60 g are available at www.asix.tech in the Documents section.
Gross weight 230 g
Page 31
3 Older supported Windows
versions
DRIVERS The driver contained in the UP installer is intended for
Windows 7 and later. For older Windows operating system
versions the driver has to be downloaded from
www.asix.net, from download section of the programmer
This chapter deals with driver installation and updates. and unpacked somewhere. After the programmer has
been connected, the operating system asks for the driver.
3.1 Driver Installation In "Found New Hardware" dialog the path to the
unpacked driver has to be set.
Page 32
3.2 Driver Updating
FORTE communicates with the PC through a USB circuit
produced by FTDI www.ftdichip.com, which also develops
drivers for these circuits.
Page 33
• The library searches for device files in /dev/bus/usb.
4 Please ensure that /dev/bus/usb directory contains
special files to access USB devices.
• Check that your device is recognized by the system
Usage under Linux (use command lsusb).
• Check your access rights to the corresponding files in /
dev/bus/usb (command ls -la /dev/bus/usb/).
The support of ASIX products in Linux was Probably you will not have as a user the r+w access
discontinued. rights for these files.
Last version where we tested our products was • If you have not access rights and you are using udev:
UBUNTU 20.04.2 LTS and Wine 5.0.
Our customers informed us that our products could Add a new file with udev rules to the directory /etc/
be successfully used up to Wine 6.0, but not in udev/rules.d or /lib/udev/rules.d (Depending on
higher versions. your distribution). Suitable name for this new file is 51-
asix_tools.rules. Insert the following lines to this file :
The software for the programmers is capable of working SUBSYSTEMS=="usb", ATTRS{idVendor}=="0403",
under Wine. For USB access it uses libftd2xx. ATTRS{idProduct}=="f1a0", MODE:="0666", SYMLINK
+="asix_presto"
Step 1: Install libftd2xx and libftchipid SUBSYSTEMS=="usb", ATTRS{idVendor}=="a600",
ATTRS{idProduct}=="a000", MODE:="0666", SYMLINK
Install 32-bit versions of libftd2xx and libftchipid by FTDI, +="asix_sigma"
even if you use 64-bit kernel. The application is a 32-bit SUBSYSTEMS=="usb", ATTRS{idVendor}=="a600",
binary and requires 32-bit libraries. ATTRS{idProduct}=="a003", MODE:="0666", SYMLINK
+="asix_forte"
The driver can be found on FTDI web at "Drivers/D2XX
SUBSYSTEMS=="usb", ATTRS{idVendor}=="a600",
Drivers" section. ATTRS{idProduct}=="a004", MODE:="0666", SYMLINK
• Extract libftd2xx.so.1.1.0 (in case of newer version +="asix_omega"
replace 1.1.0 with the latest version) and libftchipid VID and PID values can be determined using the listing of
and copy the files libftd2xx.1.1.0.so and connected devices by the lsusb command.
libftchipid0.1.0 into the directory for 32-bit
libraries (typically /usr/lib/i386-linux-gnu/).
Step 2: Install wine
• ln -s libftd2xx.so.1.1.0 /usr/lib/i386-linux-
gnu/libftd2xx.so.1 (it is typically sufficient to run It is necessary to install 32-bit version of wine (for
ldconfig to achieve this) example wine-1.4:i386).
• ln -s libftd2xx.so.1.1.0 /usr/lib/i386-linux- The Wine versions over 6.0 are not supported.
gnu/libftd2xx.so.0 (must be made manually)
Step 3: Install lin_ftd2xx
• ln -s libftchipid.so.0.1.0 /usr/lib/i386-
linux-gnu/libftchipid.so.0 (it is typically sufficient The lin_ftd2xx is available at ASIX web.
to run ldconfig to achieve this)
Page 34
Check environment variable WINEDLLPATH. It should
point to directory where are 32-bit wine DLLs, typically /
usr/lib/i386-linux-gnu/wine. Install lin_ftd2xx by ASIX
into this directory.
Note:
Library libftd2xx requires also access rights during
opening of the programmer or logic analyzer to all FTDI
serial devices to check that this is not the device it wants
to open.
Page 35
shortcut(s).
5 A previous program version (if it exists) does not have to
be removed before installing a newer version. Use of the
latest available version is recommended.
UP SOFTWARE Device Programming
5.3
UP is a name for control software designed for
The following sections describe the ways of programming
programmers made by ASIX. The program offers many
devices and things to pay special attention to.
advanced functions and enables an operator to control
the programming process either from the software
interface or remotely from the command line utilizing 5.3.1 Programmer
Windows messages and the DLL library. The program runs
under Windows. Selection
Before a device can be programmed, the programmer
5.1 Abbreviations Used which will be used needs to be selected. Currently either
FORTE or PRESTO can be chosen.
Menu ➙ item bold italics followed by the arrow sign ➙ make Select the programmer by going to Options ➙ Select
references to particular items in menus, names of programmer or by double-clicking the programmer
tabs (cards) in a particular window. name displayed in the top right corner of the program
window. The following dialog window opens:
5.2 Installation
Installation is very easy. The installation program can be
downloaded from www.asix.tech/prg_up_en.html. Run the
installer (UP_xxx_EN.EXE, where xxx represents the
version number). There is no need to close other running
applications. The installation process takes only a few
seconds and requires you to press the Enter key a few
times. No modifications to the operating system take
place during installation, i.e. no computer restart is
needed and the program can be used immediately after
completion (by clicking its icon, for example). After the
first start, the program asks which language it should use
(English or Czech), which programmer to work with (e.g.
FORTE) and which port the programmer is connected to.
Page 36
If the programmer is connected to a computer and no
other program communicates with it, its serial number
gets displayed. You can test communication with the
selected programmer by pressing the Test... button.
5.3.2 Projects
It is recommended to use projects for device programing
Fig. 41: Device selection
in UP.
A filter is available for sorting devices by families and
Projects save all settings directly associated with
another one for Quick search. Just start typing an
particular device programming such as device type,
important part of the device's name in its field. This
required voltage, verification method, name of file
radically reduces the list of devices and speeds up the
containing the programming data and many other
whole selection process.
important pieces of information.
The Quick search filter allows use of the question mark as
A new project can be created by choosing File ➙ New
a wild-card for a part of the name, for example
proj ect.
PIC18?20.
This is followed by selecting a device type, a file with
There is also a list of 10 Recently used devices where it
programming data, settings of the device's configuration
is possible to select one.
word, applied voltage and other important parameters.
configuration word, applied voltage and other important
parameters.
5.3.4 Program settings
It is advisable to fine-tune the program behavior by
Once all required selections are made, save the project by adjusting the settings to suit your particular needs. This
choosing File ➙ Save proj ect... can be done by choosing Options ➙ Program settings.
An existing project can be opened by choosing File ➙ There is a great number of possible settings. If you are
Open proj ect.... not sure that all the settings are correct, use the Load
defaults button, which returns all the setting to the
5.3.3 Device Type original (default) state.
Page 37
Delay for VDD switching on/off
when supplied from
programmer
If you supply power to your application from the
programmer during programming and UP announces
overcurrent on VDD pin due to charging capacitors in the
application, it may be advisable to enlarge the switch on
time in Program settings... ➙ Programming ➙ Delay
for VDD switching on/off when supplied from
programmer. This might be necessary to give the
programmer enough time to charge the large capacitors
in the application.
At the same place it si possible to set the discharge time,
when the program announces, that the VDD was not fully
discharged.
Page 38
programming and verification of the whole memory
content. The function of this button is programmable and
Production Programming can be set up under the Options ➙ Key shortcuts menu
Settings in the GO button section.
If you want to perfectly verify your production to make The use of the GO button for programming should be
sure that the device is correctly programmed, you can accompanied by Options ➙ Program settings ➙
use the Program settings ➙ Programming ➙ Verify Programming ➙ Reload file before every
with two supply voltages option and to apply the programming option.
lowest and the highest voltage allowed for the device as
the limits. Some manufacturers recommend this option Options ➙ Program settings ➙ Programming ➙ Keep
for the production programming. However, it is only manually modified data causes that manually modified
available if the application is supplied with power from data are not rewritten using the automatical file reload
FORTE. before programming.
Program settings ➙ Panels ➙ Show mass production Options ➙ Program settings ➙ Programming ➙ Warn
counter in status bar could be a useful tool visibly before file load, when data in some editor have
monitoring numbers of successfully and unsuccessfully been changed causes that a warning appears if data
programmed devices. The counter can be reset in Device have been changed in any editors and automatic file
➙ Program ➙ Mass production ➙ Counter reset. reloading option is set.
Program settings ➙ Serial numbers ➙ Log to file can Options ➙ Program settings ➙ Programming ➙
be used as another convenient assistant. With this option Warn, when the loaded file has not changed causes
selected, information on the programming progress of that a warning appears if the file loaded before
individual devices gets recorded (logged) in a selected programming has not changed.
file.
The following option can also be useful: Program
If you wish to automatically include the serial number settings ➙ Programming ➙ After programming:
during production programming, you have a great range Close status window if there is no error.
of possibilities concerning what the number should look
There are special cases when developers do not have the
like and where it should be positioned in the memory. All
device's voltage supply pin available in an application
serial number settings can be found on the Serial
powered by an external source. In order to feed the
numbers tab.
programmer's output circuits, power supply from the
For further information on serial numbers see Serial programmer must be switched on in such a case and its
Numbers. voltage set at the same value as used in the application.
Yet as some voltage still “sneaks” into the programmer
from the application through the programming pins, the
Settings for Programming programmer “sees” that there is some voltage present
and refuses to activate its own output voltage. For such a
During Development case the following option is available: Program settings
➙ Others ➙ Allow internal and external supply
If you are frequently changing the content of the voltages collision.
programming data such as during application
development, for example, you can simplify your work by WARNING: Activating this option in other situations
using the GO button, which typically serves for could damage the programmer!
Page 39
Programmer Settings Fuses and Working with Them
Each time a particular programmer is selected (FORTE or Characteristics of the device (fuse) to be programmed
PRESTO), the programmer settings window is displayed can be set in the Configuration window. Changes in
allowing the user to set the voltage used and some other fuses can be saved by choosing File ➙ Save or File ➙
important programming options. Save proj ect....
If you are using an external power source for feeding the If the given .hex file of device includes definitions of its
application, the During programming option must not fuses, fuses are saved in it.
be checked.
Fuses are saved together with a project in the case of
Atmel microcontrollers and memory chips. If you are
working with these, right-click the Configuration window
once you have set the fuses and use the Learn fuses
option.
Page 40
want to save such a modification, choose File ➙ Save, programmed.
File ➙ Save as... or File ➙ Export data memory to
file.... Differential programming is useful for development during
which content of the programming data changes very
often, but the changes are tiny. As only changed cells are
Important warning overwritten, the differential programming is advisable for
It is recommended to check the programmer devices with a low number of writing cycles. It can also be
settings and fuse settings before starting the faster than the conventional re-writing of the whole
actual programming as an error in these memory content.
parameters could damage the device or even
the programmer.
Page 41
When the "Open this form after start" setting is enabled,
the form opens after program start or after project file
open, if it is used.
Page 42
one device memories (the serial number itself directly to
the program, the equipment address to the data memory,
and the serial number again to ID positions in order to be
able to read it from a locked device, for example).
Page 43
The numbers themselves are logged in case of calculated or a numeral base in which the number is written in can
serial numbers while their labels are logged in case of be explicitly defined.
serial numbers taken from a file - see Format of Files with
Serial Numbers. For example, b'10101010' means the same as h'AA',
d'170' or just AA. 'A' means d'65' (ASCII character itself).
Except for the serial numbers also the date, time and the
result of the programming are writen to the file. For the Example record for PIC16F628A:
devices for which the revision reading is supported, the
revision number is also written to the file. 2100 05 55 54 means to save data 05h, 55h, 54h in
addresses 00 to 02 of a data memory.
The code/main memory which stores the serial number
Format of Files with Serial can also be specified by the word “CODE.” or “PROG.” or
Numbers just “P.”.
Files containing definitions of serial numbers are text files The data memory should be specified by the word
that can easily be created in third-party programs. *.SN or “DATA.” or “EE.” or just “E.”.
*.TXT are recommended file extensions.
“ID” or just “I” is used for the memory of ID positions.
A serial number record has the following form:
These words are always followed by an address inside the
[comment] label: data record, data record, ..., specified memory.
data record;
Example:
Semicolons are obligatory at the end of records.
EE.00 05 55 54 means to save data 05h, 55h, 54h in
• Comment is any string containing no colon ':'. addresses 00 to 02 of a data memory.
Comments are optional. If a colon cannot be found in
the whole serial number record, the record is ignored Notes
(understood as a comment). It is also possible to write
a comment behind two slashes '//'. • * There is no specifier for the configuration memory, it
would make no sense.
This is just a comment;
// Also this is a comment. dsPIC – addresses of 24-bit words are to be written in for
all addresses (i.e. an internal dsPIC address of 24h is 12h
• White character is a space, tabulator or end of line here). For a data (EEPROM) memory addresses of 16-bit
(CR+LF). words are to be written in, i.e. as they go one by one
through the microcontroller.
• Label is a string identifying the serial number. This
string is compulsory. The label must not contain white • Autonomous memory chips (I2C, SPI) have only the
characters, colons or semicolons. code memory. If a non-existent memory is specified,
an error is reported.
Data Record
A data record consists of an address and data items in a Example of File with Serial Numbers
chain following this address. Comment at the beginning;
sn1: 0000 34 45 56 67,
Each item can be written in hexadecimal form (e.g. 2100) 2100 01 02 03 04; serial number 1
Page 44
sn2: 0000 45 56 67 78, 2100 02 02 03 04;
sn3: 0000 56 67 78 89, 2100 03 02 03 04;
note Working With Calibration
sn4: 0000 67 78 89 9A, 2100 04 02 03 04;
Memory in Devices With Flash
sn5:
sn6:
0000 78 89 9A AB, 2100 05 02 03 04;
0000 78 89 9A AB, 2100 06 02 03 04;
Memory
sn7: 0000 78 89 9A AB, 2100 07 02 03 04; When these devices are erased, the content of their
sn8: code.0001 3F00 3F01 3F02 3F03, calibration memory is preserved.
data.0002 'x' '4' '2';
sn9: prog.0001 3F00 3F01 3F02 3F03, If you really need to erase the calibration memory for
e.0002 'x' '4' '3'; some reason, you can do so by choosing Device ➙ Erase
➙ Erase all (including calibration).
Page 45
3) Toolbar underlined letter in the menu.
4) Currently selected programmer The menu bar consists of the following menus
(categories):
5) Currently selected device
6) Programmer settings window • File Menu
The status bar is a panel in the bottom part of the window File ➙ Open...
(see Program Controls). It presents information on the Keyboard shortcut: Ctrl+O
programmer, the device, changes to the file since the last
saving, etc. The program opens the Windows standard dialog listing
the files saved on the disc. The supported file formats are
Individual parts of the status bar react to double-clicking described in Appendix C: Intel-HEX File Format. Files with
and to the context menu that opens after right-clicking. extensions .hex or .a43 are loaded as Intel-HEX, others as
If you want to hide or re-display the status bar, choose binary. There are also filters available making it possible
Program settings ➙ Panels ➙ Display the status bar to open all files as .hex or as .bin.
in the lower part of the window.
File ➙ Open next file...
5.5.3 Menus The program imports another .hex or .bin file with an
optional offset. This function is useful if the user needs to
The following texts describe in detail individual items in load another file into device's memory. Files with
the UP software menus. extensions .hex or .a43 are loaded as Intel-HEX, others as
.bin.
Menu commands can be triggered with mouse by clicking
on a particular menu item or from the keyboard by For example, this command provides for merging of
pressing the key together with the shortcut, i.e. the several .hex files (e.g. bootloader + program).
Page 46
When in Open next file dialog the user selects See Program settings for details.
Autoload next time, the file will be loading after the
main data file automatically. Then the file is listed in the File ➙ Import data memory from
File ➙ Open next: menu. Using this menu item the
autoload can be disabled again. file...
Using the Windows standard dialog, the program reads
This way it is possible to autoload one file. and imports the content of a data (EEPROM) memory
saved in a different file. This allows the user to load a
File ➙ Open next: data memory if this has not been saved in the same file
When this menu item is enabled, it shows that the as the code/main memory (this concerns ATmega8
automatic load of next file is enabled. By clicking this microcontrollers, for example).
menu item it is possible to disable the automatic file
load. Important warning
Such a file, regardless of its content, is read from the zero
File ➙ Reload actual file address as if it contained only the data (EEPROM)
Keyboard shortcut: Ctrl+R memory. This means that a file generated normally by a
compiler cannot be correctly read using this command.
The program re-opens (i.e. re-reads from the disc) the
currently open file. This command is useful if you know File ➙ Open file with data memory
that the file on the disc has changed and you want to load
these changes into the program. automatically
With this option selected, the program automatically
If you are using Program settings ➙ Files ➙ Do
loads the file for the data memory alongside with loading
automatic check for newer versions of actual file,
the file for the code/main memory. This option is active
the program automatically notifies the user of a change in
only if a separate file is loaded for the data memory.
the currently open file and offers its reloading.
Page 47
such a file opens as well.
File ➙ Export to bin...
File ➙ Save project... This command saves binary data from the code/main
memory, from the data memory or from ID positions in a
Keyboard shortcut: Shift+Ctrl+S selected file.
Using the Windows standard dialog, the program saves 16 or 8 bits word width can be selected for the data to be
the current project under a new name. Saving of the saved.
project under the same name is done automatically as
well as saving the program settings, for example.
File ➙ Exit
In the Save project dialog using Load project Standard Windows keyboard shortcut: Alt+F4
unlocked option it is possible to set that the project will Keyboard shortcut: Alt+X
not be locked after load.
Warning
File ➙ Close project If closing of the program is forced by the Turn
Keyboard shortcut: Shift+Ctrl+W Computer Off command and the program
does not receive the user's confirmation, the
The program terminates the work with the currently open system closes it forcibly after some time
project, saves the project file on the disc and returns to without saving the open file or settings.
the state in which it was before the new project was
opened. If the program is currently working with the
hardware, it refuses all system's requests to
File ➙ Recent projects turn off and can be seen as “not responding”
This function remembers the last 10 opened projects. by the system.
Clicking the name of one of them opens the project.
This command closes the program. If the open file has
changed, the program prompts the user to save the
File ➙ Read calibration data... changes.
Using the Windows standard dialog, the program opens a
file with the calibration data and loads the data in the
memory. Edit Menu
File ➙ Save calibration data... Edit ➙ Fill with value...
Using the Windows standard dialog, the program creates
The program fills a memory location with a specified
a file with the device's calibration data previously read
value. This command is used especially for erasing (filling
from the device connected to the programmer. This
with ones) or zeroing (filling with zeros) a particular
calibration data can be reloaded using Read calibration
location. Yet it can be filled with any value or with random
data if the device gets erased in the meantime.
data.
For further information on the program's support of work
When the Fill with value... command is called, the
with the calibration memory see Calibration Memory
program presets the selected memory according to the
Support.
active window. If a memory location was highlighted
before calling this command, the program presets the
Page 48
marked location for filling in.
View ➙ Code/main memory
A memory location can be selected by holding the Shift This command opens or closes the code/main memory
key and clicking by mouse or moving by means of the HEX editor window. For more on HEX editors see HEX
cursor keys (arrows). For further information on Editor Windows.
highlighting a location see HEX Editor Windows.
View ➙ Data memory
Edit ➙ Text insert... This command opens or closes the data memory HEX
This command saves a text in ASCII or in hexadecimal editor window. For more on HEX editors see HEX Editor
format into a selected memory location. Ends of lines can Windows.
be coded as NULL, CR, LF or CR+LF characters.
View Menu This command displays the data memory HEX editor. If it
is already displayed, it moves it to the front (the editor
gets focus). For more on HEX editors see HEX Editor
Windows.
Page 49
View ➙ Display configuration
memory Device Menu
Keyboard shortcut: Alt+F12
Device ➙ Program
This command displays the configuration memory HEX Keyboard shortcut: Shift+F5
editor. If it is already displayed, it moves it to the front
(the editor gets focus). For more on HEX editors see HEX This command opens a sub-menu with programming
Editor Windows. options. Some items may be inaccessible for certain
device types.
View ➙ Display programmer form ▸ Program all
Keyboard shortcut: Ctrl+P
Keyboard shortcut: F5
The programmer form is always visible. This function
moves the programmer form to the front (the editor gets This command erases the device, checks the erasure,
focus). programs it and verifies the programming result in the
whole device. The Device ID check and the Code/Data
Protection check are performed prior to this operation.
The behavior of this command is influenced by the
program settings - see Program settings.
Page 50
▸ Program data memory performs complete programming instead, including
device erasure.
A keyboard shortcut can be assigned in Options ➙ Key
shortcuts Differential programming of a data memory should be
used for AVR microcontrollers if the user needs to
This command erases the data memory, checks the reprogram the data memory only without previously
erasure, programs and checks the programming result. erasing the device.
Page 51
▸ Read data memory ▸ Verify code/main memory
A keyboard shortcut can be assigned in Options ➙ Key A keyboard shortcut can be assigned in Options ➙ Key
shortcuts shortcuts
This command reads the data (EEPROM) memory. This command compares the content of the code/main
memory with the current content of code/main memory's
▸ Read configuration memory HEX editor.
A keyboard shortcut can be assigned in Options ➙ Key
shortcuts ▸ Verify data memory
A keyboard shortcut can be assigned in Options ➙ Key
This command reads the configuration memory and ID shortcuts
positions (if device contains them).
This command compares the content of the data memory
▸ Read address with the current content of data memory's HEX editor.
This function enables reading of data from user filled
address, it supports MCUs ARM via SWD interface. ▸ Verify configuration memory
A keyboard shortcut can be assigned in Options ➙ Key
Device ➙ Verify shortcuts
Keyboard shortcut: Shift+F7 This command compares the content of device's
configuration memory and ID positions (if device contains
This command opens a sub-menu with device memory
them) with settings in the Configuration window.
content verification options. Some of them may be not
available for certain device types
Device ➙ Erase
▸ Verify all Keyboard shortcut: Shift+F8
Keyboard shortcut: F7 This command opens a sub-menu with device memory
erasing options.
This command compares the content of all device
memories with the current content of HEX editors. Erasure verification (blank check) is automatically
performed after each erasing. This verification can be
▸ Verify all except data memory skipped by choosing Options ➙ Program settings ➙
A keyboard shortcut can be assigned in Options ➙ Key Programming ➙ Do not perform blank check after
shortcuts erasing. This can save time with some devices.
Page 52
▸ Erase code/main memory ▸ Blank check of data memory
A keyboard shortcut can be assigned in Options ➙ Key A keyboard shortcut can be assigned in Options ➙ Key
shortcuts shortcuts
This command erases the code/main memory. It cannot This command verifies whether the data memory is
be used if Code/Data Protection is active. correctly erased.
This command erases the data memory and verifies it. It This command verifies whether the configuration memory
cannot be used if Code/Data Protection is active. and ID positions (if device contains them) are correctly
erased.
Device ➙ Blank check
Keyboard shortcut: Shift+F9 Device ➙ Select device
Keyboard shortcut: F4
This command opens a sub-menu with device erasure
verification options. Some of them may be not available This dialog allows you to select a device type to be
for certain device types. programmed. Some memory types need to have their
data organization selected after the device type
▸ Blank check all selection.
Keyboard shortcut: F9 Only devices supported by the currently selected
programmer are displayed in the dialog window. If you
This command verifies whether the device is correctly
want to select a device not supported by the current
and completely erased.
programmer, select a different programmer type first.
▸ Blank check all except data memory For further information on selecting a device see Device
A keyboard shortcut can be assigned in Options ➙ Key Type Selection.
shortcuts
Device ➙ Device info
This command verifies whether the device except the
data memory has been correctly erased. Shows a window with information about connecting the
selected device to the programmer.
▸ Blank check of code/main memory
A keyboard shortcut can be assigned in Options ➙ Key
shortcuts
Page 53
▸ Keep manually modified data
Options Menu When this choice is active, the file load before
programming does not rewrite manually changed data.
Keyboard shortcut: Shift+F10 This choice affects only behavior of the file reload before
The Options menu holds all the possible settings of the programming.
UP program. There is a great number of setting
parameters. If you are not sure that all settings are ▸ Warn before file load, when data in
correct, you may use the Load defaults button, which some editor have been changed
returns all the settings to the initial (factory) state. When before load of the file before programming it is
found that data in some editor have been changed, the
Advice program shows a warning.
Program settings ➙ Load defaults button renews the state of
all settings on all tabs, i.e. even the color settings, for example. ▸ Warn, when the loaded file has not
changed
Options ➙ Program settings ➙ Program shows a warning, when the content of the
Programming loaded file has not changed from the previous
programming.
Keyboard shortcut: Shift+F10
This tab provides for setting all the general programming ▸ Program file locations only
parameters. The programming changes only the positions contained in
the file. First it reads the programmed device content,
Settings concerning the programmer and the then it reads the file content which replaces the data read
communication port are described in Programmer from the device. The addresses which are not contained
Selection. in the file hold the value read from the device. Finally the
A special Device ➙ Select device window is available for memory is programmed.
setting the device type.
▸ Ask before erasing
▸ Reload file before every programming With this option checked, the program asks for user
The program reads the current file with programming confirmation before erasing a device.
data from the disc before each and every request to
program a device if this option is checked. ▸ Ask before programming of OTP / Flash
If the use of serial numbers is also activated requesting
/ Code/Data Protection / differential
reading the current file prior to programming, then the A set of options determining which user confirmation
file is read first and only then is the current serial number dialogs will or will not be displayed by the program.
written. The program asks just once except the Code/Data
Protection programming. If the program needs to ask
the user for additional information before actual
programming (such as Device has Code or Data
Protection. Do you want to erase it entirely?), it
Page 54
does not ask for further programming confirmation after Both PRESTO and FORTE feature an overcurrent
answering the first dialog. protection. This means that a test for excessive current of
approximately 100 mA in power supply voltage is
▸ Display fuse warning messages performed after connecting power to the device and
expiration of the delay time set in Switch on.
The user can choose if warning messages should be
displayed for some fuses. It is recommended to leave this Similarly the delay time set in Discharge specifies how
option on. late after switching the power supply off a check should
be performed if no voltage is present any longer at the
▸ Except for programming: Close status pin.
window If a blocking capacitor is connected to the device's power
This option closes the status window if no error occurs supply pins (recommended), the voltage at the pin
during erasing, blank check, programming verification changes more slowly. This could cause problems during
and reading. programming, but they can be eliminated by prolonging
the charging and discharging time.
▸ After programming: Close status
Too long a time increases the risk of damaging the device
window if connected incorrectly while too short a time could
This option closes the status window if no error occurs cause programmer's circuits to still detect excessive
during programming and the subsequent verification. current flowing to the application's capacitors. A formula
for an approximate determination of the necessary time
▸ Beep after successful finishing can be found in Appendix B: Use of ICSP.
With this option active, the program calls up the standard
Windows system beep if the operation (such as erasing, ▸ Do not perform Device ID check before
programming, etc.) went smoothly. programming
This option switches off the Device ID check before
▸ Beep after unsuccessful finishing programming.
With this option active, the program calls up the standard
Windows system beep if an error or warning occurs during ▸ Do not perform blank check before cfg
the operation (such as erasing, programming, etc.).
word programming
▸ Turn off all sound for UP Most rewritable devices can overwrite the configuration
word without erasing the whole device content. Skipping
With this option on, the program does not produce any the blank check of the configuration word utilizes this
sounds. possibility, i.e. the program ignores the not erased word.
▸ Delay for VDD switching on/off when This option does not apply to the whole-device
programming in which the device is erased completely. It
supplied from programmer concerns only the configuration word and its overwriting.
This option is important for programming PCB-placed
devices via an ICSP cable. It determines the length of the
delay after voltage is connected to or disconnected from
a device.
Page 55
▸ Do not perform blank check after ▸ Verify with two supply voltages
erasing This option is available only for FORTE and only for the
This option speeds up the programming process and is internal power supply from the programmer. It allows you
useful especially for debugging. The danger is that an to perform the verification at two different power supply
incorrectly erased device is subsequently incorrectly voltages defined by the user.
programmed and the fault only gets detected later. On
Some device manufacturers recommend to verify the
the other hand, a device is erased incorrectly only once in
content after production programming at two different
several hundred attempts.
voltages corresponding with the approved range of the
device's power supply voltages.
▸ Do not erase device before
programming Options ➙ Program settings ➙
The device is not erased before programming.
Panels
▸ Do not erase data memory before its Keyboard shortcut: Shift+F10
programming This part of the Options menu allows you to alter the
This option only concerns programming of Atmel AVR application's appearance. The user can set where and
devices e.g. ATmega8. Data memory of this family how some control components are to be displayed.
devices does not require to be erased before
programming. If this option is not activated, whole device ▸ Display selected device on toolbar
will be erased before programming. In addition to the status bar, the selected device is also
displayed in the toolbar.
▸ Do not verify unprogrammed words at
the end of the memory ▸ Display selected programmer on
If there is a location at the end of the code/main memory toolbar
containing only default values, it is not verified. In addition to the status bar, the selected programmer is
also displayed in the toolbar.
This option speeds up the verification of the programmed
memory as the content of the “empty” memory at its end
usually does not matter. ▸ Display the status bar in the lower part
of the window
▸ Do not verify This option determines whether the status bar is to be
This option completely switches off the verification of a displayed or not.
programmed device. Such off-switching can radically
speed up the programming process during development. ▸ Display icons on toolbar buttons
This option must not be activated for production as Icons of individual tools are displayed in the toolbar.
correctness of the programmed content would not be
guaranteed.
Page 56
▸ Display descriptions on toolbar buttons ▸ File save style
Tool names are displayed next to individual tools in the The File save style panel offers the possibility not to
toolbar. always save all areas of all editors in the file, but rather
only some. UP then asks questions based on the saving
If the Descriptions on toolbar buttons to the right style settings before saving different project editors.
option is used, the total toolbar height is reduced to a
half. ▸ Do automatic check for newer version
▸ Show mass production counter in of actual file
This option helps especially in debugging a program. The
status bar program re-loads the file if it detects a change in the file
This option displays the mass production counter in the modification date.
status bar. The counter shows the number of devices
programmed and the number of devices programmed ▸ Never ask and never save changes to
successfully.
data file
If you use the Count all actions option, the counter When this option is enabled and data in an editor have
includes all actions performed with the device (such as been changed, before opening of an other file, before
reading, erasing, data memory programming, etc.). closing of the application etc. the application will not ask
Show values description displays explanatory notes to and will not save the file which is currently open.
individual counter items for easier understanding.
▸ Check device type when loading .hex
If you want to exclude operations that triggered a file
warning from the correct operations, use the If action
ends with warning assume as erroneous option. If the device type has been saved in the corresponding
Intel-HEX file and it does not agree with the currently
The choice Reset counters on proj ect open causes, selected device type, the program points out this
that the counters are reset on any project file load, discrepancy.
including automatic project load during program start.
▸ Save device type into .hex file
Counter style allows you to choose whether the counter
should display the good/bad or good/total figures. The program adds one more line below the end of file
command specifying the type of device for which the file
The Counter reset, button can be used for zeroing the is being saved.
counters while their initial values can be set in the Preset
counter values fields. Such a modified file does not comply with the Intel-HEX
format, but most programs working with the Intel-HEX
format ignore this line.
Options ➙ Program settings ➙ Files
Keyboard shortcut: Shift+F10 For further information about the Intel-HEX format see
Appendix C: Intel-HEX File Format.
This tab holds all the settings for reading data from and
saving data to files.
Page 57
▸ Warn when loaded HEX does not ▸ Clear code/main / data memory / ID
contain CFG memory data positions before file reading
If the file does not contain configuration memory data This location is filled with ones and only then a file is
and the data are expected for the chosen device, a loaded. This way all positions that are not saved in the
warning message is displayed. .hex file get erased.
▸ Warn when loaded HEX is not aligned This option is also important if no “empty” locations are
saved in the .hex file (see ▸ Save unused locations to .hex
to word size. file).
If the file is not aligned to the word size of the memory of
the device, a warning message is displayed. ▸ Erase configuration memory before file
▸ Binary file loading and saving style reading
With this option activated, the configuration memory is
This panel provides for the setting of how .bin files are to initialized before a file for code/main memory is loaded.
be loaded and saved if a device with more than one byte
per word is selected. If no fuses are saved in the file, it is recommended to
deactivate this option. At the beginning of the work, the
Available options are: the program always asks before user can set the content of the configuration memory and
loading or saving a .bin file (Ask if to load/save .bin as then the fuses do not have to be set again if the file is
Big or Little Endian), or without asking, the program repeatedly loaded.
always loads files as Little Endian (Never ask, load/save
as Little Endian) or as Big Endian (Never ask, load/ ▸ Read data memory not from the file but
save as Big Endian).
from the device
▸ Save unused locations to .hex file If you want to make sure that the content of the data
memory does not get overwritten, use the ▸ Program all
If not all positions are saved, the final file is smaller, but it
except data memory option. If, however the ▸ Program all
can cause difficulties as a cell is considered an “empty
option is selected by accident (by unintended pressing of
position” if it contains only ones (e.i. FFFh, 3FFFh, etc.).
the GO button, for example), the content of the data
Yet this could be a meaningful instruction (3FFFh is
memory would be erased.
Microchip PIC addlw -1 instruction, for example).
For such cases, this option of Read data memory not
As UP always saves files by larger blocks, (by eight or
from the file but from the device is available. The
sixteen bytes), the danger of losing an instruction by such
program fills in the given location with the memory
saving is rather small in reality.
content of the device connected to the programmer.
If you use memory initialization prior to loading a .hex file
(which is recommended), even a program loaded from a Advice
reduced .hex file will be correctly programmed as the This option could cause unexpected actions during work
missing instructions are created “automatically”. with the programmer such as switching the application on
or starting the UP program.
Page 58
▸ Read ID positions not from the file but Options ➙ Program settings ➙
from the device Editors
If you want to preserve the content of the ID positions, Keyboard shortcut: Shift+F10
use the Read ID positions not from the file but from
the device option. The program fills in the given location
with the memory content of the device connected to the
▸ Code/main memory editor: show words
programmer before starting the programming itself. as bytes
Individual words can be displayed by bytes in case of
Advice devices with 16-bit-long words.
This option could cause unexpected actions during work
with the programmer such as switching the application on ▸ Code/main memory editor 8 words
or starting the UP program. wide
This option narrows the editor from the original sixteen
▸ Save fuses in UP instead of data file cells down to eight. The option is suitable especially for
This option allows to save fuses in ini file or UP projekt file small monitors. It can change automatically when a
even for devices which by default have their fuses saved different device type is selected.
in a data file.
The same option can be set for others memories:
▸ Project storing style ▸ Data memory editor 8 words wide
This panel allows you to set how projects should be saved
when exiting UP. Available options are: save ▸ Boot memory editor 8 words wide
automatically, ask before saving or keep the original file
(i.e. do not save).
▸ Show only the lowest byte of word in
ASCII
▸ Load last project on start-up When this option is activated, the program shows the
This option allows you to set if on the next UP start it will ASCII translation of only the lowest byte of word, which
open the project file, which was open on program can be useful especially for PIC MCUs.
closing.
▸ Mask ID positions while reading from
Options ➙ Program settings ➙ device, from file, etc.
Colors Some manufacturers' specifications recommend saving
only masked data (with only four bits usable) in ID
Keyboard shortcut: Shift+F10 positions. With this option activated, the program always
This is where you can change and save colors of HEX applies this bit mask when reading ID positions from
editors so that they suit your needs and your aesthetic different sources.
preferences.
Page 59
▸ Mask ID positions during direct user ▸ Find successor after programming
input Once one programming procedure is successfully
With this option activated, the program applies the bit completed, the system proceeds to the following serial
mask to each user-modification of ID positions. For further number. If this option is not activated, it is still possible to
information see ▸ Mask ID positions while reading from proceed to the following number manually by clicking the
device, from file, etc.. Next button on the Serial numbers tab – see Serial
Numbers.
▸ Configuration memory editor: show cfg
▸ Prepare S/N after programming
word instead of fuses
This option causes that a serial number is prepared in the
This option is recommended for advanced users only. It is
selected memory location after the device programming.
not saved in the UP configuration file for safety reasons.
Page 60
▸ Serial number length (the number of ▸ Destination
characters) This panel determines the memory location in which the
This field determines how many characters the serial serial numbers are to be stored. Code/main memory,
number can hold. For example, 4 characters provide for data memory and ID positions are available as
the serial numbers 0001 to 9999 in base 10 (i.e. in options.
decimal form).
▸ Hexadecimal address of first word
▸ Number base This address defines where the first word of the serial
This option defines the base of the serial number number is to start in the selected memory type.
characters. Base 10 and base 16 are available (i.e. the
decimal and hexadecimal forms). ▸ Fill with RETLW instruction
Individual words of the serial number can be filled with
▸ Code as ASCII RETLW instruction in Microchip microcontrollers. This
With this option activated, serial numbers are legible as option is available only if the serial number is located in
ASCII characters. the code/main memory.
Page 61
▸ Show checksum in status bar If you approve the collision of supply voltages, it allows
the programmer to connect its internal voltage to pin
After enabling of this setting the checksum of the code VDD at times when it can already see a voltage present
memory will be shown on the status bar. there. This could damage both the programmer and/or
the application being programmed.
When MD5 checksum algorithm is selected, the checksum
is shown after placing the mouse on MD5 text in the This option has been included for very specific cases. One
status bar. of them can be a request to program an application,
which does not have any VDD pin. Then the application
Note: Doubleclick on the checksum value in the status bar
must be powered from its own source but the
will cause the value recalculation.
programmer's output buffers must be powered from the
USB. Yet as the voltage at the application's data signals
▸ Write checksum to log file “sneaks” through the protective diodes into the output
Enables writing of the loaded data file checksum to a log section of the programmer, the programmer can see a
file. certain small voltage present at VDD and refuses to
connect its own internal voltage to it.
Note: The checksum is recalculated on data file load. This
function have to be enabled before the file load, else the ▸ Do not show warning if internal 5 V is
checksum value will not be written to the log file.
switched on with 3.3 V device
▸ Checksum algorithm
Warning
Using this choice the checksum calculation algorithm can High a voltage at the device can damage the
be chosen. programmer or the application being
programmed.
Options ➙ Program settings ➙
This option can be used to suppress the warning if a
Others higher voltage is switched on at the VDD output than the
Keyboard shortcut: Shift+F10 value allowed for the particular device.
Page 62
the device being programmed can cope with. This option is available only for FORTE.
Page 63
Help ➙ List of supported devices During programming
This command displays a list of devices currently If this option is checked, voltage from the programmer
supported by the latest version of UP. will be used during programming.
Page 64
▸ Programming method programmed.
Page 65
I2C Memory Address Programming Method
Select the address of the I2C memory on the bus. • HVP Traditional programming is applied with 13 V
present at VPP.
Settings Associated with SPI Flash • LVP Programming utilizing microcontroller's LVP pin is
Chips applied, only logical values of 0 or 1 are present at
programmer's pin P.
▸ Start address
Sets the address range for work with the memory. Start Algorithm Programming
address is the first address, where the selected • Auto An algorithm is selected according to the voltage
operation is executed. currently present at VDD.
• Ucc=5 V The algorithm for fast 5 V programming is
▸ End address used.
Sets the address range for work with the memory. End
address is the last address, where the selected operation • Ucc=2.7 to 5.5 V The algorithm for slow
is executed. programming is used with the benefit of working at all
power supply voltages.
Use PE
PRESTO Programmer Settings Programming utilizing the Use PE option can be applied
Window to PIC24 and dsPIC33 devices. PE stands for Programming
Executive and it is a programming method frequently
In idle state proving to be faster. The Programming Executive does
If this option is checked, the programmer supplies power verification after programming, that is why UP does not
to the application even when not programming. verify after PE programming.
Page 66
Faster Programming with Slow Clock Settings Associated with SPI Flash
If this option is active, once the device is erased, the
fuses are programmed at the maximum frequency of the
Chips
internal oscillator. This allows the programmer to ▸ Start address
communicate with the device at a faster speed. At the Sets the address range for work with the memory. Start
end of programming, the required value of the address is the first address, where the selected
communication memory including the clock speed is operation is executed.
programmed.
This option has its effect only if the whole device is ▸ End address
programmed. Sets the address range for work with the memory. End
address is the last address, where the selected operation
Inverse Reset is executed.
With this option activated, the programmer generates an
inverse reset signal. 5.5.5 HEX Editor Windows
This option is appreciated if the application includes a HEX editors are used for displaying the content of a
reset circuit that needs an inverse signal at the input memory chip to be programmed.
compared to the output signal sent to the microcontroller
and if the programmer is connected via this reset circuit. Different colors are used in HEX editors to differentiate
between states of different cells to make it easy to see
HVP which cells have been read from a file, which have been
successfully programmed, etc.
If this option is checked, the programmer uses the “high”
voltage at pin P for communication with the device. Colors may be user-assigned. This is especially
recommended for workstations with displays/screens
This allows you to program a device with the external displaying only a limited number of colors.
RESET signal switched off.
Page 67
Tips for Advanced Users
Code/Main Memory Editor Even though the configuration memory may be presented
as a set of settings, in reality it is nothing more than a
Menu: View ➙ Display code/main memory memory that can be approached cell by cell. Due to this,
Keyboard shortcut to open the window: F10 it is possible to display the memory in this way.
Keyboard shortcut to close the window: Esc This can be achieved by activating Options ➙ Program
The code/main memory editor displays the code/main settings ➙ Editors ➙ Configuration memory editor:
memory content or the content of the memory itself in show cfg word instead of fuses option or by double-
case of serial EEPROM chips (24xx, 93xx,...). clicking the configuration memory window.
The device's ID positions (do not mistake for Device ID)
can also be found in the configuration memory window. ID
Data Memory (EEPROM) Editor positions can be programmed with values identifying the
device, such as the serial number, for example. ID
Menu: View ➙ Display data memory positions can always be read - even if the device is locked
against reading.
Keyboard shortcut to open the window: F11
Keyboard shortcut to close the window: Esc According to the recommendation of the Microchip, ID
positions should not be programmed with any value; only
The data memory editor is used for displaying the content
a certain number of bits (typically 4) should carry data for
of the additional memory in some devices (typically
identification while other bits should be programmed with
EEPROM).
the default value.
Not all devices have an additional memory. This means
This can be achieved by activating Options ➙ Program
the editor may not be available for some devices.
settings ➙ Editors ➙ Mask ID positions....
Page 68
On the commandline it is recommended to use project /q /quiet “Quiet” mode. The program does not ask
file, it contains important settings for programming. Some any questions. If it needs to display a
project settings can be modified using commandline dialog, the execution finishes with an error.
parameters. Commandline parameters have higher See UP program return codes. An external
priority than the settings from the project defined on the application can monitor UP work flow by
commandline. ProgressBar value reading, see Work flow
monitoring.
5.6.1 List of Parameters /q1 “Quiet” mode 1. It works same like the /q
parameter, but shows the Status form,
UP.EXE [{/ask | /q | /q1}]
which is closed after programming
[{/e File_with_eepromm.hex | [/noe]}] [{/p |[/pdiff]| [/
regardless of errors. UP does not provide
o]} File.hex | File.ppr] [/df File.hex] [/part
with the ProgressBar value when the /q1
device_name] [/eeonly] [/erase][/w[nd]
parameter was used.
up_window_class] [/cfg] [/devid] [/blank] [/verify File]
[/read File] [/s SN_programmer's][/progname name] [/ /e file “EEPROM” file. For keying in the name of a
noboot] [/boot] [/code] [/getpartrev] [/sn file with data for data memory, if needed. If
serial_number] [/conf file] the file name contains space(s), it must be
enclosed by inverted commas.
Legend
/noe “No EEPROM”. The program skips the
• Text presented here in bold is to be keyed in in the device data memory programming. If this
command line exactly as printed here. parameter is used for MSP430
microcontroller programming, the
• Text presented here in italics is to be replaced by the information memory is erased and
corresponding parameter. For example, file_name programmed.
should be replaced with the real name of a file to be
opened. /p file To “program”. The keyed in file will be
programmed. The file can be a data file,
• Text in braces {} separated by the | sign represents a e.g. hex file, or UP project file. If the file
selection of one of the presented options. For example, name contains space(s), it must be
{ A | B } means “choose either A or B”. enclosed by inverted commas.
• Text in square brackets [] presents an optional
/pdiff file To “program the difference”. The keyed in
parameter – it can be keyed in but does not have to.
file gets programmed by the differential
• Text in quotation marks “ ” is a mnemonic. algorithm. If the file name contains
space(s), it must be enclosed by inverted
/ask To be used linked with /p. The program commas.
always asks if it is to continue before
launching the actual device programming /o file To open. The keyed in file opens. The file
even if the program settings specify not to can be a data file, e.g. hex file, or UP
ask. The dialog displays the selected device project file. This parameter is optional. If
type. the file name contains space(s), it must be
enclosed by inverted commas.
Page 69
/df file When there is UP project file specified after /s programmer_SN This makes it possible to
the /p or /o parameter and user wants to select a programmer by its serial number.
use the project and to change data file The serial number is to be keyed in the way
only, the /df parameter with the new data it is displayed in the UP program and
file name can be used for this purpose. If printed on the programmer bottom.
the file name contains space(s), it must be Example: 016709 or A6016709. When *
enclosed by inverted commas. sign is used instead of the serial number,
then any available programmer of the
/eeonly This executes the selected operation only selected type is used.
with the data (EEPROM) memory or only
with the information memory in the case of /progname name This makes it possible to
MSP430. select a programmer by its name such as
PRESTO or FORTE for example.
/part name This selects the required device in
UP. /noboot This skips programming of the MSP430 boot
memory.
/erase This erases the device.
/boot This performs the selected operation only
/wnd class name A different window class name. More with the MSP430 boot memory.
than one instance of the UP program can
be started using this parameter (running Note
then simultaneously). Each new instance of
the running UP must have a different class PIC32 microcontrollers also have a boot
name. memory. This, however, uses variables and
a data memory form for programming, so it
/cfg If this parameter is used in combination works with parameters for a data memory
with parameter /p, only the configuration and not with parameters for a boot
memory gets programmed. This is useful memory. A similar situation can be found in
for programming AVR microcontrollers, for the information memory of MSP430 and
example, which can be switched to a faster CC430 microcontrollers.
oscillator and then programmed much
faster. /code This performs the selected operation only
with code or main memory.
/devid If this parameter is used in combination
with parameter /p, the software only /getpartrev Only reads the revision of the device
checks the device's Device ID. and returns revision + 0x10000 as the error
code.
/blank This checks device erasure (blank check)
and returns an error code if the result is not /sn serial_number Using this parameter it is possible to
OK. enter the value of the serial number, which
is then written to the address in accordance
/verify file This verifies the device. with the serial numbers settings. In the
settings, the serial numbers have to be
/read file This reads the device and saves the read configured as Computed, Manual. The
content to the file. number is entered as hexadecimal, e.g.
1234ABCD.
Page 70
/conf file When UP closes, it saves its console 2 Equipment error. Communication test
content to the file, but only when the failed, communication error.
operation was started from the
commandline. 3 Programming preparation error. device
cannot be erased, etc.
Note: When no parameter requesting an operation is
used, the UP starts and keeps running. When a parameter 4 Programming error.
requesting an operation is used and the software is not 5 Verification error.
running, the operation is executed and the software
closes if it does not need user interaction. 6 Programming failed due to a need to
communicate with user.
Page 71
5.7 Running UP by Means 5.7.1 List of Commands
Unless specified otherwise, the command returns to its
of Windows Messages return value:
Page 72
bit 3 = 1 boot memory (MSP430, CC430) 4 – more than 6 V
6 see verification return value FORTE:
below -1 - measuring error
xx - measured voltage × 10
bit 0 = 1 code/main memory example: 33 means 3.3 V
bit 1 = 1 data memory (EEPROM) 24 address reads data from address, returns error code,
bit 2 = 1 configuration memory data are returned with wParam = 25
bit 3 = 1 boot memory (MSP430, CC430) 25 any returns last data read with wParam of 24
7 see erasing, same return code as from the 32 see UP program initialization
below command line below
bit 0 = 1 code/main memory bit 0 = 1 reload settings (reload project/ini file or
bit 1 = 1 data memory (EEPROM) registry)
bit 3 = 1 boot memory (MSP430, CC430) bit 1 = 1 reload language file
8 see BlankCheck of memory, same return code as bit 2 = 1 recreate programmer (like programmer was
below from the command line changed)
bit 0 = 1 code/main memory bit 3 = 1 reload programmer settings (like port
settings)
bit 1 = 1 data memory (EEPROM)
bit 4 = 1 reload selected device
bit 2 = 1 configuration memory
bit 5 = 1 reload current file (.hex, .bin, ...)
bit 3 = 1 boot memory (MSP430, CC430)
bit 6 = 1 recreate all dialog windows (adjust their size
15 any presses the GO button, returns 1
when reloading device)
16 see asks if the programmer supports the function
0x 0100 refresh device specific windows
below
0x 0200 refresh all editors
0 MCLRControl_Run
0x 0300 refresh project captions
1 MCLRControl_Stop
33 1 save all project settings
2 MCLRControl_Reset
48 see saves current file (same as Ctrl+S), returns 0
8 current voltage at pin VDD
below1 when there was no error else returns a
17 see performs the programmer function nonzero value
below
bit 0 = 1 code/main memory
0 MCLRControl_Run
bit 1 = 1 data memory (EEPROM)
1 MCLRControl_Stop
bit 2 = 1 configuration memory
2 MCLRControl_Reset
bit 3 = 1 boot memory (MSP430, CC430)
8 current voltage at pin VDD
56 0 returns the handle of the UP main form
return value PRESTO:
0 – unknown level Table 13: Commands WM_USER
1– 0 V
2 – approx. 2 V
A message of the WM_CLOSE type closes the UP
3 – approx. 5 V
program.
Page 73
Example of use 5.8 UP_DLL.DLL Library
var Thanks to this library strings can be exchanged with the
window: HWND; UP program.
begin
window := FindWindow('up v1.x', nil); As the library needs to communicate with UP, the
Result := SendMessage(window, program must be running. UP_DLL cannot work on its
WM_USER, 0, 0); own.
end.
unit up_dll;
interface
1 Only parameter lParam=1 or lParam=2 are allowed for Function UP_LoadFile (FileName: PChar; style: in
AVR microcontrollers. teger): integer; stdcall;
(*
* Load File (with extension .hex or .ppr);
* Loading of .ppr file can result in loading .he
x file too;
* Result codes are same like on command
* line.
*
* Style |
= 1; UP will be quiet on file load errors
* Style |
= 2; UP will do no previous file saving
*
*)
Page 74
eName: PChar; Value:PChar): BOOL; stdcall; implementation
Page 75
the command line to the already running first instance or
makes it visible in another way. 5.11 Updating UP
However, UP can be started and run in several instances if
used together with the parameter /w and a different If a newer program version is available on the web, it is
window class name. Those programs (instances) having recommended to update the existing version as it may
the same window class name will communicate with each eliminate known bugs or make the programming
other. algorithm for a particular device more efficient.
Parameters for the program controlled from the command New versions also add newly supported types of devices.
line are described in Running UP from Command Line.
Updates are free and are very easy. You can download a
new program version from https://www.asix.tech/
Example of use prg_up_en.html and simply install it over the previous one
The first instance of UP can be started the standard way by running the installer and clicking the Next button till it
from the start menu. finishes.
Additional instances can be started from the command You do not have to worry about losing the settings you
line as up.exe /w "another up", for example. created in your current program version. The installation
preserves all of them.
5.10 Access of More UP You can set an automatic check for newer versions on the
web in Options ➙ Program settings ➙ Others.
Page 76
If true, the contents of code memory is erased (in UP
5.12.2 List of UP variables memory) before new file is loaded;
Prog.LoadFileBfgProg all cells not stored in the file will have its default (blank)
boolean state.
If true, current file is reloaded before device (or its part) is Part.Name
programmed. string
File.AutoCheck Prog.UseOnlyThisSN
boolean boolean
If true, current file is periodically tested for changes. If true, the SN saved in the up.ini is always used regardles
of the SN contained in a project file.
File.LoadOnModify
boolean LanguageFile
string
If true, when change is detected, question pops up.
Relative path to used languange file
FileLoad.ClearData
Project.File
string
FileLoad.ClearCfg Project file path
Project.Present
FileLoad.ClearID boolean
Project.Template
FileLoad.ClearCode boolean
boolean
Page 77
If true, the user is asked for project name before its string
saving.
Path of a separate file for data memory.
HexFile.File
string HexFile.DataIHex
boolean
Opened current file path
If true, the file for data memory with extension different
HexFile.Present from .HEX or .BIN is loaded as HEX file.
boolean
Prog.QBfrEraseFlash
HexFile.IHex boolean
boolean Question before erasing flash devices
If true, the file with extension different from .HEX or .BIN
is loaded as HEX file. Prog.QBfrProgFlash
boolean
HexFile.Template Question before programming flash devices
boolean
Page 78
If true, status window will be automatically closed after boolean
programming without errors.
If true, verification of empty FF positions at the end of the
Prog.BeepOnGoodProg programmed memory is not preformed.
boolean
Prog.SkipVerify
If true, program makes a sound on successful boolean
programming.
If true, no verification is performed after programming.
Prog.BeepOnBadProg
boolean Prog.DoubleVerify
boolean
If true, program makes a sound on unsuccessful
programming. If true, verification on two supply voltages is performed
after programming. Supported by FORTE with internal
Prog.SoundsOff supply voltage only.
boolean
Prog.DoubleVerifyV1
If true, all sounds of the program are switched off. integer
Prog.SkipBlankForCfg Defines supply voltage size for the first verification, the
boolean value is in volts x 10.
Page 79
File name of external file with serial numbers Serial.CPW
integer
Serial.File.Next
string If serial number is computed, chars per word
Serial.Retlw Serial.Write.BeforeProg
boolean boolean
If serial number is computed, if true, memory cells are If true, current serial number is "written" into opened HEX
filled with retlw instructions. editors just before programming the device.
Serial.Addr Serial.Write.AfterProg
integer boolean
If serial number is computed, address where to save If true, current serial number is "written" into opened HEX
editors after successful programming.
Page 80
Serial.Succ.AfterProg 1 power supply during programming is
boolean Internal 5 V
ICSP.LongTime.Time.SwOff SpecSettings.PREST.PICAlg
integer integer
Time to wait after Vcc is switched off in microseconds. 0 automatic selection
Page 81
0 Lower Boot alias 1 1.5 MHz
SpecSettings.PREST.PSoCAlg SpecSettings.PREST.AVRXTAL.CLK
integer
If true, MSP430 Segment A is erased. If true, high voltage method is used for AVR MCUs, it is
supported for AVR TPI interface only.
SpecSettings.PREST.SPI_Flash_Freq
integer SpecSettings.FORTE.UVCCLevel
integer
0 3 MHz
Defines the size of the internal supply voltage provided by
Page 82
FORTE programmer. The value is in volts x 10. 0 Reset mode
0 Normal
SpecSettings.FORTE.LVP
integer 1 Slow
0 HVP method 2 Slowest
1 LVP method SpecSettings.FORTE.MSP430EraseSegme
SpecSettings.FORTE.UsePE ntA
boolean boolean
Page 83
2 Int.RC 32 kHz in comparison with standard polarity of the reset signal of
the selected chip. It is supported with AVR and 8051
SpecSettings.FORTE.ARMCommFreq devices.
integer
SpecSettings.FORTE.AVRHVP
Selects communication frequency between FORTE boolean
programmer and the programmed chip. The frequencies
are same as stated in the "Communication frequency" If true, high voltage method is used for AVR MCUs, it is
ComboBox in UP. 0 means the highest frequency, 1 is supported for AVR TPI interface only.
lower and so on.
SpecSettings.FORTE.ATxmegaInterface
SpecSettings.FORTE.SPI_Flash_Freq integer
integer
0 PDI
Selects communication frequency between FORTE
programmer and the programmed chip. The frequencies 1 JTAG
are same as stated in the "Communication frequency"
ComboBox in UP. 0 means the highest frequency, 1 is SpecSettings.FORTE.i2cSpeed
lower and so on. integer
0 100 kHz
SpecSettings.FORTE.AVRXTAL.DELAY
integer 1 400 kHz
represents maximum AVR oscillator frequency 2 1 MHz
value can be found in *.lng files at item 3 Maximal
MainForm.PRESTSpecForm.ComboAVRXTALPresto2.xxx.It
ems where xxx is minimum divisor of system clock of
SpecSettings.FORTE.i2cAddr
integer
selected AVR's SPI module. This is 2 for new AVRs, 3 and
4 for older AVRs and 24 for Atmel's 8051 arch. 0 first suitable address or N/A
processors.
1 second suitable address
This setting can be found in ini file too at
[SpecSettings.FORTE], XTALClk. etc...
SpecSettings.FORTE.AVRXTAL.AutoClk
boolean 5.13 Appendix B: Use of ICSP
If true, faster programming with slow clock is used for ICSP (In-Circuit Serial Programming) is a method of PIC
AVR MCUs. microcontroller programming making it possible to
program devices already placed on PCBs.
SpecSettings.FORTE.AVRRSTInverse
boolean Two different algorithms may be used for PIC
microcontroller programming: HVP (using programming
If true, the reset signal polarity is assumed to be inverse
Page 84
voltage on pin -MCLR/VPP) or LVP (using the LVP pin).
Note: Not all devices have the PGM pin. OTP (One-Time Programmable) devices have a
considerably higher current consumption on pin P(VPP)
5.13.1 Pins Used for than devices with a FLASH memory. Therefore the
application should not have any additional current
Programming consumption at pin P(VPP) in case of OTP.
This chapter describes how to treat pins in the ICSP Data pins may have their signals changing at a speed of
programming mode in accordance with the programming several MHz, so the application must not influence the
algorithm. signals in any significant way.
Page 85
maximum load is substantially exceeded for a certain
time (this time is adjustable). PRESTO checks for the Advice
overload state the whole time the power supply is When designing the process, please pay special attention
connected. to the type of device to be programmed – if it can be not
only operated but also programmed at a voltage lower
Support for an external power supply is integrated in both than 5 V.
PRESTO and FORTE hardware. The programmer feeds the
input and output circuits with a voltage connected to pin
VDD. The voltage may be lower than 5 V.
Power Supply Capacities in
Application
If there are capacities present at the application's power-
supply pin that would slow down the power on/off
switching and application is fed from programmer during
programming, longer charging/discharging times need to
be set in UP. In other case UP will probably announce
overcurrent on VDD pin.
An approximate time that should be set in the program:
t[μs] = 2.5 × C[μF] × R[Ω].
Example
The necessary charging time for an application with
a 33 μF capacitor programmed with PRESTO:
2.5 × 33 × 50 = 4125 μs
discharging:
Page 86
Notes
Page 87
02 Record length. The configuration memory
5.14.2 Description of size is one word = 14 bit = 2 byte (byte
alignment).
Intel‑HEX File Format
Intel-HEX are text files consisting of lines. 400E Record address. The configuration memory
address is the word 2007h addressed by
Each line has the following structure: bytes, i.e. 400Eh.
„:“ Each line in a file must start with this 413F Record data. Configuration word =3F41h
character (colon, 0x3A).
30 Check sum. 30 = 02 + 40 + 0E + 00 + 41
LL Length of record (number of DD fields). + 3F = xxD0; neg D0 = 30
There are also other types like 03 and 05, which are For example, processors of the PIC18F family have their
ignored by UP while reading and not used for saving. configuration memory saved at the address 0x 30 00 00
00.
DD Record data. The number of bytes must be
exactly LL. If this address needs to be used, it is necessary to insert a
line in the .hex file specifying the extended linear
CC Checksum. The check sum is computed as address, i.e. the upper 16 bites of the address. The lower
a binary supplement to the sum of all 16 bits are read from the line with the data record.
values on the line.
:020000040030CA
A line with the configuration memory of a 14-bit device is The extended segment records specify the segment, i.e.
used here as an example. bits 19-4 of the address, which are then added to
addresses from the data records (offset).
:02400E00413F30
Page 88
Saving Device Type in .hex File
Users frequently mistook the selected device type for the
device type for which the .hex file was saved. To
eliminate this, UP contains a function allowing you to save
the device type in a file.
The program adds one more line below the End of File:
#PART=.... The absolute majority of programs working
with Intel-HEX files ignore this line, but such a modified
file cannot be considered as complying with the Intel-HEX
format.
Page 89
6
up_control.dll library
The up_control.dll enables user to control the UP software
using functions contained in the library. It contains basic
programming functions.
Page 90
7
FORTE.DLL Library
Functions implemented in forte.dll enable setting and
reading of logical levels on single pins of FORTE
programmer. This way it is possible to make various
communication protocols.
Except for functions which enable controlling of the single
pins, the library contains also functions prepared for
communication via SPI, I2C and 1-Wire buses, functions
for supply and programming voltage controlling and
supply voltage and GO button reading.
Page 91
8 Important warning
A power supply voltage from an external source must be
present during programming that utilizes the JTAG
interface. The programmer does not feed the application
JTAG PLAYER in this case.
This utility is not part of the UP software installation pack Serial Vector Format (.svf) is the recommended file
but it can be downloaded separately from https:// format for all the testing and programming except
www.asix.tech/prg_jtag-svf-player_cz.html for Xilinx CPLD XC9500. The Xilinx Serial Vector
Format (.xsvf) is recommended for Xilinx CPLD XC9500.
JTAG PLAYER is localized only in English.
Page 92
Notes • RUNTEST MAXIMUM max_time SEC parameter is
ignored.
Some AVR devices do not support page by page
programming. In such a case, the SVF file must be • RUNTEST run_count is limited to 2^31/3
created without the -mp parameter. (approximately 715 million).
• RUNTEST min_time SEC is limited to 2^31/3 ms
Lattice CPLD Programming (approximately 715 seconds).
SVF file can be created from a .JED file using ispVM • TRST and RUNTEST SCK – these commands share the
System. This program is part of the ispLEVER Classic same configurable P/VPP pin of both the PRESTO and
system, which is available at the Lattice website. FORTE programmers and can never be used together.
• HDR+SDR+TDR / HIR+SIR+TIR length is limited to We do not recommend using an SVF file for
2^31 bits. programming devices of the Xilinx XC9500 family, as the
algorithm for XC9500/XL/XV device programming cannot
• Supported TCK frequencies are 3 MHz, 1.5 MHz, be correctly described in the SVF format.
750 kHz and fragments of 1 MHz starting at 500 kHz
for PRESTO. FORTE adds 15 MHz, 10 MHz and 5 MHz
on top of these.
Page 93
State of XSVF File 8.1.3 Programming
Implementation Connector
The following table describes the functions of PRESTO's
The XSVF file support has been implemented in
and FORTE's pins for programming by means of the JTAG
accordance with the "XAPP503, Appendix B: XSVF File
interface.
Format" specification available at the Xilinx website with
the following limitations:
• XSETSDRMASKS, XSDRINC and XSIR2 commands are PRESTO FORTE Function
not implemented. VPP P SCK (System Clock)/User defined state
• Only the XSVF file format is recommended for during file execution and after.
programming the Xilinx XC9500/XV/XL families. - - Not connected pin (key)
We seriously recommend using an SVF file for all VDD VDD Feeding of I/O buffers
architectures except XC9500/XV/XL. For XC9500/XV/XL GND GND Ground of I/O buffers
programming, the use of the XSVF format is
MOSI D JTAG TDI (Test Data In)
recommended as the SVF format does not include the
XREPEAT command, which is necessary for XC9500/XV/XL CLOCK C JTAG TCK (Test Clock)
programming. MISO I JTAG TDO (Test Data out)
Warning: Executing a file containing the XREPEAT LVP L JTAG TMS (Test Machine State)
command may be very slow.
Table 16: J TAG programming connector
8.2 Settings
This chapter explains the meaning of different settings in
Options ➙ Program Options.
Page 94
The maximum frequency is 3 MHz for the PRESTO • slow clock on TCK (~100 kHz)
programmer and 15 MHz for FORTE.
• default speed clock on TCK
If the Ignore FREQUENCY commands option is selected,
Example: "RUNTEST 3E-3 SEC;" means "Generate clock on
the programmer applies only the frequency set by the
TCK for at least 3 ms".
user and ignores all FREQUENCY commands.
Page 95
• The RUNTEST command containing run_count and RUNTEST timing multiply (both SVF and XSVF): 0%
specifying min_time is executed at the currently
running TCK frequency. Therefore the command can RUNTEST with run_count and no timing (both SVF
take much more time than what is specified in and XSVF): interpret as RUNTEST min_time with scale
min_time. 1 MHz
• The RUNTEST command containing run_count and VPP PRESTO / P FORTE pin usage while running test
specifying max_time is executed at the currently (file): Tristate
running TCK frequency. As the programmer cannot
VPP PRESTO / P FORTE pin usage after test
respect the “deadline” specified in the max_time
completion: Tristate
parameter, this parameter is ignored.
Page 96
RUNTEST timing multiply (both SVF and XSVF): The jtagplay.exe program returns the following return
25% codes:
RUNTEST with run_count and no timing (both SVF 0 execution of the last file had no errors
and XSVF): interpret as RUNTEST min_time with scale
1 MHz 1 an error occurred during execution of the
last file
VPP PRESTO / P FORTE pin usage while running test
(file): Tristate 2 execution of the last file could not be
started
VPP PRESTO / P FORTE pin usage after test
completion: Tristate
Return Codes
Page 97
9 9.2 Programming
For programming of predefined tasks it is advisable to
Example:
9.1 Programming settings multiup.exe C:\data\project.mppr
Page 98
• If the device to be programmed has more than one
10 power-supplying pin, all of them must be really fed. It
is often recommended to check their voltage with a
voltmeter.
This chapter describes how to proceed if experiencing • Are you programming a new device or has it been
difficulties with device programming. It also describes previously programmed? If so, the problems may be
testing utilities for FORTE designed to check if the caused by unsuitably set fuses in the device.
programmer is in good condition or damaged. Please go • The length of the ICSP cable should not exceed 15 cm.
through all the tips and tricks before you send your
programmer to a service shop. • Make sure that there is no additional capacity present
at the programming (data) pins. Consider if circuits on
The testing utilities are not part of the UP software the programming pins could cause too large a load for
installation, but they can be downloaded separately from programming.
https://www.asix.tech/prg_testers_cz.html. They are
localized only in English. • It is important that the crystal or the communication
speed settings reflect the reality in devices that need
that settings.
10.1 Tips and Tricks • Some devices may be programmed using several
different methods. Programming problems may be
Should you experience difficulties with programming, we caused by selecting a different programming interface
recommend checking the following points: or a different programming mode than the ones that
the application is prepared for.
• Check the microcontroller and programmer
connections according to the description in Connecting If none of the above tips help to eliminate the problem
to Application. Even though it may seem trivial, it is and if it absolutely sure that the device to be
recommended to check the connection twice and to programmed is not faulty, the fault may lie in the
assume the second time that the link does not always programmer.
lead where you want it to or it leads to more than one
point. To easily find out whether the programmer is in order or
not, you can use the testing utilities described in the
• If a crystal or other auxiliary devices are used for following chapters.
programming, (typically pull-down or pull-up resistors),
check if their values and connections are correct.
• It is advisable (and often necessary) to have blocking
10.2 FORTE Tester
capacitors at the power supply of the device to be
programmed. The FORTE Tester utility easily tests the “health
state” (usability) of the FORTE programmer right at the
customer's site.
Page 99
programmer may be connected to the control PC and its this number on the bar code label on the programmer
drivers must be correctly installed. This is confirmed by bottom.
the green ON-LINE LED being on.
Space for displaying possible error messages concerning
overcurrent or overvoltage detected is provided in the
window under the serial number.
Fig. 49: FORTE Tester Neither reading of inputs nor setting of outputs works if
there is no voltage at pin VDD.
After you start the tester, make sure that the
programmer's output buffers are fed. You can either If everything seems to be in order, but the device still fails
switch on the VDD and set its voltage to the required to get programmed, it is recommended to check the
level or connect an external feeding voltage to the VDD application connection according to instructions for
pin. The level of detected voltage is displayed in the lower connecting a microcontroller to the programmer.
part of the window.
If in doubt as to whether the programmer is in order or
Basic communication with the programmer can easily be faulty, do not hesitate to contact our technical support.
recognized by the Active diode being on. You can choose
its color to be yellow or red.
Page 100
11
HPRAVR
HPRAVR is an optional accessory for PRESTO and FORTE
programmers for programming AVR microcontrollers in
applications with the ISP10PIN standard connector on the
device's side and with the ICSPCAB8 cable on the Fig. 50: Use of HPRAVR
programmer's side. The ISP10PIN connector is typically
used on boards with microcontrollers of the AVR type Important Warning
such as STK500, for example. Pin No. 1 of the HPRAVR adapter is marked
with red color. Please double check the
Page 101
Definition of input voltage on pins was added.
12 Description of w=32 parameter for Windows
messages was added.
2015-08-05 Description of the programmer driver installation
Document history has been changed.
Added new /getpartrev parameter.
Added new commandline errorcodes.
Document Modifications made 2015-09-21 Added description of the setting of the warning
revision when the loaded file is not aligned to a word size.
2013-07-03 Newly created document Fixed links.
2013-12-18 Minor text corrections 2015-11-19 Added description of setting of the T pin during and
2014-02-28 The NXP LPC2xxx family was added in the JTAG after programming.
Interface chapter 2016-01-22 The serial numbers logging description has been
New command line parameter [/read] updated.
2014-04-25 The STM8 family was added in the Connection 2016-03-08 Added description of the Display programmer form
Examples chapter function.
2014-07-01 The ARM SWD interface was added in the Added description of the setting which disables the
Connection Examples chapter VPP before VCC warning.
CE certificate was replaced by Declaration of 2016-05-20 The PE description has been updated.
Conformity Added description of the start and end address for
2014-09-23 A note about reset of MCU ARM SWD was cleared. the SPI Flash memories.
Described new option - Show only the lowest byte of 2016-08-10 Description of the HCSxxx connection has been
word in ASCII added.
2014-11-21 Updated list of variables for up_dll.dll 2016-10-10 Added description of the /sn commandline
parameter and manual serial numbers description.
2014-11-25 New settings of the UP program have been added.
Added the commandline error code 9 description.
2015-02-03 Added View/Console menu description.
2016-12-15 Description of usage of the programmers at Linux
Added description of PIC32MZ_BootProg variable.
has been added.
Small text fixes.
2017-02-02 Added description of auto programming in the Mass
2015-03-12 The name of item Delay for VDD switching on/off production window.
has been changed
Added description of Keep manually modified data.
Added description of the checksum settings
2017-02-10 The Linux driver instalation chapter has been
2015-04-07 Updated description how to create SVF file for completed.
Lattice.
2017-03-13 A link to lin_ftd2xx has been added.
2015-05-19 A chapter about forte.dll was added.
2017-03-23 Added description of /q1 commandline parameter.
The C8051 and EFM8 C2 interface was added in the
2017-05-09 Added description of "Load last project on start-up"
Connection Examples chapter.
option.
Page 102
2017-06-29 Added chapter about MultiUP utility. 2019-10-24 HCS08 note has been modified.
2017-10-30 Description of the AVR UPDI connection has been Added chapter about up_control.dll
added. 2019-12-18 Added AVR HVP connection description.
Added description of "When using Windows 2020-01-10 Added Autoload next file function description.
Messages disable other warnings" option.
2020-03-31 Added description of /conf parameter.
Added description of "Write checksum to log file"
option. Added list of parameters which are transferred to
already running UP instance.
2017-11-22 Added description of RL78 connection.
Added description of the file locations only
2018-02-19 HPRAVR chapter moved. programming.
2018-03-28 Added description of "Device info" menu item. Added description of the option switching off the
2018-05-17 Added RX600 connection description. Device ID check.
Added description of Renesas RX600 settings. 2020-05-26 Added description of "Load project unlocked"
2018-06-07 Added AT89C51CC01UA connection decription. function.
2018-07-30 Added a note to Debug fuse of MCU PIC. Added description of how to use project on the
commandline.
Added a note to AVR UPDI files mapping.
2020-08-18 Modified AVR UPDI connection.
2018-08-10 Added description where Linux FTDI driver can be
found. 2021-01-11 Driver installation description has been updated.
Added a note to commandline parameters. SDA internal pull-up disable option has been
described.
2019-01-25 Description of saving fuses to ini function has been
added. UP software installation description has been
updated.
Write RC osc Adjustment function description has
been added. JTAG Player -s parameter description has been
updated.
2019-01-31 Added description of how to read the ProgressBar
value in the quiet mode. 2021-02-25 Fixed Windows Message w=48 description.
2019-02-26 Added a note for DS28E05. Fixed Windows Messages table.
Added description of Read address function Added a description of a Recently used devices list.
Added description of Windows Messages wParam of 2021-03-15 Some typing errors have been fixed.
24 and 25. 2021-12-23 Added a picture and a description of QUAD SPI
2019-04-23 Added description of /df parameter, description of /p interface.
and /o parameters has been updated. 2022-01-07 Added a note concerning 34AA04 memory.
2019-06-26 Updated description of /s commandline parameter. Rules settings were changed for Linux installation.
Added description of "Lock project" function. 2022-01-14 Description of comments in serial numbers files has
Added description of function setting actual SN from been extended.
log file. 2022-05-23 Added LPC UART connection description.
2019-07-26 Added HCS08 connection description. 2022-06-28 Projects description at commandline chapter has
2019-09-20 Company address has been changed. been modified.
Page 103
2022-09-14 Added connection description of AVR MCU with
separated UPDI and RESET pins.
2023-01-12 Added an OSIS fuse description for Renesas ARM.
The chapter about CE and RoHS has been modified.
Added a note concerning Wine version.
2023-03-13 Added a note to showing the MD5 checksum.
Added description of UP_GetChecksum and
UP_GetChecksum_Wnd v up_dll.dll functions.
2023-05-15 Added CH32V003 connection description.
2023-08-24 CH32V003 Fast mode function has been described.
2023-11-02 Addded description of "Never ask and never save
changes to data file" function.
2023-11-06 Added an information about ProgressBar read
example.
2023-12-06 Added a note that Linux support was discontinued.
2023-12-14 Added SPD5118 connection description.
2024-01-05 Added Zilog Z8F connection description.
2024-02-16 Z8F connection picture has been fixed.
Page 104