I wonder if you're missing the manual page...
Code: Select all
MINIPRO(1) General Commands Manual MINIPRO(1)
NAME
minipro - A gree and open TL866XX programmer.
DESCRIPTION
minipro is an Open Source tool intended to become a complete cross-platform replacement for the
proprietary utility from Autoelectric. Currently it supports more than 13000 of target devices -
including AVRs, PICs as well as a huge number of other microcontrollers and various memory chips.
GENERAL OPTIONS
-l, --list
List all supported devices.
-L, --search <search>
List devices like this.
-q, --programmer <version>
Force a programmer version when listing devices.
Possible values: TL866A TL866II.
-Q, --query_supported
Query supported programmers.
-k, --presence_check
Query the programmer version currently connected.
-d, --get_info <device>
Show device information.
-D, --get_id
FIXME Just read the chip ID and do nothing else (like reading the whole chip contents).
This is for use in scripts where you have for example several similar chips with different
IDs and want to check if the currently inserted chip is one in your list of allowed ones.
Also useful to detect if a chip is inserted at all when using the -y option.
-r, --read <filename>
Read from the device and write the contents to this file.
-w, --write <filename>
Write to the device using this file.
-m, --verify <filename>
Verify memory in the device against this file.
-c, --page <type>
Specify memory type (optional).
Possible values: code, data, config, user, calibration.
The calibration byte(s) are Atmel AVR family specific and are read-only. User memory type
is implemented as user row or encryption table on some devices like Atmel AT89S8253. Use
-c user to read or write this page.
-f, --format <format>
Specify file format. Possible values: ihex, srec.
-b, --blank_check
Blank check.
Optionally, you can use -c to specify a memory type.
-a <type>, --auto_detect
Auto-detect SPI 25xx devices.
Possible values: 8, 16.
-z, --pin_check
Check for bad pin contact.
-e, --skip_erase
Do NOT erase device.
-E, --erase
Just erase device.
-o <option>
Specify various options. For multiple options, use -o multiple times. For example: -o
vpp=12 -o vcc=5.5 or long options: -vpp=12 --vcc=5.5
Valid options are:
-o vpp=<value>, --vpp <value>
Set the programming voltage.
For TL866A/CS: 10, 12.5, 13.5, 14, 15.5, 16, 17, 18, 21.
For TL866II+: 9, 9.5, 10, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15.5, 16, 16.5,
17, 19.
-o vdd=<value>, --vdd <value>
Set the VDD write voltage (3.3, 4, 4.5, 5, 5.5, 6.5).
-o vcc=<value>, --vcc <value>
For setting the VCC verify voltage (3.3, 4, 4.5, 5, 5.5, 6.5).
For setting the VCC logic test voltage (1.8, 2.5, 3.3, 5).
-o pulse=<value>, --pulse <value>
Programming pulse delay (0-65535 usec).
-u, --unprotect
Disable protection before programming.
-P, --protect
Enable protection after programming.
-v, --skip_verify
Do NOT verify after write.
-p, --device
Specify device (use quotes).
-T, --logic_test
Logic IC test. Erroneous states are reported with a "-" (minus) sign next to the expected
pin state.
-i, --icsp_vcc
Use ICSP. Not useful for TL866CS.
-I, --icsp_no_vcc
Use ICSP (without enabling Vcc). Not usefule for TL866CS.
-s, --no_size_error
Do NOT error on file size mismatch (only a warning).
-S, --no_size_warning
No warning message for file size mismatch (can't combine with -s).
-x, --skip_id
Do NOT attempt to read ID (only valid in read mode).
-y, --no_id_error
Do NOT error on ID mismatch
-V, --version
Show version information
-t, --hardware_check
Start hardware check
-F, --update <filename>
Update firmware. See UPDATING FIRMWARE below.
--infoic <filename>
Set custom infoic.xml file.
--logicic <filename>
Set custom logicic.xml file.
-h, --help
Show brief help and quit.
NOTES FOR READING AND WRITING
If -c is omitted and -r is specified then the code, data (if applicable) and config (if applica‐
ble) will be written to filename.$ext, filename.eeprom.bin and filename.fuses.conf correspond‐
ingly. If -c is omitted and -w is specified, then -c code is assumed.
By default, when in write mode and -c config is specified, no erase is performed to preserve the
already programmed data.
However, you can force an erase in this case with the -E option.
--fuses, --uid, --lock flags will read/write/verify/blank check fuses, user id or lock config sec‐
tion. User ID is Microchip PIC MPU family specific. For example: minipro -p atmega32 -b --fuses
will check if fuse bits are in their default state (that is, blank state)
Use --pulse, --vpp, --vdd, --vcc or -o <option> to specify various programming options. These op‐
tions are available only in write mode ( -w ) and only for some devices like UV erasable EPROMs
and GAL/ATF PLDs.
Also you can specify --vcc or -o vcc with -T to specify the logic test voltage.
Use -d <device> to view if those options are supported.
UPDATING FIRMWARE
Firmware update files can be obtained from the manufacturer's website: http://www.autoelectric.cn.
They can also be downloaded and extracted from the following repository: https://github.com/Kree‐
blah/XGecu_Software.
For the TL866A/CS, use the "update.dat" file.
For the TL866IOI+, use the "updateII.dat" file.
==== EDIT LINE ====
When writing chips, this is not necessary because the file format is automatically detected.
There is no need to specify the exact Intex hex format (ihex8, ihex16, or ihex32) as the format is
automatically detected. If this option is not used, then the file will be saved as a raw binary
file.
When reading chips and the ihex format is chosen, if the data size is up to 64Kb the file will be
saved in ihex8 format. Just plain hex records are used -- no segment/linear address records are
inserted. If the data size exceeds 64Kb then the ihex32 format is used. The ihex16 format is not
used when reading chips. The same strategy is used for the Motorola srecord format.
-F <filename>
Update firmware (should be update.dat).
-h Show help and quit.
NOTES
If -c is omitted and -r is specified then the code, data (if applicable) and config (if applica‐
ble) will be written to filename.$ext, filename.eeprom.bin and filename.fuses.conf correspond‐
ingly. If -c is omitted and -w is specified, then -c code is assumed.
PIPES
Minipro supports reading and writing to standard input and output. To do this, use a dash (-) as
a filename for the -w or -r options.
For example:
head -c 256k < /dev/urandom | srec_cat - -bin -o - -intel -Address_Length=4 -obs=16 | minipro -p
w49f002u -w-
This is how the hex/srec parsers were tested for reading from stdin. 256kb of random binary data
is generated then converted from binary to intel hex by the srec_cat utility. Finally the con‐
verted data is passed to our minipro which will read this data, convert it to binary by decoding
the intel hex format from stdin and write it to the specified chip. Note the -r- which tells to
read from stdin instead from a regular file. This is just a test command to test the ihex/srec
parsers. Don't use this in real life (convert from binary to ihex then from ihex to binary).
You can also read a chip and write the data to the stdout like this:
minipro -p w49f002u -r- -f ihex.
You can then pass the output to another command line tool with | for other processing, etc.
FUSES
Fuses can be read and written with the -c config option. Fuse data is exchanged in a text format.
When writing fuses all fuses on your device must be assigned a value. To see what fuses are sup‐
ported by your device use -r with -c config to get your current fuse values. This also shows you
what the text format looks like.
EXAMPLES
minipro -p 7404 -T
Check whether a 74(LS/HC/...)04 hex NOT gate chip.
AUTHOR
minipro was written by Valentin Dudouyt and is copyright 2014. Many others have contributed code
and bug reports. Development is currently coordinated by David Griffith.
HARDWARE
The Minipro TL866xx series of chip programmers is distributed by Autoelectric. Their website is
http://www.autoelectric.cn.
DISTRIBUTION
The canonical repository for minipro is at Gitlab:
https://gitlab.com/DavidGriffith/minipro/
It is distributed under the GNU General Public License version 3 or (at your option) any later
version.
https://www.gnu.org/licenses/gpl-3.0.en.html
This software is offered as-is with no warranty or liability. If you find a bug or would like
minipro to do something it doesn't currently do, please visit the above Gitlab website and report
your concerns.
17 September 2022 (v0.6) MINIPRO(1)