|
@@ -0,0 +1,1229 @@
|
|
|
|
|
+#ifndef __INCLUDE_H83068F_H__
|
|
|
|
|
+#define __INCLUDE_H83068F_H__
|
|
|
|
|
+
|
|
|
|
|
+/*
|
|
|
|
|
+ * Copyright (C) 2004 by Jan Dubiec. All rights reserved.
|
|
|
|
|
+ *
|
|
|
|
|
+ * Redistribution and use in source and binary forms, with or without
|
|
|
|
|
+ * modification, are permitted provided that the following conditions
|
|
|
|
|
+ * are met:
|
|
|
|
|
+ *
|
|
|
|
|
+ * 1. Redistributions of source code must retain the above copyright
|
|
|
|
|
+ * notice, this list of conditions and the following disclaimer.
|
|
|
|
|
+ * 2. Redistributions in binary form must reproduce the above copyright
|
|
|
|
|
+ * notice, this list of conditions and the following disclaimer in the
|
|
|
|
|
+ * documentation and/or other materials provided with the distribution.
|
|
|
|
|
+ * 3. Neither the name of the copyright holders nor the names of
|
|
|
|
|
+ * contributors may be used to endorse or promote products derived
|
|
|
|
|
+ * from this software without specific prior written permission.
|
|
|
|
|
+ *
|
|
|
|
|
+ * THIS SOFTWARE IS PROVIDED BY JAN DUBIEC AND CONTRIBUTORS
|
|
|
|
|
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
|
|
|
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
|
|
|
|
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JAN DUBIEC
|
|
|
|
|
+ * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
|
|
|
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
|
|
|
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
|
|
|
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
|
|
|
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
|
|
|
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
|
|
|
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
|
+ */
|
|
|
|
|
+
|
|
|
|
|
+/*
|
|
|
|
|
+ * This file is based on 3068s.h which can be freely downloaded from
|
|
|
|
|
+ * http://www.renesas.com/eng/products/mpumcu/tool/crosstool/iodef/index.html.
|
|
|
|
|
+ *
|
|
|
|
|
+ * I have added lacking definition of ADRCR register in structure st_bsc
|
|
|
|
|
+ * (bus controler), chanded "int" to "short" in some places in order to make
|
|
|
|
|
+ * structs/unions be compatible with gcc's "-mint32" option and added appropriate
|
|
|
|
|
+ * ifdefs in order to avoid including the contents of this file more than once.
|
|
|
|
|
+ *
|
|
|
|
|
+ * Jan Dubiec <jdx@slackware.pl>
|
|
|
|
|
+ *
|
|
|
|
|
+ */
|
|
|
|
|
+
|
|
|
|
|
+/*
|
|
|
|
|
+ * $Log: h83068f.h,v $
|
|
|
|
|
+ * Revision 1.1 2005/06/06 10:49:35 haraldkipp
|
|
|
|
|
+ * Building outside the source tree failed. All header files moved from
|
|
|
|
|
+ * arch/cpu/include to include/arch/cpu.
|
|
|
|
|
+ *
|
|
|
|
|
+ * Revision 1.2 2004/03/19 18:21:12 jdubiec
|
|
|
|
|
+ * Added comment about the origin of this file.
|
|
|
|
|
+ *
|
|
|
|
|
+ * Revision 1.1 2004/03/16 16:48:26 haraldkipp
|
|
|
|
|
+ * Added Jan Dubiec's H8/300 port.
|
|
|
|
|
+ *
|
|
|
|
|
+ */
|
|
|
|
|
+
|
|
|
|
|
+/************************************************************************/
|
|
|
|
|
+/* H8/3068 Series Include File Ver 2.0 */
|
|
|
|
|
+/************************************************************************/
|
|
|
|
|
+
|
|
|
|
|
+union un_p1dr { /* union P1DR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char B7:1; /* Bit 7 */
|
|
|
|
|
+ unsigned char B6:1; /* Bit 6 */
|
|
|
|
|
+ unsigned char B5:1; /* Bit 5 */
|
|
|
|
|
+ unsigned char B4:1; /* Bit 4 */
|
|
|
|
|
+ unsigned char B3:1; /* Bit 3 */
|
|
|
|
|
+ unsigned char B2:1; /* Bit 2 */
|
|
|
|
|
+ unsigned char B1:1; /* Bit 1 */
|
|
|
|
|
+ unsigned char B0:1; /* Bit 0 */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+}; /* */
|
|
|
|
|
+union un_p2pcr { /* union P2PCR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char B7:1; /* Bit 7 */
|
|
|
|
|
+ unsigned char B6:1; /* Bit 6 */
|
|
|
|
|
+ unsigned char B5:1; /* Bit 5 */
|
|
|
|
|
+ unsigned char B4:1; /* Bit 4 */
|
|
|
|
|
+ unsigned char B3:1; /* Bit 3 */
|
|
|
|
|
+ unsigned char B2:1; /* Bit 2 */
|
|
|
|
|
+ unsigned char B1:1; /* Bit 1 */
|
|
|
|
|
+ unsigned char B0:1; /* Bit 0 */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+}; /* */
|
|
|
|
|
+union un_p2dr { /* union P2DR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char B7:1; /* Bit 7 */
|
|
|
|
|
+ unsigned char B6:1; /* Bit 6 */
|
|
|
|
|
+ unsigned char B5:1; /* Bit 5 */
|
|
|
|
|
+ unsigned char B4:1; /* Bit 4 */
|
|
|
|
|
+ unsigned char B3:1; /* Bit 3 */
|
|
|
|
|
+ unsigned char B2:1; /* Bit 2 */
|
|
|
|
|
+ unsigned char B1:1; /* Bit 1 */
|
|
|
|
|
+ unsigned char B0:1; /* Bit 0 */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+}; /* */
|
|
|
|
|
+union un_p3dr { /* union P3DR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char B7:1; /* Bit 7 */
|
|
|
|
|
+ unsigned char B6:1; /* Bit 6 */
|
|
|
|
|
+ unsigned char B5:1; /* Bit 5 */
|
|
|
|
|
+ unsigned char B4:1; /* Bit 4 */
|
|
|
|
|
+ unsigned char B3:1; /* Bit 3 */
|
|
|
|
|
+ unsigned char B2:1; /* Bit 2 */
|
|
|
|
|
+ unsigned char B1:1; /* Bit 1 */
|
|
|
|
|
+ unsigned char B0:1; /* Bit 0 */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+}; /* */
|
|
|
|
|
+union un_p4pcr { /* union P4PCR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char B7:1; /* Bit 7 */
|
|
|
|
|
+ unsigned char B6:1; /* Bit 6 */
|
|
|
|
|
+ unsigned char B5:1; /* Bit 5 */
|
|
|
|
|
+ unsigned char B4:1; /* Bit 4 */
|
|
|
|
|
+ unsigned char B3:1; /* Bit 3 */
|
|
|
|
|
+ unsigned char B2:1; /* Bit 2 */
|
|
|
|
|
+ unsigned char B1:1; /* Bit 1 */
|
|
|
|
|
+ unsigned char B0:1; /* Bit 0 */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+}; /* */
|
|
|
|
|
+union un_p4dr { /* union P4DR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char B7:1; /* Bit 7 */
|
|
|
|
|
+ unsigned char B6:1; /* Bit 6 */
|
|
|
|
|
+ unsigned char B5:1; /* Bit 5 */
|
|
|
|
|
+ unsigned char B4:1; /* Bit 4 */
|
|
|
|
|
+ unsigned char B3:1; /* Bit 3 */
|
|
|
|
|
+ unsigned char B2:1; /* Bit 2 */
|
|
|
|
|
+ unsigned char B1:1; /* Bit 1 */
|
|
|
|
|
+ unsigned char B0:1; /* Bit 0 */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+}; /* */
|
|
|
|
|
+union un_p5pcr { /* union P5PCR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char:4; /* */
|
|
|
|
|
+ unsigned char B3:1; /* Bit 3 */
|
|
|
|
|
+ unsigned char B2:1; /* Bit 2 */
|
|
|
|
|
+ unsigned char B1:1; /* Bit 1 */
|
|
|
|
|
+ unsigned char B0:1; /* Bit 0 */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+}; /* */
|
|
|
|
|
+union un_p5dr { /* union P5DR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char:4; /* */
|
|
|
|
|
+ unsigned char B3:1; /* Bit 3 */
|
|
|
|
|
+ unsigned char B2:1; /* Bit 2 */
|
|
|
|
|
+ unsigned char B1:1; /* Bit 1 */
|
|
|
|
|
+ unsigned char B0:1; /* Bit 0 */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+}; /* */
|
|
|
|
|
+union un_p6dr { /* union P6DR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char B7:1; /* Bit 7 */
|
|
|
|
|
+ unsigned char B6:1; /* Bit 6 */
|
|
|
|
|
+ unsigned char B5:1; /* Bit 5 */
|
|
|
|
|
+ unsigned char B4:1; /* Bit 4 */
|
|
|
|
|
+ unsigned char B3:1; /* Bit 3 */
|
|
|
|
|
+ unsigned char B2:1; /* Bit 2 */
|
|
|
|
|
+ unsigned char B1:1; /* Bit 1 */
|
|
|
|
|
+ unsigned char B0:1; /* Bit 0 */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+}; /* */
|
|
|
|
|
+union un_p7dr { /* union P7DR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char B7:1; /* Bit 7 */
|
|
|
|
|
+ unsigned char B6:1; /* Bit 6 */
|
|
|
|
|
+ unsigned char B5:1; /* Bit 5 */
|
|
|
|
|
+ unsigned char B4:1; /* Bit 4 */
|
|
|
|
|
+ unsigned char B3:1; /* Bit 3 */
|
|
|
|
|
+ unsigned char B2:1; /* Bit 2 */
|
|
|
|
|
+ unsigned char B1:1; /* Bit 1 */
|
|
|
|
|
+ unsigned char B0:1; /* Bit 0 */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+}; /* */
|
|
|
|
|
+union un_p8dr { /* union P8DR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char:3; /* */
|
|
|
|
|
+ unsigned char B4:1; /* Bit 4 */
|
|
|
|
|
+ unsigned char B3:1; /* Bit 3 */
|
|
|
|
|
+ unsigned char B2:1; /* Bit 2 */
|
|
|
|
|
+ unsigned char B1:1; /* Bit 1 */
|
|
|
|
|
+ unsigned char B0:1; /* Bit 0 */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+}; /* */
|
|
|
|
|
+union un_p9dr { /* union P9DR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char:2; /* */
|
|
|
|
|
+ unsigned char B5:1; /* Bit 5 */
|
|
|
|
|
+ unsigned char B4:1; /* Bit 4 */
|
|
|
|
|
+ unsigned char B3:1; /* Bit 3 */
|
|
|
|
|
+ unsigned char B2:1; /* Bit 2 */
|
|
|
|
|
+ unsigned char B1:1; /* Bit 1 */
|
|
|
|
|
+ unsigned char B0:1; /* Bit 0 */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+}; /* */
|
|
|
|
|
+union un_padr { /* union PADR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char B7:1; /* Bit 7 */
|
|
|
|
|
+ unsigned char B6:1; /* Bit 6 */
|
|
|
|
|
+ unsigned char B5:1; /* Bit 5 */
|
|
|
|
|
+ unsigned char B4:1; /* Bit 4 */
|
|
|
|
|
+ unsigned char B3:1; /* Bit 3 */
|
|
|
|
|
+ unsigned char B2:1; /* Bit 2 */
|
|
|
|
|
+ unsigned char B1:1; /* Bit 1 */
|
|
|
|
|
+ unsigned char B0:1; /* Bit 0 */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+}; /* */
|
|
|
|
|
+union un_pbdr { /* union PBDR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char B7:1; /* Bit 7 */
|
|
|
|
|
+ unsigned char B6:1; /* Bit 6 */
|
|
|
|
|
+ unsigned char B5:1; /* Bit 5 */
|
|
|
|
|
+ unsigned char B4:1; /* Bit 4 */
|
|
|
|
|
+ unsigned char B3:1; /* Bit 3 */
|
|
|
|
|
+ unsigned char B2:1; /* Bit 2 */
|
|
|
|
|
+ unsigned char B1:1; /* Bit 1 */
|
|
|
|
|
+ unsigned char B0:1; /* Bit 0 */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+}; /* */
|
|
|
|
|
+union un_mdcr { /* union MDCR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char:5; /* */
|
|
|
|
|
+ unsigned char MDS:3; /* MDS */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+}; /* */
|
|
|
|
|
+union un_syscr { /* union SYSCR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char SSBY:1; /* SSBY */
|
|
|
|
|
+ unsigned char STS:3; /* STS */
|
|
|
|
|
+ unsigned char UE:1; /* UE */
|
|
|
|
|
+ unsigned char NMIEG:1; /* NMIEG */
|
|
|
|
|
+ unsigned char SSOE:1; /* SSOE */
|
|
|
|
|
+ unsigned char RAME:1; /* RAME */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+}; /* */
|
|
|
|
|
+union un_divcr { /* union DIVCR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char:6; /* */
|
|
|
|
|
+ unsigned char DIV:2; /* DIV */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+}; /* */
|
|
|
|
|
+union un_mstcr { /* union MSTCR */
|
|
|
|
|
+ unsigned short WORD; /* Word Access */
|
|
|
|
|
+ struct { /* Byte Access */
|
|
|
|
|
+ unsigned char H; /* High */
|
|
|
|
|
+ unsigned char L; /* Low */
|
|
|
|
|
+ } BYTE; /* */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char PSTOP:1; /* PSTOP */
|
|
|
|
|
+ unsigned char:4; /* */
|
|
|
|
|
+ unsigned char _SCI2:1; /* MSTPH2 */
|
|
|
|
|
+ unsigned char _SCI1:1; /* MSTPH1 */
|
|
|
|
|
+ unsigned char _SCI0:1; /* MSTPH0 */
|
|
|
|
|
+ unsigned char _DMAC:1; /* MSTPL7 */
|
|
|
|
|
+ unsigned char:1; /* */
|
|
|
|
|
+ unsigned char _DRAM:1; /* MSTPL5 */
|
|
|
|
|
+ unsigned char _ITU:1; /* MSTPL4 */
|
|
|
|
|
+ unsigned char _TMR01:1; /* MSTPL3 */
|
|
|
|
|
+ unsigned char _TMR23:1; /* MSTPL2 */
|
|
|
|
|
+ unsigned char:1; /* */
|
|
|
|
|
+ unsigned char _AD:1; /* MSTPL0 */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+}; /* */
|
|
|
|
|
+struct st_bsc { /* struct BSC */
|
|
|
|
|
+ char wk1; /* */
|
|
|
|
|
+ union { /* BRCR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char A23E:1; /* A23E */
|
|
|
|
|
+ unsigned char A22E:1; /* A22E */
|
|
|
|
|
+ unsigned char A21E:1; /* A21E */
|
|
|
|
|
+ unsigned char A20E:1; /* A20E */
|
|
|
|
|
+ unsigned char:3; /* */
|
|
|
|
|
+ unsigned char BRLE:1; /* BRLE */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } BRCR; /* */
|
|
|
|
|
+ char wk2[10]; /* */
|
|
|
|
|
+ union { /* ADRCR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char:7; /* */
|
|
|
|
|
+ unsigned char ADRCTL:1; /* ADRCTL */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } ADRCR; /* */
|
|
|
|
|
+ union { /* CSCR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char CS7E:1; /* CS7E */
|
|
|
|
|
+ unsigned char CS6E:1; /* CS6E */
|
|
|
|
|
+ unsigned char CS5E:1; /* CS5E */
|
|
|
|
|
+ unsigned char CS4E:1; /* CS4E */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } CSCR; /* */
|
|
|
|
|
+ union { /* ABWCR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char ABW7:1; /* ABW7 */
|
|
|
|
|
+ unsigned char ABW6:1; /* ABW6 */
|
|
|
|
|
+ unsigned char ABW5:1; /* ABW5 */
|
|
|
|
|
+ unsigned char ABW4:1; /* ABW4 */
|
|
|
|
|
+ unsigned char ABW3:1; /* ABW3 */
|
|
|
|
|
+ unsigned char ABW2:1; /* ABW2 */
|
|
|
|
|
+ unsigned char ABW1:1; /* ABW1 */
|
|
|
|
|
+ unsigned char ABW0:1; /* ABW0 */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } ABWCR; /* */
|
|
|
|
|
+ union { /* ASTCR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char AST7:1; /* AST7 */
|
|
|
|
|
+ unsigned char AST6:1; /* AST6 */
|
|
|
|
|
+ unsigned char AST5:1; /* AST5 */
|
|
|
|
|
+ unsigned char AST4:1; /* AST4 */
|
|
|
|
|
+ unsigned char AST3:1; /* AST3 */
|
|
|
|
|
+ unsigned char AST2:1; /* AST2 */
|
|
|
|
|
+ unsigned char AST1:1; /* AST1 */
|
|
|
|
|
+ unsigned char AST0:1; /* AST0 */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } ASTCR; /* */
|
|
|
|
|
+ union { /* WCR */
|
|
|
|
|
+ unsigned short WORD; /* Word Access */
|
|
|
|
|
+ struct { /* Byte Access */
|
|
|
|
|
+ unsigned char H; /* WCRH */
|
|
|
|
|
+ unsigned char L; /* WCRL */
|
|
|
|
|
+ } BYTE; /* */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char W7:2; /* W7 */
|
|
|
|
|
+ unsigned char W6:2; /* W6 */
|
|
|
|
|
+ unsigned char W5:2; /* W5 */
|
|
|
|
|
+ unsigned char W4:2; /* W4 */
|
|
|
|
|
+ unsigned char W3:2; /* W3 */
|
|
|
|
|
+ unsigned char W2:2; /* W2 */
|
|
|
|
|
+ unsigned char W1:2; /* W1 */
|
|
|
|
|
+ unsigned char W0:2; /* W0 */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } WCR; /* */
|
|
|
|
|
+ union { /* BCR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char ICIS1:1; /* ICIS1 */
|
|
|
|
|
+ unsigned char ICIS0:1; /* ICIS0 */
|
|
|
|
|
+ unsigned char BROME:1; /* BROME */
|
|
|
|
|
+ unsigned char BRSTS1:1; /* BRSTS1 */
|
|
|
|
|
+ unsigned char BRSTS0:1; /* BRSTS0 */
|
|
|
|
|
+ unsigned char:1; /* */
|
|
|
|
|
+ unsigned char RDEA:1; /* RDEA */
|
|
|
|
|
+ unsigned char WAITE:1; /* WAITE */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } BCR; /* */
|
|
|
|
|
+ char wk3; /* */
|
|
|
|
|
+ union { /* DRCRA */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char DRAS:3; /* DRAS */
|
|
|
|
|
+ unsigned char:1; /* */
|
|
|
|
|
+ unsigned char BE:1; /* BE */
|
|
|
|
|
+ unsigned char RDM:1; /* RDM */
|
|
|
|
|
+ unsigned char SRFMD:1; /* SRFMD */
|
|
|
|
|
+ unsigned char RFSHE:1; /* RFSHE */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } DRCRA; /* */
|
|
|
|
|
+ union { /* DRCRB */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char MXC:2; /* MXC */
|
|
|
|
|
+ unsigned char CSEL:1; /* CSEL */
|
|
|
|
|
+ unsigned char RCYCE:1; /* RCYCE */
|
|
|
|
|
+ unsigned char:1; /* */
|
|
|
|
|
+ unsigned char _TPC:1; /* TPC */
|
|
|
|
|
+ unsigned char RCW:1; /* RCW */
|
|
|
|
|
+ unsigned char RLW:1; /* RLW */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } DRCRB; /* */
|
|
|
|
|
+ union { /* RTMCSR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char CMF:1; /* CMF */
|
|
|
|
|
+ unsigned char CMIE:1; /* CMIE */
|
|
|
|
|
+ unsigned char CKS:3; /* CKS */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } RTMCSR; /* */
|
|
|
|
|
+ unsigned char RTCNT; /* RTCNT */
|
|
|
|
|
+ unsigned char RTCOR; /* RTCOR */
|
|
|
|
|
+}; /* */
|
|
|
|
|
+struct st_intc { /* struct INTC */
|
|
|
|
|
+ union { /* ISCR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char:2; /* */
|
|
|
|
|
+ unsigned char IRQ5SC:1; /* IRQ5SC */
|
|
|
|
|
+ unsigned char IRQ4SC:1; /* IRQ4SC */
|
|
|
|
|
+ unsigned char IRQ3SC:1; /* IRQ3SC */
|
|
|
|
|
+ unsigned char IRQ2SC:1; /* IRQ2SC */
|
|
|
|
|
+ unsigned char IRQ1SC:1; /* IRQ1SC */
|
|
|
|
|
+ unsigned char IRQ0SC:1; /* IRQ0SC */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } ISCR; /* */
|
|
|
|
|
+ union { /* IER */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char:2; /* */
|
|
|
|
|
+ unsigned char IRQ5E:1; /* IRQ5E */
|
|
|
|
|
+ unsigned char IRQ4E:1; /* IRQ4E */
|
|
|
|
|
+ unsigned char IRQ3E:1; /* IRQ3E */
|
|
|
|
|
+ unsigned char IRQ2E:1; /* IRQ2E */
|
|
|
|
|
+ unsigned char IRQ1E:1; /* IRQ1E */
|
|
|
|
|
+ unsigned char IRQ0E:1; /* IRQ0E */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } IER; /* */
|
|
|
|
|
+ union { /* ISR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char:2; /* */
|
|
|
|
|
+ unsigned char IRQ5F:1; /* IRQ5F */
|
|
|
|
|
+ unsigned char IRQ4F:1; /* IRQ4F */
|
|
|
|
|
+ unsigned char IRQ3F:1; /* IRQ3F */
|
|
|
|
|
+ unsigned char IRQ2F:1; /* IRQ2F */
|
|
|
|
|
+ unsigned char IRQ1F:1; /* IRQ1F */
|
|
|
|
|
+ unsigned char IRQ0F:1; /* IRQ0F */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } ISR; /* */
|
|
|
|
|
+ char wk; /* */
|
|
|
|
|
+ union { /* IPRA */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char _IRQ0:1; /* IRQ0 */
|
|
|
|
|
+ unsigned char _IRQ1:1; /* IRQ1 */
|
|
|
|
|
+ unsigned char _IRQ23:1; /* IRQ2,IRQ3 */
|
|
|
|
|
+ unsigned char _IRQ45:1; /* IRQ4,IRQ5 */
|
|
|
|
|
+ unsigned char _WDT:1; /* WDT,DRAM,A/D */
|
|
|
|
|
+ unsigned char _ITU0:1; /* ITU0 */
|
|
|
|
|
+ unsigned char _ITU1:1; /* ITU1 */
|
|
|
|
|
+ unsigned char _ITU2:1; /* ITU2 */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } IPRA; /* */
|
|
|
|
|
+ union { /* IPRB */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char _TMR01:1; /* TMR0,1 */
|
|
|
|
|
+ unsigned char _TMR23:1; /* TMR2,3 */
|
|
|
|
|
+ unsigned char _DMAC:1; /* DMAC */
|
|
|
|
|
+ unsigned char:1; /* */
|
|
|
|
|
+ unsigned char _SCI0:1; /* SCI0 */
|
|
|
|
|
+ unsigned char _SCI1:1; /* SCI1 */
|
|
|
|
|
+ unsigned char _SCI2:1; /* SCI2 */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } IPRB; /* */
|
|
|
|
|
+}; /* */
|
|
|
|
|
+#if __CPU__==2 /* Normal Mode */
|
|
|
|
|
+struct st_sam { /* struct DMAC */
|
|
|
|
|
+ char wk[2]; /* */
|
|
|
|
|
+ void *MAR; /* MAR */
|
|
|
|
|
+ unsigned short ETCR; /* ETCR */
|
|
|
|
|
+ unsigned char IOAR; /* IOAR */
|
|
|
|
|
+ union { /* DTCR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char DTE:1; /* DTE */
|
|
|
|
|
+ unsigned char DTSZ:1; /* DTSZ */
|
|
|
|
|
+ unsigned char DTID:1; /* DTID */
|
|
|
|
|
+ unsigned char RPE:1; /* RPE */
|
|
|
|
|
+ unsigned char DTIE:1; /* DTIE */
|
|
|
|
|
+ unsigned char DTS:3; /* DTS */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } DTCR; /* */
|
|
|
|
|
+}; /* */
|
|
|
|
|
+struct st_fam { /* struct DMAC */
|
|
|
|
|
+ char wk1[2]; /* */
|
|
|
|
|
+ void *MARA; /* MARA */
|
|
|
|
|
+ unsigned short ETCRA; /* ETCRA */
|
|
|
|
|
+ char wk2; /* */
|
|
|
|
|
+ union { /* DTCRA */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char DTE:1; /* DTE */
|
|
|
|
|
+ unsigned char DTSZ:1; /* DTSZ */
|
|
|
|
|
+ unsigned char SAID:1; /* SAID */
|
|
|
|
|
+ unsigned char SAIDE:1; /* SAIDE */
|
|
|
|
|
+ unsigned char DTIE:1; /* DTIE */
|
|
|
|
|
+ unsigned char DTS:3; /* DTS */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } DTCRA; /* */
|
|
|
|
|
+ char wk3[2]; /* */
|
|
|
|
|
+ void *MARB; /* MARB */
|
|
|
|
|
+ unsigned short ETCRB; /* ETCRB */
|
|
|
|
|
+ char wk4; /* */
|
|
|
|
|
+ union { /* DTCRB */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char DTME:1; /* DTME */
|
|
|
|
|
+ unsigned char:1; /* */
|
|
|
|
|
+ unsigned char DAID:1; /* DAID */
|
|
|
|
|
+ unsigned char DAIDE:1; /* DAIDE */
|
|
|
|
|
+ unsigned char TMS:1; /* TMS */
|
|
|
|
|
+ unsigned char DTS:3; /* DTS */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } DTCRB; /* */
|
|
|
|
|
+}; /* */
|
|
|
|
|
+#else /* Advanced Mode */
|
|
|
|
|
+struct st_sam { /* struct DMAC */
|
|
|
|
|
+ void *MAR; /* MAR */
|
|
|
|
|
+ unsigned short ETCR; /* ETCR */
|
|
|
|
|
+ unsigned char IOAR; /* IOAR */
|
|
|
|
|
+ union { /* DTCR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char DTE:1; /* DTE */
|
|
|
|
|
+ unsigned char DTSZ:1; /* DTSZ */
|
|
|
|
|
+ unsigned char DTID:1; /* DTID */
|
|
|
|
|
+ unsigned char RPE:1; /* RPE */
|
|
|
|
|
+ unsigned char DTIE:1; /* DTIE */
|
|
|
|
|
+ unsigned char DTS:3; /* DTS */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } DTCR; /* */
|
|
|
|
|
+}; /* */
|
|
|
|
|
+struct st_fam { /* struct DMAC */
|
|
|
|
|
+ void *MARA; /* MARA */
|
|
|
|
|
+ unsigned short ETCRA; /* ETCRA */
|
|
|
|
|
+ char wk1; /* */
|
|
|
|
|
+ union { /* DTCRA */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char DTE:1; /* DTE */
|
|
|
|
|
+ unsigned char DTSZ:1; /* DTSZ */
|
|
|
|
|
+ unsigned char SAID:1; /* SAID */
|
|
|
|
|
+ unsigned char SAIDE:1; /* SAIDE */
|
|
|
|
|
+ unsigned char DTIE:1; /* DTIE */
|
|
|
|
|
+ unsigned char DTS:3; /* DTS */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } DTCRA; /* */
|
|
|
|
|
+ void *MARB; /* MARB */
|
|
|
|
|
+ unsigned short ETCRB; /* ETCRB */
|
|
|
|
|
+ char wk2; /* */
|
|
|
|
|
+ union { /* DTCRB */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char DTME:1; /* DTME */
|
|
|
|
|
+ unsigned char:1; /* */
|
|
|
|
|
+ unsigned char DAID:1; /* DAID */
|
|
|
|
|
+ unsigned char DAIDE:1; /* DAIDE */
|
|
|
|
|
+ unsigned char TMS:1; /* TMS */
|
|
|
|
|
+ unsigned char DTS:3; /* DTS */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } DTCRB; /* */
|
|
|
|
|
+}; /* */
|
|
|
|
|
+#endif /* */
|
|
|
|
|
+struct st_flash { /* struct FLASH */
|
|
|
|
|
+ union { /* FLMCR1 */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char FWE:1; /* FWE */
|
|
|
|
|
+ unsigned char SWE:1; /* SWE */
|
|
|
|
|
+ unsigned char ESU:1; /* ESU */
|
|
|
|
|
+ unsigned char PSU:1; /* PSU */
|
|
|
|
|
+ unsigned char EV:1; /* EV */
|
|
|
|
|
+ unsigned char PV:1; /* PV */
|
|
|
|
|
+ unsigned char E:1; /* E */
|
|
|
|
|
+ unsigned char P:1; /* P */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } FLMCR1; /* */
|
|
|
|
|
+ union { /* FLMCR2 */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char FLER:1; /* FLER */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } FLMCR2; /* */
|
|
|
|
|
+ union { /* EBR1 */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char EB7:1; /* EB7 */
|
|
|
|
|
+ unsigned char EB6:1; /* EB6 */
|
|
|
|
|
+ unsigned char EB5:1; /* EB5 */
|
|
|
|
|
+ unsigned char EB4:1; /* EB4 */
|
|
|
|
|
+ unsigned char EB3:1; /* EB3 */
|
|
|
|
|
+ unsigned char EB2:1; /* EB2 */
|
|
|
|
|
+ unsigned char EB1:1; /* EB1 */
|
|
|
|
|
+ unsigned char EB0:1; /* EB0 */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } EBR1; /* */
|
|
|
|
|
+ union { /* EBR2 */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char:2; /* */
|
|
|
|
|
+ unsigned char EB13:1; /* EB13 */
|
|
|
|
|
+ unsigned char EB12:1; /* EB12 */
|
|
|
|
|
+ unsigned char EB11:1; /* EB11 */
|
|
|
|
|
+ unsigned char EB10:1; /* EB10 */
|
|
|
|
|
+ unsigned char EB9:1; /* EB9 */
|
|
|
|
|
+ unsigned char EB8:1; /* EB8 */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } EBR2; /* */
|
|
|
|
|
+ char wk[67]; /* */
|
|
|
|
|
+ union { /* RAMCR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char:4; /* */
|
|
|
|
|
+ unsigned char RAMS:1; /* RAMS */
|
|
|
|
|
+ unsigned char RAM:3; /* RAM */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } RAMCR; /* */
|
|
|
|
|
+}; /* */
|
|
|
|
|
+struct st_itu { /* struct ITU */
|
|
|
|
|
+ union { /* TSTR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char:5; /* */
|
|
|
|
|
+ unsigned char STR2:1; /* STR2 */
|
|
|
|
|
+ unsigned char STR1:1; /* STR1 */
|
|
|
|
|
+ unsigned char STR0:1; /* STR0 */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } TSTR; /* */
|
|
|
|
|
+ union { /* TSNC */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char:5; /* */
|
|
|
|
|
+ unsigned char SYNC2:1; /* SYNC2 */
|
|
|
|
|
+ unsigned char SYNC1:1; /* SYNC1 */
|
|
|
|
|
+ unsigned char SYNC0:1; /* SYNC0 */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } TSNC; /* */
|
|
|
|
|
+ union { /* TMDR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char:1; /* */
|
|
|
|
|
+ unsigned char MDF:1; /* MDF */
|
|
|
|
|
+ unsigned char FDIR:1; /* FDIR */
|
|
|
|
|
+ unsigned char:2; /* */
|
|
|
|
|
+ unsigned char PWM2:1; /* PWM2 */
|
|
|
|
|
+ unsigned char PWM1:1; /* PWM1 */
|
|
|
|
|
+ unsigned char PWM0:1; /* PWM0 */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } TMDR; /* */
|
|
|
|
|
+ union { /* TOLR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char:2; /* */
|
|
|
|
|
+ unsigned char TOB2:1; /* TOB2 */
|
|
|
|
|
+ unsigned char TOA2:1; /* TOA2 */
|
|
|
|
|
+ unsigned char TOB1:1; /* TOB1 */
|
|
|
|
|
+ unsigned char TOA1:1; /* TOA1 */
|
|
|
|
|
+ unsigned char TOB0:1; /* TOB0 */
|
|
|
|
|
+ unsigned char TOA0:1; /* TOA0 */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } TOLR; /* */
|
|
|
|
|
+ union { /* TISRA */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char:1; /* */
|
|
|
|
|
+ unsigned char IMIEA2:1; /* IMIEA2 */
|
|
|
|
|
+ unsigned char IMIEA1:1; /* IMIEA2 */
|
|
|
|
|
+ unsigned char IMIEA0:1; /* IMIEA2 */
|
|
|
|
|
+ unsigned char:1; /* */
|
|
|
|
|
+ unsigned char IMFA2:1; /* IMFA2 */
|
|
|
|
|
+ unsigned char IMFA1:1; /* IMFA1 */
|
|
|
|
|
+ unsigned char IMFA0:1; /* IMFA0 */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } TISRA; /* */
|
|
|
|
|
+ union { /* TISRB */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char:1; /* */
|
|
|
|
|
+ unsigned char IMIEB2:1; /* IMIEB2 */
|
|
|
|
|
+ unsigned char IMIEB1:1; /* IMIEB2 */
|
|
|
|
|
+ unsigned char IMIEB0:1; /* IMIEB2 */
|
|
|
|
|
+ unsigned char:1; /* */
|
|
|
|
|
+ unsigned char IMFB2:1; /* IMFB2 */
|
|
|
|
|
+ unsigned char IMFB1:1; /* IMFB1 */
|
|
|
|
|
+ unsigned char IMFB0:1; /* IMFB0 */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } TISRB; /* */
|
|
|
|
|
+ union { /* TISRC */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char:1; /* */
|
|
|
|
|
+ unsigned char OVIE2:1; /* OVIE2 */
|
|
|
|
|
+ unsigned char OVIE1:1; /* OVIE2 */
|
|
|
|
|
+ unsigned char OVIE0:1; /* OVIE2 */
|
|
|
|
|
+ unsigned char:1; /* */
|
|
|
|
|
+ unsigned char OVF2:1; /* OVF2 */
|
|
|
|
|
+ unsigned char OVF1:1; /* OVF1 */
|
|
|
|
|
+ unsigned char OVF0:1; /* OVF0 */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } TISRC; /* */
|
|
|
|
|
+}; /* */
|
|
|
|
|
+struct st_itu0 { /* struct ITU0 */
|
|
|
|
|
+ union { /* TCR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char:1; /* */
|
|
|
|
|
+ unsigned char CCLR:2; /* CCLR */
|
|
|
|
|
+ unsigned char CKEG:2; /* CKEG */
|
|
|
|
|
+ unsigned char TPSC:3; /* TPSC */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } TCR; /* */
|
|
|
|
|
+ union { /* TIOR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char:1; /* */
|
|
|
|
|
+ unsigned char IOB:3; /* IOB */
|
|
|
|
|
+ unsigned char:1; /* */
|
|
|
|
|
+ unsigned char IOA:3; /* IOA */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } TIOR; /* */
|
|
|
|
|
+ unsigned short TCNT; /* TCNT */
|
|
|
|
|
+ unsigned short GRA; /* GRA */
|
|
|
|
|
+ unsigned short GRB; /* GRB */
|
|
|
|
|
+}; /* */
|
|
|
|
|
+union un_wdt { /* union WDT */
|
|
|
|
|
+ struct { /* Read Access */
|
|
|
|
|
+ union { /* TCSR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char OVF:1; /* OVF */
|
|
|
|
|
+ unsigned char WTIT:1; /* WT/IT */
|
|
|
|
|
+ unsigned char TME:1; /* TME */
|
|
|
|
|
+ unsigned char:2; /* */
|
|
|
|
|
+ unsigned char CKS:3; /* CKS */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } TCSR; /* */
|
|
|
|
|
+ unsigned char TCNT; /* TCNT */
|
|
|
|
|
+ char wk; /* */
|
|
|
|
|
+ union { /* RSTCSR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* */
|
|
|
|
|
+ unsigned char WRST:1; /* WSRT */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } RSTCSR; /* */
|
|
|
|
|
+ } READ; /* */
|
|
|
|
|
+ struct { /* Write Access */
|
|
|
|
|
+ unsigned short TCSR; /* TCSR/TCNT */
|
|
|
|
|
+ unsigned short RSTCSR; /* RSTCSR */
|
|
|
|
|
+ } WRITE; /* */
|
|
|
|
|
+}; /* */
|
|
|
|
|
+struct st_tmr01 { /* struct TMR01 */
|
|
|
|
|
+ union { /* TCR0 */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char CMIEB:1; /* CMIEB */
|
|
|
|
|
+ unsigned char CMIEA:1; /* CMIEA */
|
|
|
|
|
+ unsigned char OVIE:1; /* OVIE */
|
|
|
|
|
+ unsigned char CCLR:2; /* CCLR */
|
|
|
|
|
+ unsigned char CKS:3; /* CKS */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } TCR0; /* */
|
|
|
|
|
+ union { /* TCR1 */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char CMIEB:1; /* CMIEB */
|
|
|
|
|
+ unsigned char CMIEA:1; /* CMIEA */
|
|
|
|
|
+ unsigned char OVIE:1; /* OVIE */
|
|
|
|
|
+ unsigned char CCLR:2; /* CCLR */
|
|
|
|
|
+ unsigned char CKS:3; /* CKS */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } TCR1; /* */
|
|
|
|
|
+ union { /* TCSR0 */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char CMFB:1; /* CMFB */
|
|
|
|
|
+ unsigned char CMFA:1; /* CMFA */
|
|
|
|
|
+ unsigned char OVF:1; /* OVF */
|
|
|
|
|
+ unsigned char ADTE:1; /* ADTE */
|
|
|
|
|
+ unsigned char OS:4; /* OS */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } TCSR0; /* */
|
|
|
|
|
+ union { /* TCSR1 */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char CMFB:1; /* CMFB */
|
|
|
|
|
+ unsigned char CMFA:1; /* CMFA */
|
|
|
|
|
+ unsigned char OVF:1; /* OVF */
|
|
|
|
|
+ unsigned char ICE:1; /* ICE */
|
|
|
|
|
+ unsigned char OS:4; /* OS */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } TCSR1; /* */
|
|
|
|
|
+ unsigned short TCORA; /* TCORA */
|
|
|
|
|
+ unsigned short TCORB; /* TCORB */
|
|
|
|
|
+ unsigned short TCNT; /* TCNT */
|
|
|
|
|
+}; /* */
|
|
|
|
|
+struct st_tmr23 { /* struct TMR23 */
|
|
|
|
|
+ union { /* TCR2 */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char CMIEB:1; /* CMIEB */
|
|
|
|
|
+ unsigned char CMIEA:1; /* CMIEA */
|
|
|
|
|
+ unsigned char OVIE:1; /* OVIE */
|
|
|
|
|
+ unsigned char CCLR:2; /* CCLR */
|
|
|
|
|
+ unsigned char CKS:3; /* CKS */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } TCR2; /* */
|
|
|
|
|
+ union { /* TCR3 */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char CMIEB:1; /* CMIEB */
|
|
|
|
|
+ unsigned char CMIEA:1; /* CMIEA */
|
|
|
|
|
+ unsigned char OVIE:1; /* OVIE */
|
|
|
|
|
+ unsigned char CCLR:2; /* CCLR */
|
|
|
|
|
+ unsigned char CKS:3; /* CKS */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } TCR3; /* */
|
|
|
|
|
+ union { /* TCSR2 */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char CMFB:1; /* CMFB */
|
|
|
|
|
+ unsigned char CMFA:1; /* CMFA */
|
|
|
|
|
+ unsigned char OVF:1; /* OVF */
|
|
|
|
|
+ unsigned char:1; /* */
|
|
|
|
|
+ unsigned char OS:4; /* OS */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } TCSR2; /* */
|
|
|
|
|
+ union { /* TCSR3 */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char CMFB:1; /* CMFB */
|
|
|
|
|
+ unsigned char CMFA:1; /* CMFA */
|
|
|
|
|
+ unsigned char OVF:1; /* OVF */
|
|
|
|
|
+ unsigned char ICE:1; /* ICE */
|
|
|
|
|
+ unsigned char OS:4; /* OS */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } TCSR3; /* */
|
|
|
|
|
+ unsigned short TCORA; /* TCORA */
|
|
|
|
|
+ unsigned short TCORB; /* TCORB */
|
|
|
|
|
+ unsigned short TCNT; /* TCNT */
|
|
|
|
|
+}; /* */
|
|
|
|
|
+struct st_tmr0 { /* struct TMR0 */
|
|
|
|
|
+ union { /* TCR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char CMIEB:1; /* CMIEB */
|
|
|
|
|
+ unsigned char CMIEA:1; /* CMIEA */
|
|
|
|
|
+ unsigned char OVIE:1; /* OVIE */
|
|
|
|
|
+ unsigned char CCLR:2; /* CCLR */
|
|
|
|
|
+ unsigned char CKS:3; /* CKS */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } TCR; /* */
|
|
|
|
|
+ char wk1; /* */
|
|
|
|
|
+ union { /* TCSR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char CMFB:1; /* CMFB */
|
|
|
|
|
+ unsigned char CMFA:1; /* CMFA */
|
|
|
|
|
+ unsigned char OVF:1; /* OVF */
|
|
|
|
|
+ unsigned char ADTE:1; /* ADTE */
|
|
|
|
|
+ unsigned char OS:4; /* OS */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } TCSR; /* */
|
|
|
|
|
+ char wk2; /* */
|
|
|
|
|
+ unsigned char TCORA; /* TCORA */
|
|
|
|
|
+ char wk3; /* */
|
|
|
|
|
+ unsigned char TCORB; /* TCORB */
|
|
|
|
|
+ char wk4; /* */
|
|
|
|
|
+ unsigned char TCNT; /* TCNT */
|
|
|
|
|
+}; /* */
|
|
|
|
|
+struct st_tmr1 { /* struct TMR1 */
|
|
|
|
|
+ union { /* TCR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char CMIEB:1; /* CMIEB */
|
|
|
|
|
+ unsigned char CMIEA:1; /* CMIEA */
|
|
|
|
|
+ unsigned char OVIE:1; /* OVIE */
|
|
|
|
|
+ unsigned char CCLR:2; /* CCLR */
|
|
|
|
|
+ unsigned char CKS:3; /* CKS */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } TCR; /* */
|
|
|
|
|
+ char wk1; /* */
|
|
|
|
|
+ union { /* TCSR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char CMFB:1; /* CMFB */
|
|
|
|
|
+ unsigned char CMFA:1; /* CMFA */
|
|
|
|
|
+ unsigned char OVF:1; /* OVF */
|
|
|
|
|
+ unsigned char ICE:1; /* ICE */
|
|
|
|
|
+ unsigned char OS:4; /* OS */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } TCSR; /* */
|
|
|
|
|
+ char wk2; /* */
|
|
|
|
|
+ unsigned char TCORA; /* TCORA */
|
|
|
|
|
+ char wk3; /* */
|
|
|
|
|
+ unsigned char TCORB; /* TCORB */
|
|
|
|
|
+ char wk4; /* */
|
|
|
|
|
+ unsigned char TCNT; /* TCNT */
|
|
|
|
|
+}; /* */
|
|
|
|
|
+struct st_tmr2 { /* struct TMR2 */
|
|
|
|
|
+ union { /* TCR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char CMIEB:1; /* CMIEB */
|
|
|
|
|
+ unsigned char CMIEA:1; /* CMIEA */
|
|
|
|
|
+ unsigned char OVIE:1; /* OVIE */
|
|
|
|
|
+ unsigned char CCLR:2; /* CCLR */
|
|
|
|
|
+ unsigned char CKS:3; /* CKS */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } TCR; /* */
|
|
|
|
|
+ char wk1; /* */
|
|
|
|
|
+ union { /* TCSR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char CMFB:1; /* CMFB */
|
|
|
|
|
+ unsigned char CMFA:1; /* CMFA */
|
|
|
|
|
+ unsigned char OVF:1; /* OVF */
|
|
|
|
|
+ unsigned char:1; /* */
|
|
|
|
|
+ unsigned char OS:4; /* OS */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } TCSR; /* */
|
|
|
|
|
+ char wk2; /* */
|
|
|
|
|
+ unsigned char TCORA; /* TCORA */
|
|
|
|
|
+ char wk3; /* */
|
|
|
|
|
+ unsigned char TCORB; /* TCORB */
|
|
|
|
|
+ char wk4; /* */
|
|
|
|
|
+ unsigned char TCNT; /* TCNT */
|
|
|
|
|
+}; /* */
|
|
|
|
|
+union un_dastcr { /* DASTCR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char:7; /* */
|
|
|
|
|
+ unsigned char DASTE:1; /* DASTE */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+}; /* */
|
|
|
|
|
+struct st_da { /* struct D/A */
|
|
|
|
|
+ unsigned char DADR0; /* DADR0 */
|
|
|
|
|
+ unsigned char DADR1; /* DADR1 */
|
|
|
|
|
+ union { /* DACR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char DAOE1:1; /* DAOE1 */
|
|
|
|
|
+ unsigned char DAOE0:1; /* DAOE0 */
|
|
|
|
|
+ unsigned char DAE:1; /* DAE */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } DACR; /* */
|
|
|
|
|
+}; /* */
|
|
|
|
|
+struct st_tpc { /* struct TPC */
|
|
|
|
|
+ union { /* TPMR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char:4; /* */
|
|
|
|
|
+ unsigned char G3NOV:1; /* G3NOV */
|
|
|
|
|
+ unsigned char G2NOV:1; /* G2NOV */
|
|
|
|
|
+ unsigned char G1NOV:1; /* G1NOV */
|
|
|
|
|
+ unsigned char G0NOV:1; /* G0NOV */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } TPMR; /* */
|
|
|
|
|
+ union { /* TPCR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char G3CMS:2; /* G3CMS */
|
|
|
|
|
+ unsigned char G2CMS:2; /* G2CMS */
|
|
|
|
|
+ unsigned char G1CMS:2; /* G1CMS */
|
|
|
|
|
+ unsigned char G0CMS:2; /* G0CMS */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } TPCR; /* */
|
|
|
|
|
+ union { /* NDERB */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char B15:1; /* NDER15 */
|
|
|
|
|
+ unsigned char B14:1; /* NDER14 */
|
|
|
|
|
+ unsigned char B13:1; /* NDER13 */
|
|
|
|
|
+ unsigned char B12:1; /* NDER12 */
|
|
|
|
|
+ unsigned char B11:1; /* NDER11 */
|
|
|
|
|
+ unsigned char B10:1; /* NDER10 */
|
|
|
|
|
+ unsigned char B9:1; /* NDER9 */
|
|
|
|
|
+ unsigned char B8:1; /* NDER8 */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } NDERB; /* */
|
|
|
|
|
+ union { /* NDERA */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char B7:1; /* NDER7 */
|
|
|
|
|
+ unsigned char B6:1; /* NDER6 */
|
|
|
|
|
+ unsigned char B5:1; /* NDER5 */
|
|
|
|
|
+ unsigned char B4:1; /* NDER4 */
|
|
|
|
|
+ unsigned char B3:1; /* NDER3 */
|
|
|
|
|
+ unsigned char B2:1; /* NDER2 */
|
|
|
|
|
+ unsigned char B1:1; /* NDER1 */
|
|
|
|
|
+ unsigned char B0:1; /* NDER0 */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } NDERA; /* */
|
|
|
|
|
+ union { /* NDRB (H'A4) */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char B15:1; /* NDR15 */
|
|
|
|
|
+ unsigned char B14:1; /* NDR14 */
|
|
|
|
|
+ unsigned char B13:1; /* NDR13 */
|
|
|
|
|
+ unsigned char B12:1; /* NDR12 */
|
|
|
|
|
+ unsigned char B11:1; /* NDR11 */
|
|
|
|
|
+ unsigned char B10:1; /* NDR10 */
|
|
|
|
|
+ unsigned char B9:1; /* NDR9 */
|
|
|
|
|
+ unsigned char B8:1; /* NDR8 */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } NDRB1; /* */
|
|
|
|
|
+ union { /* NDRA (H'A5) */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char B7:1; /* NDR7 */
|
|
|
|
|
+ unsigned char B6:1; /* NDR6 */
|
|
|
|
|
+ unsigned char B5:1; /* NDR5 */
|
|
|
|
|
+ unsigned char B4:1; /* NDR4 */
|
|
|
|
|
+ unsigned char B3:1; /* NDR3 */
|
|
|
|
|
+ unsigned char B2:1; /* NDR2 */
|
|
|
|
|
+ unsigned char B1:1; /* NDR1 */
|
|
|
|
|
+ unsigned char B0:1; /* NDR0 */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } NDRA1; /* */
|
|
|
|
|
+ union { /* NDRB (H'A6) */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char:4; /* */
|
|
|
|
|
+ unsigned char B11:1; /* NDR11 */
|
|
|
|
|
+ unsigned char B10:1; /* NDR10 */
|
|
|
|
|
+ unsigned char B9:1; /* NDR9 */
|
|
|
|
|
+ unsigned char B8:1; /* NDR8 */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } NDRB2; /* */
|
|
|
|
|
+ union { /* NDRA (H'A7) */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char:4; /* */
|
|
|
|
|
+ unsigned char B3:1; /* NDR3 */
|
|
|
|
|
+ unsigned char B2:1; /* NDR2 */
|
|
|
|
|
+ unsigned char B1:1; /* NDR1 */
|
|
|
|
|
+ unsigned char B0:1; /* NDR0 */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } NDRA2; /* */
|
|
|
|
|
+}; /* */
|
|
|
|
|
+struct st_sci { /* struct SCI */
|
|
|
|
|
+ union { /* SMR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char CA:1; /* C/A */
|
|
|
|
|
+ unsigned char CHR:1; /* CHR */
|
|
|
|
|
+ unsigned char PE:1; /* PE */
|
|
|
|
|
+ unsigned char OE:1; /* O/E */
|
|
|
|
|
+ unsigned char STOP:1; /* STOP */
|
|
|
|
|
+ unsigned char MP:1; /* MP */
|
|
|
|
|
+ unsigned char CKS:2; /* CKS */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } SMR; /* */
|
|
|
|
|
+ unsigned char BRR; /* BRR */
|
|
|
|
|
+ union { /* SCR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char TIE:1; /* TIE */
|
|
|
|
|
+ unsigned char RIE:1; /* RIE */
|
|
|
|
|
+ unsigned char TE:1; /* TE */
|
|
|
|
|
+ unsigned char RE:1; /* RE */
|
|
|
|
|
+ unsigned char MPIE:1; /* MPIE */
|
|
|
|
|
+ unsigned char TEIE:1; /* TEIE */
|
|
|
|
|
+ unsigned char CKE:2; /* CKE */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } SCR; /* */
|
|
|
|
|
+ unsigned char TDR; /* TDR */
|
|
|
|
|
+ union { /* SSR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char TDRE:1; /* TDRE */
|
|
|
|
|
+ unsigned char RDRF:1; /* RDRF */
|
|
|
|
|
+ unsigned char ORER:1; /* ORER */
|
|
|
|
|
+ unsigned char FER:1; /* FER */
|
|
|
|
|
+ unsigned char PER:1; /* PER */
|
|
|
|
|
+ unsigned char TEND:1; /* TEND */
|
|
|
|
|
+ unsigned char MPB:1; /* MPB */
|
|
|
|
|
+ unsigned char MPBT:1; /* MPBT */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } SSR; /* */
|
|
|
|
|
+ unsigned char RDR; /* RDR */
|
|
|
|
|
+ union { /* SCMR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char:4; /* */
|
|
|
|
|
+ unsigned char SDIR:1; /* SDIR */
|
|
|
|
|
+ unsigned char SINV:1; /* SINV */
|
|
|
|
|
+ unsigned char:1; /* */
|
|
|
|
|
+ unsigned char SMIF:1; /* SMIF */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } SCMR; /* */
|
|
|
|
|
+}; /* */
|
|
|
|
|
+struct st_smci { /* struct SMCI */
|
|
|
|
|
+ union { /* SMR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char GM:1; /* GM */
|
|
|
|
|
+ unsigned char CHR:1; /* CHR */
|
|
|
|
|
+ unsigned char PE:1; /* PE */
|
|
|
|
|
+ unsigned char OE:1; /* O/E */
|
|
|
|
|
+ unsigned char STOP:1; /* STOP */
|
|
|
|
|
+ unsigned char MP:1; /* MP */
|
|
|
|
|
+ unsigned char CKS:2; /* CKS */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } SMR; /* */
|
|
|
|
|
+ unsigned char BRR; /* BRR */
|
|
|
|
|
+ union { /* SCR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char TIE:1; /* TIE */
|
|
|
|
|
+ unsigned char RIE:1; /* RIE */
|
|
|
|
|
+ unsigned char TE:1; /* TE */
|
|
|
|
|
+ unsigned char RE:1; /* RE */
|
|
|
|
|
+ unsigned char MPIE:1; /* MPIE */
|
|
|
|
|
+ unsigned char TEIE:1; /* TEIE */
|
|
|
|
|
+ unsigned char CKE:2; /* CKE */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } SCR; /* */
|
|
|
|
|
+ unsigned char TDR; /* TDR */
|
|
|
|
|
+ union { /* SSR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char TDRE:1; /* TDRE */
|
|
|
|
|
+ unsigned char RDRF:1; /* RDRF */
|
|
|
|
|
+ unsigned char ORER:1; /* ORER */
|
|
|
|
|
+ unsigned char ERS:1; /* ERS */
|
|
|
|
|
+ unsigned char PER:1; /* PER */
|
|
|
|
|
+ unsigned char TEND:1; /* TEND */
|
|
|
|
|
+ unsigned char MPB:1; /* MPB */
|
|
|
|
|
+ unsigned char MPBT:1; /* MPBT */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } SSR; /* */
|
|
|
|
|
+ unsigned char RDR; /* RDR */
|
|
|
|
|
+ union { /* SCMR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char:4; /* */
|
|
|
|
|
+ unsigned char SDIR:1; /* SDIR */
|
|
|
|
|
+ unsigned char SINV:1; /* SINV */
|
|
|
|
|
+ unsigned char:1; /* */
|
|
|
|
|
+ unsigned char SMIF:1; /* SMIF */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } SCMR; /* */
|
|
|
|
|
+}; /* */
|
|
|
|
|
+struct st_ad { /* struct A/D */
|
|
|
|
|
+ unsigned short ADDRA; /* ADDRA */
|
|
|
|
|
+ unsigned short ADDRB; /* ADDRB */
|
|
|
|
|
+ unsigned short ADDRC; /* ADDRC */
|
|
|
|
|
+ unsigned short ADDRD; /* ADDRD */
|
|
|
|
|
+ union { /* ADCSR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char ADF:1; /* ADF */
|
|
|
|
|
+ unsigned char ADIE:1; /* ADIE */
|
|
|
|
|
+ unsigned char ADST:1; /* ADST */
|
|
|
|
|
+ unsigned char SCAN:1; /* SCAN */
|
|
|
|
|
+ unsigned char CKS:1; /* CKS */
|
|
|
|
|
+ unsigned char CH:3; /* CH */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } ADCSR; /* */
|
|
|
|
|
+ union { /* ADCR */
|
|
|
|
|
+ unsigned char BYTE; /* Byte Access */
|
|
|
|
|
+ struct { /* Bit Access */
|
|
|
|
|
+ unsigned char TRGE:1; /* TRGE */
|
|
|
|
|
+ } BIT; /* */
|
|
|
|
|
+ } ADCR; /* */
|
|
|
|
|
+}; /* */
|
|
|
|
|
+#define P1DDR (*(volatile unsigned char *)0xFEE000) /* P1DDR Address */
|
|
|
|
|
+#define P2DDR (*(volatile unsigned char *)0xFEE001) /* P2DDR Address */
|
|
|
|
|
+#define P3DDR (*(volatile unsigned char *)0xFEE002) /* P3DDR Address */
|
|
|
|
|
+#define P4DDR (*(volatile unsigned char *)0xFEE003) /* P4DDR Address */
|
|
|
|
|
+#define P5DDR (*(volatile unsigned char *)0xFEE004) /* P5DDR Address */
|
|
|
|
|
+#define P6DDR (*(volatile unsigned char *)0xFEE005) /* P6DDR Address */
|
|
|
|
|
+#define P8DDR (*(volatile unsigned char *)0xFEE007) /* P8DDR Address */
|
|
|
|
|
+#define P9DDR (*(volatile unsigned char *)0xFEE008) /* P9DDR Address */
|
|
|
|
|
+#define PADDR (*(volatile unsigned char *)0xFEE009) /* PADDR Address */
|
|
|
|
|
+#define PBDDR (*(volatile unsigned char *)0xFEE00A) /* PBDDR Address */
|
|
|
|
|
+#define P2PCR (*(volatile union un_p2pcr *)0xFEE03C) /* P2PCR Address */
|
|
|
|
|
+#define P4PCR (*(volatile union un_p4pcr *)0xFEE03E) /* P4PCR Address */
|
|
|
|
|
+#define P5PCR (*(volatile union un_p5pcr *)0xFEE03F) /* P5PCR Address */
|
|
|
|
|
+#define P1DR (*(volatile union un_p1dr *)0xFFFFD0) /* P1DR Address */
|
|
|
|
|
+#define P2DR (*(volatile union un_p2dr *)0xFFFFD1) /* P2DR Address */
|
|
|
|
|
+#define P3DR (*(volatile union un_p3dr *)0xFFFFD2) /* P3DR Address */
|
|
|
|
|
+#define P4DR (*(volatile union un_p4dr *)0xFFFFD3) /* P4DR Address */
|
|
|
|
|
+#define P5DR (*(volatile union un_p5dr *)0xFFFFD4) /* P5DR Address */
|
|
|
|
|
+#define P6DR (*(volatile union un_p6dr *)0xFFFFD5) /* P6DR Address */
|
|
|
|
|
+#define P7DR (*(volatile union un_p7dr *)0xFFFFD6) /* P7DR Address */
|
|
|
|
|
+#define P8DR (*(volatile union un_p8dr *)0xFFFFD7) /* P8DR Address */
|
|
|
|
|
+#define P9DR (*(volatile union un_p9dr *)0xFFFFD8) /* P9DR Address */
|
|
|
|
|
+#define PADR (*(volatile union un_padr *)0xFFFFD9) /* PADR Address */
|
|
|
|
|
+#define PBDR (*(volatile union un_pbdr *)0xFFFFDA) /* PBDR Address */
|
|
|
|
|
+#define MDCR (*(volatile union un_mdcr *)0xFEE011) /* MDCR Address */
|
|
|
|
|
+#define SYSCR (*(volatile union un_syscr *)0xFEE012) /* SYSCR Address */
|
|
|
|
|
+#define DIVCR (*(volatile union un_divcr *)0xFEE01B) /* DIVCR Address */
|
|
|
|
|
+#define MSTCR (*(volatile union un_mstcr *)0xFEE01C) /* MSTCR Address */
|
|
|
|
|
+#define BSC (*(volatile struct st_bsc *)0xFEE012) /* BSC Address */
|
|
|
|
|
+#define INTC (*(volatile struct st_intc *)0xFEE014) /* INTC Address */
|
|
|
|
|
+#define DMAC0A (*(volatile struct st_sam *)0xFFFF20) /* DMAC 0A Addr */
|
|
|
|
|
+#define DMAC0B (*(volatile struct st_sam *)0xFFFF28) /* DMAC 0B Addr */
|
|
|
|
|
+#define DMAC1A (*(volatile struct st_sam *)0xFFFF30) /* DMAC 1A Addr */
|
|
|
|
|
+#define DMAC1B (*(volatile struct st_sam *)0xFFFF38) /* DMAC 1B Addr */
|
|
|
|
|
+#define DMAC0 (*(volatile struct st_fam *)0xFFFF20) /* DMAC 0 Addr */
|
|
|
|
|
+#define DMAC1 (*(volatile struct st_fam *)0xFFFF30) /* DMAC 1 Addr */
|
|
|
|
|
+#define FLASH (*(volatile struct st_flash *)0xFFFF40) /* FLASH Address */
|
|
|
|
|
+#define ITU (*(volatile struct st_itu *)0xFFFF60) /* ITU Address */
|
|
|
|
|
+#define ITU0 (*(volatile struct st_itu0 *)0xFFFF68) /* ITU0 Address */
|
|
|
|
|
+#define ITU1 (*(volatile struct st_itu0 *)0xFFFF70) /* ITU1 Address */
|
|
|
|
|
+#define ITU2 (*(volatile struct st_itu0 *)0xFFFF78) /* ITU2 Address */
|
|
|
|
|
+#define WDT (*(volatile union un_wdt *)0xFFFF8C) /* WDT Address */
|
|
|
|
|
+#define TMR01 (*(volatile struct st_tmr01 *)0xFFFF80) /* TMR01 Address */
|
|
|
|
|
+#define TMR23 (*(volatile struct st_tmr23 *)0xFFFF90) /* TMR23 Address */
|
|
|
|
|
+#define TMR0 (*(volatile struct st_tmr0 *)0xFFFF80) /* TMR0 Address */
|
|
|
|
|
+#define TMR1 (*(volatile struct st_tmr1 *)0xFFFF81) /* TMR1 Address */
|
|
|
|
|
+#define TMR2 (*(volatile struct st_tmr2 *)0xFFFF90) /* TMR2 Address */
|
|
|
|
|
+#define TMR3 (*(volatile struct st_tmr1 *)0xFFFF91) /* TMR3 Address */
|
|
|
|
|
+#define DASTCR (*(volatile union un_dastcr*)0xFEE01A) /* DASTCRAddress */
|
|
|
|
|
+#define DA (*(volatile struct st_da *)0xFFFF9C) /* D/A Address */
|
|
|
|
|
+#define TPC (*(volatile struct st_tpc *)0xFFFFA0) /* TPC Address */
|
|
|
|
|
+#define SCI0 (*(volatile struct st_sci *)0xFFFFB0) /* SCI0 Address */
|
|
|
|
|
+#define SCI1 (*(volatile struct st_sci *)0xFFFFB8) /* SCI1 Address */
|
|
|
|
|
+#define SCI2 (*(volatile struct st_sci *)0xFFFFC0) /* SCI2 Address */
|
|
|
|
|
+#define SMCI0 (*(volatile struct st_smci *)0xFFFFB0) /* SMCI0 Address */
|
|
|
|
|
+#define SMCI1 (*(volatile struct st_smci *)0xFFFFB8) /* SMCI1 Address */
|
|
|
|
|
+#define SMCI2 (*(volatile struct st_smci *)0xFFFFC0) /* SMCI2 Address */
|
|
|
|
|
+#define AD (*(volatile struct st_ad *)0xFFFFE0) /* A/D Address */
|
|
|
|
|
+
|
|
|
|
|
+#endif /* #ifndef __INCLUDE_H83068F_H__ */
|