For memories and micros, the most common methods are:
(A) Adding data as bytes
(B) Adding data as words
(A) Adding data as bytes
This is the most commonly used method.
The data is added as bytes, and the result is accumulated in a double word.
(Double word means 2 words, or 4 bytes, or 8 hex digits.)
For example, if there are 4 bytes in a device, and the data is:
11
80
22
90
The checksum will be: 11+80+22+90=00000143
Note that if these 4 bytes are IN A DIFFERENT ORDER, the chksum
still comes up to be the same. That is why a chksum is good to be
used IN GENERAL to distinguish different versions of firmware but is
NOT a good way to tell if two chips contain EXACTLY the same data or not.
Older programmers and programming s/w retain only the last 4 digits, as 0143.
That is why most EPROMs are marked with only a 4-digit checksum. (which is
deemed sufficient for most customers and is convenient to copy, save and
read by a human being.)
(B) Adding data as words
Since the data is considered as WORDs, there are two ways of doing this.
The Intel-way treats the lower-address byte as the low order byte, and
the higher-address byte as the high order byte. Using the above data sample,
The checksum would be 8011+9022=01 1033.
The Motorola-way treats the lower-address byte as the high order byte, and
the higer-address byte as the low order byte.
The checksum would be 1180+2290=00 3410.
[Configure] [Operation Options] can be used to select betwen "adding data
as byte" or "adding data as word".
[Configure] [Width] can be used to select betwen
Intel-way or Motorola-way.
This is the same as the "Intel Hex" format. In fact, the Intel Hex format includes all the
different types and revisions of the hex formats defined by Intel, including the extended-address
formats. Our software will automatically recognize all the different Intel formats and process
them accordingly.
Which Motorola S-record formats do you support?
We support all of them (at least all the ones we ever came across in the last 11 years),
including S1, S2, S3, etc. When you select the Motorola S-record format, our software will
automatically recognize all the different sub-formats and process them accordingly.
How does the "ASCII" format (or other formats) look like?
Since our software can save data files into different formats, the best and simplest way
to see how a particular format looks like is to generate such a file yourself.
You can select a very small device such as a small serial PROMs,
then manually put in a few data bytes using the /Buffer Edit command. Select the ASCII format
(or others) and save the buffer data into a temp file.
Then use a text editor or your own software routine to look at it.
How do I clean the ZIF sockets of the programmer for CONNECTIVITY problems?
A. For DIP ZIF sockets:
The easiest way is to hold down the socket handle so that the socket is half open,
then move a DIP device sideways so that the legs of the DIP device sweep the inside of
the socket.
If this does not solve the problem, you may want to replace the DIP ZIF socket.
Replacing them is very easy because they are mounted on sockets themselves
(we use highly reliable machine-barreled gold-plated sockets for mounting the DIP ZIF
sockets) To remove a socket, simply use a flat screw driver to gently ply apart the DIP ZIF
socket in a STRAIGHTLY UPWARDS direction.
You can order replacement DIP ZIF sockets directly from us.
If you are getting them from other sources, make sure they are gold-plated
(which only costs a fraction more than tin-plated but will save you tons of trouble
in the future). The part # for ordering DIP ZIF sockets is: SKT-ZIFxx.
For example, SKT-ZIF32 is a 32-pin DIP ZIF socket.
B. For PLCC, QFP and other similar sockets:
The simplest way is to use AP-20 Cleaning Solution made by Kester.
This is the solution for cleaning solder flux from circuit boards.
If you do not have this, you can try a good solder flux cleaner or alcohol.
Put some cleaning solution on a clean tooth brush, then use it to brush the top
contacts (gold fingers) of the sockets. Then use an air blower to blow away the
solution left on the contacts. Take good care that the cleaning solutions do not
get blown onto yourself or other people. It is always a good idea to wear
protective eye wear and clothing.
How do I clean a surface-mount device (PLCC, TSOP, QFP, etc) ?
Surface-mount devices should not be left on table tops or other surfaces, otherwise they
would pick up dirt and the legs become tarnished or oxidized. These device may give you
continuity errors or insertion errors. If you do have such a device and you need to use it,
here are methods to clean the legs:
A. Turn the device over, so that the pins are facing up. Use an Exacto knife or something
similar to gently scrape the legs. Holding the knife at a 45-degree angle to the device
body will make the scraping easier.
B. Another method is to use the eraser head of a pencil, especially those that are
more abrasive and not too soft. Make sure all rubber fragments are blown off after
the "erasing".
Section 4. In-Circuit or In-System Programming (ISP)
Does Advin Programmers Support ISP?
We provide very good capabilities for ISP, especially Microchip micros, Altera serial PROMs,
Atmel serial PROMs, Xilinx serial PROMs, EE serial PROMs such as 24xx, 95xx, 25xx etc.
Please see our web page on
In-System Programming.
Can the Advin DOS software version run under Linux?
Advin does not officially support Linux. However, thanks to our customer,
Mr. David Updegraff, who has provided the following info of how to run it
under Linux:
1. forcibly unload kernel modules 'lp', 'parport', and 'parport_pc'
2. Edit you /etc/dosemu.conf file to permit HW access:
# comment out lineprinter simulation
#$_printer = "lp"
# rom burner on parport: UN comment $_ports. Find out where
# your ports are by cat /proc/ioports before you've unloaded
# the kernel parport modules.
$_ports = " fast range 0x378 0x37f"
# make a directory in /var/lib/dosemu called advin
# and put your DOS io.sys, msdos.sys, command.com etc.
# files there from a stock DOS distro there. Then unzip
# the advin.zip packaage there. This way your C: drive will
# be that directory, and you can do normal linux file-IO
# to /var/lib/dosemu/advin, to copy in image files, etc.
# ..and the way this is, the dosemu stuff from
# 'hdimage.first' will be in D:. eg. 'exitemu' is there.
$_hdimage = "advin hdimage.first"
3. you may have to run as root to get direct access to the ports..
Under this scenaio I run as fast as normal DOS app, though it pegs out
linux during the burn/erase/check phases since all is done with
busy-waits.