 |
|
| |
MINIPRO(1) |
FreeBSD General Commands Manual |
MINIPRO(1) |
minipro - A free and open TL866XX programmer.
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.
- -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 useful 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.
If -c is omitted and -r is specified then the code,
data (if applicable) and config (if applicable) will be written to
filename.$ext, filename.eeprom.bin and filename.fuses.conf correspondingly.
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 section. 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 options 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.
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/Kreeblah/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.
If -c is omitted and -r is specified then the code,
data (if applicable) and config (if applicable) will be written to
filename.$ext, filename.eeprom.bin and filename.fuses.conf correspondingly.
If -c is omitted and -w is specified, then -c code is
assumed.
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 converted 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 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 supported by
your device use -r with -c config to get your current fuse
values. This also shows you what the text format looks like.
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.
The Minipro TL866xx series of chip programmers is distributed by
Autoelectric. Their website is http://www.autoelectric.cn.
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.
Visit the GSP FreeBSD Man Page Interface. Output converted with ManDoc.
|