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.
TARGET_RZ_A1H/TARGET_RENESAS/TARGET_RZ_A1XX/TARGET_RZ_A1H/device/inc/iodefines/iodefine_typedef.h@165:d1b4690b3f8b, 2018-04-19 (annotated)
- Committer:
- AnnaBridge
- Date:
- Thu Apr 19 14:31:27 2018 +0100
- Revision:
- 165:d1b4690b3f8b
- Parent:
- 161:aa5281ff4a02
mbed library. Release version 161
Who changed what in which revision?
User | Revision | Line number | New 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 |