&m d D F > > F Y " w ~ R , - 9 4 - t7 N % - 0 z: ] - h 8 - */ - J. C' - + U = H 1 y ^ g U A { FF readme_icdprog.html!:\emx\doc\readme_icdprog.htmlgpasm.1!:\emx\man\gpasm.1gputils.pdf!:\emx\doc\gputils.pdfdocsp16f877.inc!:\emx\local\share\gputils\header\p16f877.incp16f876.inc!:\emx\local\share\gputils\header\p16f876.incp16f874.inc!:\emx\local\share\gputils\header\p16f874.incp16f873.inc!:\emx\local\share\gputils\header\p16f873.incp16f872.inc!:\emx\local\share\gputils\header\p16f872.incp16f871.inc!:\emx\local\share\gputils\header\p16f871.incp16f870.inc!:\emx\local\share\gputils\header\p16f870.incicdprog.exe!:\emx\bin\icdprog.exegpasm.exe!:\emx\bin\gpasm.exeCOPYINGpictools
icdprog - a programmer for Microchip PIC controllers.
http://icdprog.sourceforge.net/
ICDPROG is a simple command line programmer for Microchip PIC controllers,
using the Microchip ICD (in circuit debugger) as a programmer.
ICDPROG was originally written for linux. The current version (0.5) has also been ported to Windows32.
It should be easy to port to other architectures, since it uses POSIX for serial port handling. The
program is written for command line usage. It is useful where programming of a PIC via the ICD is required
but use of the MPLAB IDE is not desired or possible e.g. to use the Hitech PICC compiler and GNU make on Linux.
This program is covered by the GNU GPL license, see COPYING and/or http://www.gnu.org/
It is also beta software so use at your own risk!
NEWS
Version 0.5 has a number of new features notably:
- Verify only option to check FLASH contents without changing it.
- EEPROM write option to program individual EEPROM addresses.
- Config word write option to enable the config word to be changed without altering the FLASH program.
A port of icdprog to Symbians EPOC R5 OS is also available.
See http://www.btinternet.com/~adfhome/demarco5
FEATURES
- Works with PIC16F87x, x = [0,1,2,3,4,6,7] (3,7 is well tested ... )
- Reads intel hex format
- Auto-detects controller type
DOWNLOAD
Download the latest package from the
Sourceforge download page.
INSTALLATION
Linux
The Linux executable has to be compiled using the following commands:
cd src
make
You will have to manually copy the executable to a suitable location like
/usr/local/bin
Windows32
A precompiled executable icdprog.exe is included in the package. Just
copy it to somewhere on your executable path.
The Windows32 version is compiled with the mingw32 compiler.
I have not tried the cygwin compiler, but I can't see any
reason why it shouldn't work. I have also tried the Microsoft VisualSomeThing
complier with success, but it doesn't have "getopt" in the library, so you
need to supply your own (or like I did, comment it out).
If you want to compile it yourselves, use the Makefile_w32 makefile as follows:
cd src
mingw32-make -f Makefile_w32
USAGE
The program has 3 modes invoked in different ways:
- To program the contents of the hex file to flash/id locations/config word.
icdprog hex_file e.g. "icdprog pic001.hex"
- To program a single EEPROM addreess with a single byte of data
icdprog -e address data e.g. "icdprog -e 0x00 0x01"
- To program the config word without altering anything else
icdprog -c data e.g. "icdprog -c 0x3EFA"
Options are:
- -p if the default port is not being used i.e /dev/ttyS1 instead of /dev/ttyS0
or COM2 instead of COM1
- -v to verify only
Make sure that your icd has the latest firmware (2.31.00), You can use
the Microchip MPLAB to do the upgrade if you have a flash controller.
The first ICDs that microchip produced can not be upgraded without changing
the controller to a 16LF876, see Microchip ETN #21.
TIPS FOR LINUX USERS
RedHat users (and probably other also, this depends on PAM) can add these two
lines to their /etc/security/console.perms:
<serial>=/dev/ttyS*
<console> 0600 <serial> 0660 root.uucp
The first line defines a new file class called <serial>, which are all serial
ports on your machine. The second line tells the PAM system to change the
owner of the serial ports to you and set the permission to 0600 (full access
for the user and no access for others) when you log into the machine via the
console, and put it back to 0660 root.uucp when you log out. Basically this
makes the serial port yours when you log in locally, but not when you log in
remote (it makes sense doesn't it ?).
Change the first line to "<serial>=/dev/ttyS1" if you want this to happen for
only one port when you log in (eg. you have a modem which other users should
have access to even if you are logged in).
TODO
- Better documentation, and web page
- Check sum calculation
- Linux binaries (a RedHat RPM would be nice ...)
MICROCHIP
If you have any problems with this software, please don't bug Microchip
with them. This software was written without any help from them
(it would have been much easier if they had released the specification
of the ICD..). Use the sourceforge forum instead.
MORE INFO
Project summary page
Project forum
CHANGELOG
ver 0.5 Improved UI using progress bars.
Improved error checking.
Implemented verify only mode for FLASH.
Added EEPROM read/write/verify option.
Added config word read/write/verify option.
Added low latency serial comms for Linux.
ver 0.4 Compiles and works under Microsoft Windows. Added check for hex
files without configuration word.
ver 0.3 Cleaned up reading of Intel hex files, now works with files
with MS-DOS line terminations.
ver 0.2 Initial release on sourceforge.
ver 0.1 First version that could do anything useful ...
CREDITS
Geir Thomassen, icdprog@in.fer.no
Andrew Ferry, adfhome@btinternet.com
.TH gpasm 1 "(c) 2002, 2003, 2004 James Bowman, Craig Franklin"
.SH NAME
gpasm - GNU PIC assembler
.SH SYNOPSIS
.B gpasm [options] file
.SH WARNING
The information in this man page is an extract from the full documentation of
gputils and is limited to the meaning of the options. For complete and
current documentation, refer to "gputils.ps" located in the gputils docs
directory.
.SH DESCRIPTION
.B gpasm
is an assembler for Microchip (TM) PIC (TM) micro-controllers.
It's intended to be compatible with the manufacturer's MPASM
assembler.
.B gpasm
is part of gputils. Check the gputils(1) manpage for details on other GNU
PIC utilities.
.SH OPTIONS
Below is a summary of the
.B gpasm
options.
.B gpasm
options always supersede any settings in the source code.
.TP
.B -a FMT, --hex-format FMT
GPASM supports inhx8m, inhx8s, inhx16, and inhx32 hex file formats. This
option controls which hex file format is used. The default is inhx32.
.TP
.B -c, --object
Output a relocatable object.
.TP
.B -D SYM=VAL, --define SYM=VAL
Define SYM with value VAL. This is equivalent to placing "#define SYM VAL" in
the source.
.TP
.B -e [ON|OFF], --expand [ON|OFF]
Macro expansion in the listing file is controlled using the EXPAND and NOEXPAND
directives. This option can force either directive to be ignored. When "ON"
is selected the macros are always expanded regardless of the presence of
NOEXPAND. Likewise, "OFF" will force macros not to be expanded.
.TP
.B -h, --help
Show the usage message.
.TP
.B -i, --ignore-case
All user defined symbols and macros are case sensitive. This option makes them
case insensitive.
.TP
.B -I DIR, --include DIR
The top level assembly file is passed to gpasm as an argument. This file can
contain INCLUDE directives. These directives open the specified file and
then its contents are assembled. GPASM searches for these files in the local
directory. If the file is not located, the default header path is checked.
Finally, all paths specified using this argument are searched.
.TP
.B -L, --force-list
Ignore NOLIST directives. This forces gpasm to print every line assembled in
the list file output.
.TP
.B -l, --list-chips
List the supported processors.
.TP
.B -m, --dump
Upon completion of the final pass of assembly, display the contents of
instruction memory.
.TP
.B -n, --dos
By default, gpasm generates hex files using ISO format. However, some device
programmers required a DOS formatted file. This option will cause gpasm to
generate a DOS formatted hex file.
.TP
.B -o FILE, --output FILE
Alternate name of the output file.
.TP
.B -p PROC, --processor PROC
Select the processor.
.TP
.B -q, --quiet
Suppress anything sent to standard output.
.TP
.B -r RADIX, --radix RADIX
The supported radices are BIN, DEC, OCT, and HEX. The default is HEX.
.TP
.B -w [0|1|2], --warning [0|1|2]
This option sets the message level. "0" is the default. It will allow all
messages, warnings, and errors to be reported. "1" will suppress the messages.
"2" will suppress the messages and warnings.
.TP
.B -v, --version
Show the version.
.SH SEE ALSO
gputils(1)
.SH AUTHOR
Craig Franklin
.SH COPYRIGHT
Copyright (C) 2002, 2003, 2004 James Bowman, Craig Franklin
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
%PDF-1.3
%쏢
6 0 obj
<>
stream
x=N0~
D'@y(R!uVvvvJE,UI,VuC!{[#7qc i>
stream
xn6.50eU$Ahbkd\X#h%i&d" Χsxxs
9@{$L/(8`.Ӥ"@1"w@)uIK 3QUN"1@Ok}՟ "#lj!t=TX֗.tXȚs#UnRSH 0K^]$ %mx]dõN+rBˉFލ逸>PH-CdDsT~dg'A@0Կ\fWD
ڈ_汁Ҧs~MMUJ}L}zFm'3CZߴM
p1K`47sB͜|d#W{