summaryrefslogtreecommitdiffstats
path: root/src/coff/xml/gpprocessor.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/coff/xml/gpprocessor.h')
-rw-r--r--src/coff/xml/gpprocessor.h371
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