diff options
Diffstat (limited to 'src/coff/xml/gpprocessor.h')
-rw-r--r-- | src/coff/xml/gpprocessor.h | 371 |
1 files changed, 371 insertions, 0 deletions
diff --git a/src/coff/xml/gpprocessor.h b/src/coff/xml/gpprocessor.h new file mode 100644 index 0000000..5e0ad41 --- /dev/null +++ b/src/coff/xml/gpprocessor.h @@ -0,0 +1,371 @@ +/* GNU PIC processor definitions + Copyright (C) 2001, 2002, 2003, 2004, 2005 + Craig Franklin + +This file is part of gputils. + +gputils 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, or (at your option) +any later version. + +gputils 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 gputils; see the file COPYING. If not, write to +the Free Software Foundation, 51 Franklin Street, Fifth Floor, +Boston, MA 02110-1301, USA. */ + +#ifndef __GPPROCESSOR_H__ +#define __GPPROCESSOR_H__ + +enum proc_class { + PROC_CLASS_UNKNOWN, /* Unknown device */ + PROC_CLASS_EEPROM8, /* 8 bit EEPROM */ + PROC_CLASS_GENERIC, /* 12 bit device */ + PROC_CLASS_PIC12, /* 12 bit devices */ + PROC_CLASS_SX, /* 12 bit devices */ + PROC_CLASS_PIC14, /* 14 bit devices */ + PROC_CLASS_PIC16, /* 16 bit devices */ + PROC_CLASS_PIC16E /* enhanced 16 bit devices */ +}; + +/* XXXPRO: Need to add an entry for any extra processors. Please keep + this list sorted! */ + +enum pic_processor { + no_processor, + eeprom8, + generic, + pic10f200, + pic10f202, + pic10f204, + pic10f206, + pic10f220, + pic10f222, + pic12c508, + pic12c508a, + pic12c509, + pic12c509a, + pic12c671, + pic12c672, + pic12ce518, + pic12ce519, + pic12ce673, + pic12ce674, + pic12cr509a, + pic12f508, + pic12f509, + pic12f510, + pic12f629, + pic12f635, + pic12f675, + pic12f683, + pic14000, + pic16c5x, + pic16cxx, + pic16c432, + pic16c433, + pic16c505, + pic16c54, + pic16c52, + pic16c54a, + pic16c54b, + pic16c54c, + pic16c55, + pic16c55a, + pic16c554, + pic16c557, + pic16c558, + pic16c56, + pic16c56a, + pic16c57, + pic16c57c, + pic16c58a, + pic16c58b, + pic16c61, + pic16c62, + pic16c62a, + pic16c62b, + pic16c620, + pic16c620a, + pic16c621, + pic16c621a, + pic16c622, + pic16c622a, + pic16c63, + pic16c63a, + pic16c64, + pic16c64a, + pic16c642, + pic16c65, + pic16c65a, + pic16c65b, + pic16c66, + pic16c662, + pic16c67, + pic16c71, + pic16c710, + pic16c711, + pic16c712, + pic16c715, + pic16c716, + pic16c717, + pic16c72, + pic16c72a, + pic16c73, + pic16c73a, + pic16c73b, + pic16c74, + pic16c745, + pic16c74a, + pic16c74b, + pic16c76, + pic16c765, + pic16c77, + pic16c770, + pic16c771, + pic16c773, + pic16c774, + pic16c781, + pic16c782, + pic16c84, + pic16c923, + pic16c924, + pic16c925, + pic16c926, + pic16ce623, + pic16ce624, + pic16ce625, + pic16cr54, + pic16cr54a, + pic16cr54b, + pic16cr54c, + pic16cr56a, + pic16cr57a, + pic16cr57b, + pic16cr57c, + pic16cr58a, + pic16cr58b, + pic16cr62, + pic16cr620a, + pic16cr63, + pic16cr64, + pic16cr65, + pic16cr72, + pic16cr83, + pic16cr84, + pic16f505, + pic16f54, + pic16f57, + pic16f59, + pic16f610, + pic16f627, + pic16f627a, + pic16f628, + pic16f628a, + pic16f630, + pic16f636, + pic16f639, + pic16f648a, + pic16f676, + pic16f684, + pic16f685, + pic16f687, + pic16f688, + pic16f689, + pic16f690, + pic16f716, + pic16f72, + pic16f73, + pic16f737, + pic16f74, + pic16f747, + pic16f76, + pic16f767, + pic16f77, + pic16f777, + pic16f785, + pic16f818, + pic16f819, + pic16f83, + pic16f84, + pic16f87, + pic16f84a, + pic16f870, + pic16f871, + pic16f872, + pic16f873, + pic16f873a, + pic16f874, + pic16f874a, + pic16f876, + pic16f876a, + pic16f877, + pic16f877a, + pic16f88, + pic16f882, + pic16f883, + pic16f884, + pic16f886, + pic16f887, + pic16f913, + pic16f914, + pic16f916, + pic16f917, + pic16hv540, + pic17cxx, + pic17c42, + pic17c42a, + pic17c43, + pic17c44, + pic17c752, + pic17c756, + pic17c756a, + pic17c762, + pic17c766, + pic17cr42, + pic17cr43, + pic18cxx, + pic18c242, + pic18c252, + pic18c442, + pic18c452, + pic18c601, + pic18c658, + pic18c801, + pic18c858, + pic18f1220, + pic18f1230, + pic18f1320, + pic18f1330, + pic18f2220, + pic18f2320, + pic18f2331, + pic18f2410, + pic18f242, + pic18f2420, + pic18f2431, + pic18f2439, + pic18f2455, + pic18f248, + pic18f2480, + pic18f24j10, + pic18f2510, + pic18f2515, + pic18f252, + pic18f2525, + pic18f2539, + pic18f2550, + pic18f2520, + pic18f258, + pic18f2580, + pic18f2585, + pic18f25j10, + pic18f2610, + pic18f2620, + pic18f2680, + pic18f2681, + pic18f2682, + pic18f2685, + pic18f4220, + pic18f4320, + pic18f4331, + pic18f4410, + pic18f442, + pic18f4420, + pic18f4431, + pic18f4439, + pic18f4455, + pic18f448, + pic18f4480, + pic18f44j10, + pic18f4510, + pic18f4515, + pic18f452, + pic18f4520, + pic18f4525, + pic18f4539, + pic18f4550, + pic18f458, + pic18f4580, + pic18f4585, + pic18f45j10, + pic18f4610, + pic18f4620, + pic18f4680, + pic18f4681, + pic18f4682, + pic18f4685, + pic18f6310, + pic18f6390, + pic18f6410, + pic18f6490, + pic18f64j15, + pic18f6520, + pic18f6525, + pic18f6585, + pic18f65j10, + pic18f65j15, + pic18f6620, + pic18f6621, + pic18f6627, + pic18f6680, + pic18f66j10, + pic18f66j15, + pic18f6720, + pic18f6722, + pic18f67j10, + pic18f8310, + pic18f8390, + pic18f8410, + pic18f8490, + pic18f84j15, + pic18f8520, + pic18f8525, + pic18f8585, + pic18f85j10, + pic18f85j15, + pic18f8620, + pic18f8621, + pic18f8627, + pic18f8680, + pic18f86j10, + pic18f86j15, + pic18f8720, + pic18f8722, + pic18f87j10, + rf509af, + rf509ag, + rf675f, + rf675h, + rf675k, + sx18, + sx20, + sx28, + sx48, + sx52 +}; + +#define MAX_NAMES 3 /* Maximum number of names a processor can have */ +#if !defined(NULL) +# define NULL 0 +#endif + +struct px { + enum pic_processor tag; + enum proc_class pclass; + const char *defined_as; + const char *names[MAX_NAMES]; + unsigned long coff_type; + int num_pages; + int num_banks; + long maxrom; + const char *script; +}; +extern const px pics[]; + +#endif |