The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Dependents:   hello SerialTestv11 SerialTestv12 Sierpinski ... more

mbed 2

This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.

Committer:
AnnaBridge
Date:
Thu Nov 08 11:45:42 2018 +0000
Revision:
171:3a7713b1edbc
Parent:
TARGET_RZ_A1H/TARGET_RENESAS/TARGET_RZ_A1XX/TARGET_RZ_A1H/device/inc/iodefines/iodefine_typedef.h@165:d1b4690b3f8b
mbed library. Release version 164

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 161:aa5281ff4a02 1 /*******************************************************************************
AnnaBridge 161:aa5281ff4a02 2 * DISCLAIMER
AnnaBridge 161:aa5281ff4a02 3 * This software is supplied by Renesas Electronics Corporation and is only
AnnaBridge 161:aa5281ff4a02 4 * intended for use with Renesas products. No other uses are authorized. This
AnnaBridge 161:aa5281ff4a02 5 * software is owned by Renesas Electronics Corporation and is protected under
AnnaBridge 161:aa5281ff4a02 6 * all applicable laws, including copyright laws.
AnnaBridge 161:aa5281ff4a02 7 * THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING
AnnaBridge 161:aa5281ff4a02 8 * THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT
AnnaBridge 161:aa5281ff4a02 9 * LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
AnnaBridge 161:aa5281ff4a02 10 * AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.
AnnaBridge 161:aa5281ff4a02 11 * TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS
AnnaBridge 161:aa5281ff4a02 12 * ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE
AnnaBridge 161:aa5281ff4a02 13 * FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR
AnnaBridge 161:aa5281ff4a02 14 * ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE
AnnaBridge 161:aa5281ff4a02 15 * BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
AnnaBridge 161:aa5281ff4a02 16 * Renesas reserves the right, without notice, to make changes to this software
AnnaBridge 161:aa5281ff4a02 17 * and to discontinue the availability of this software. By using this software,
AnnaBridge 161:aa5281ff4a02 18 * you agree to the additional terms and conditions found by accessing the
AnnaBridge 161:aa5281ff4a02 19 * following link:
AnnaBridge 161:aa5281ff4a02 20 * http://www.renesas.com/disclaimer*
AnnaBridge 161:aa5281ff4a02 21 * Copyright (C) 2013-2015 Renesas Electronics Corporation. All rights reserved.
AnnaBridge 161:aa5281ff4a02 22 *******************************************************************************/
AnnaBridge 161:aa5281ff4a02 23 /*******************************************************************************
AnnaBridge 161:aa5281ff4a02 24 * File Name : iodefine_typedef.h
AnnaBridge 161:aa5281ff4a02 25 * $Rev: $
AnnaBridge 161:aa5281ff4a02 26 * $Date:: $
AnnaBridge 161:aa5281ff4a02 27 * Description : Definition of I/O Register for RZ/A1H,M (V2.00h)
AnnaBridge 161:aa5281ff4a02 28 ******************************************************************************/
AnnaBridge 161:aa5281ff4a02 29 #ifndef IODEFINE_TYPEDEF_H
AnnaBridge 161:aa5281ff4a02 30 #define IODEFINE_TYPEDEF_H
AnnaBridge 161:aa5281ff4a02 31 /* ->QAC 0639 : Over 127 members (C90) */
AnnaBridge 161:aa5281ff4a02 32 /* ->QAC 0857 : Over 1024 #define (C90) */
AnnaBridge 161:aa5281ff4a02 33 /* ->MISRA 18.4 : Pack unpack union */ /* ->SEC M1.6.2 */
AnnaBridge 161:aa5281ff4a02 34 /* ->SEC M1.10.1 : Not magic number */
AnnaBridge 161:aa5281ff4a02 35
AnnaBridge 161:aa5281ff4a02 36 /* Shared types and macros for iodefine.h */
AnnaBridge 161:aa5281ff4a02 37
AnnaBridge 161:aa5281ff4a02 38 /***********************************************************************
AnnaBridge 161:aa5281ff4a02 39 * Macro: IODEFINE_H_VERSION
AnnaBridge 161:aa5281ff4a02 40 ************************************************************************/
AnnaBridge 161:aa5281ff4a02 41 #define IODEFINE_H_VERSION (200)
AnnaBridge 161:aa5281ff4a02 42
AnnaBridge 161:aa5281ff4a02 43
AnnaBridge 161:aa5281ff4a02 44 /***********************************************************************
AnnaBridge 161:aa5281ff4a02 45 * Enum: iodefine_byte_select_t
AnnaBridge 161:aa5281ff4a02 46 *
AnnaBridge 161:aa5281ff4a02 47 * R_IO_L - Low 16bit or Low 8 bit
AnnaBridge 161:aa5281ff4a02 48 * R_IO_H - High 16bit or Low 8 bit
AnnaBridge 161:aa5281ff4a02 49 * R_IO_LL - Low 8 bit
AnnaBridge 161:aa5281ff4a02 50 * R_IO_LH - Middle Low 8 bit
AnnaBridge 161:aa5281ff4a02 51 * R_IO_HL - Middle High 8 bit
AnnaBridge 161:aa5281ff4a02 52 * R_IO_HH - High 8 bit
AnnaBridge 161:aa5281ff4a02 53 ************************************************************************/
AnnaBridge 161:aa5281ff4a02 54 typedef enum iodefine_byte_select_t
AnnaBridge 161:aa5281ff4a02 55 {
AnnaBridge 161:aa5281ff4a02 56 R_IO_L = 0, R_IO_H = 1,
AnnaBridge 165:d1b4690b3f8b 57 R_IO_LL= 0, R_IO_LH = 1, R_IO_HL = 2, R_IO_HH = 3,
AnnaBridge 165:d1b4690b3f8b 58 L = 0, H = 1,
AnnaBridge 165:d1b4690b3f8b 59 LL= 0, LH = 1, HL = 2, HH = 3
AnnaBridge 161:aa5281ff4a02 60 } iodefine_byte_select_t;
AnnaBridge 161:aa5281ff4a02 61
AnnaBridge 161:aa5281ff4a02 62
AnnaBridge 161:aa5281ff4a02 63 /***********************************************************************
AnnaBridge 161:aa5281ff4a02 64 * Type: iodefine_reg32_t
AnnaBridge 161:aa5281ff4a02 65 * 32/16/8 bit access register
AnnaBridge 161:aa5281ff4a02 66 *
AnnaBridge 161:aa5281ff4a02 67 * - Padding : sizeof(iodefine_reg32_t) == 4
AnnaBridge 161:aa5281ff4a02 68 * - Alignment(Offset) : &UINT32==0, &UINT16[0]==0, &UINT16[1]==2
AnnaBridge 161:aa5281ff4a02 69 * &UINT8[0]==0, &UINT8[1]==1, &UINT8[2]==2, &UINT8[3]==3
AnnaBridge 161:aa5281ff4a02 70 * - Endian : Independent (Same as CPU endian as register endian)
AnnaBridge 161:aa5281ff4a02 71 * - Bit-Order : Independent
AnnaBridge 161:aa5281ff4a02 72 ************************************************************************/
AnnaBridge 161:aa5281ff4a02 73 typedef union iodefine_reg32_t
AnnaBridge 161:aa5281ff4a02 74 {
AnnaBridge 161:aa5281ff4a02 75 volatile uint32_t UINT32; /* 32-bit Access */
AnnaBridge 161:aa5281ff4a02 76 volatile uint16_t UINT16[2]; /* 16-bit Access */
AnnaBridge 161:aa5281ff4a02 77 volatile uint8_t UINT8[4]; /* 8-bit Access */
AnnaBridge 161:aa5281ff4a02 78 } iodefine_reg32_t;
AnnaBridge 161:aa5281ff4a02 79
AnnaBridge 161:aa5281ff4a02 80
AnnaBridge 161:aa5281ff4a02 81 /***********************************************************************
AnnaBridge 161:aa5281ff4a02 82 * Type: iodefine_reg32_16_t
AnnaBridge 161:aa5281ff4a02 83 * 32/16 bit access register
AnnaBridge 161:aa5281ff4a02 84 *
AnnaBridge 161:aa5281ff4a02 85 * - Padding : sizeof(iodefine_reg32_16_t) == 4
AnnaBridge 161:aa5281ff4a02 86 * - Alignment(Offset) : &UINT32==0, &UINT16[0]==0, &UINT16[1]==2
AnnaBridge 161:aa5281ff4a02 87 * - Endian : Independent (Same as CPU endian as register endian)
AnnaBridge 161:aa5281ff4a02 88 * - Bit-Order : Independent
AnnaBridge 161:aa5281ff4a02 89 ************************************************************************/
AnnaBridge 161:aa5281ff4a02 90 typedef union iodefine_reg32_16_t
AnnaBridge 161:aa5281ff4a02 91 {
AnnaBridge 161:aa5281ff4a02 92 volatile uint32_t UINT32; /* 32-bit Access */
AnnaBridge 161:aa5281ff4a02 93 volatile uint16_t UINT16[2]; /* 16-bit Access */
AnnaBridge 161:aa5281ff4a02 94 } iodefine_reg32_16_t;
AnnaBridge 161:aa5281ff4a02 95
AnnaBridge 161:aa5281ff4a02 96
AnnaBridge 161:aa5281ff4a02 97 /***********************************************************************
AnnaBridge 161:aa5281ff4a02 98 * Type: iodefine_reg16_8_t
AnnaBridge 161:aa5281ff4a02 99 * 16/8 bit access register
AnnaBridge 161:aa5281ff4a02 100 *
AnnaBridge 161:aa5281ff4a02 101 * - Padding : sizeof(iodefine_reg16_8_t) == 2
AnnaBridge 161:aa5281ff4a02 102 * - Alignment(Offset) : &UINT16==0, &UINT8[0]==0, &UINT8[1]==1
AnnaBridge 161:aa5281ff4a02 103 * - Endian : Independent (Same as CPU endian as register endian)
AnnaBridge 161:aa5281ff4a02 104 * - Bit-Order : Independent
AnnaBridge 161:aa5281ff4a02 105 ************************************************************************/
AnnaBridge 161:aa5281ff4a02 106 typedef union iodefine_reg16_8_t
AnnaBridge 161:aa5281ff4a02 107 {
AnnaBridge 161:aa5281ff4a02 108 volatile uint16_t UINT16; /* 16-bit Access */
AnnaBridge 161:aa5281ff4a02 109 volatile uint8_t UINT8[2]; /* 8-bit Access */
AnnaBridge 161:aa5281ff4a02 110 } iodefine_reg16_8_t;
AnnaBridge 161:aa5281ff4a02 111
AnnaBridge 161:aa5281ff4a02 112
AnnaBridge 161:aa5281ff4a02 113 /* End of shared types and macros for iodefine.h */
AnnaBridge 161:aa5281ff4a02 114 /* <-SEC M1.10.1 */
AnnaBridge 161:aa5281ff4a02 115 /* <-MISRA 18.4 */ /* <-SEC M1.6.2 */
AnnaBridge 161:aa5281ff4a02 116 /* <-QAC 0857 */
AnnaBridge 161:aa5281ff4a02 117 /* <-QAC 0639 */
AnnaBridge 161:aa5281ff4a02 118 #endif