/* * TOPPERS/JSP Kernel * Toyohashi Open Platform for Embedded Real-Time Systems/ * Just Standard Profile Kernel * * Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory * Toyohashi Univ. of Technology, JAPAN * Copyright (C) 2005-2007 by Embedded and Real-Time Systems Laboratory * Graduate School of Information Science, Nagoya Univ., JAPAN * * 上記著作権者は,Free Software Foundation によって公表されている * GNU General Public License の Version 2 に記述されている条件か,以 * 下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェア(本ソフトウェ * アを改変したものを含む.以下同じ)を使用・複製・改変・再配布(以下, * 利用と呼ぶ)することを無償で許諾する. * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー * スコード中に含まれていること. * (2) 本ソフトウェアを再利用可能なバイナリコード(リロケータブルオブ * ジェクトファイルやライブラリなど)の形で利用する場合には,利用 * に伴うドキュメント(利用者マニュアルなど)に,上記の著作権表示, * この利用条件および下記の無保証規定を掲載すること. * (3) 本ソフトウェアを再利用不可能なバイナリコードの形または機器に組 * み込んだ形で利用する場合には,次のいずれかの条件を満たすこと. * (a) 利用に伴うドキュメント(利用者マニュアルなど)に,上記の著作 * 権表示,この利用条件および下記の無保証規定を掲載すること. * (b) 利用の形態を,別に定める方法によって,上記著作権者に報告する * こと. * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 * 害からも,上記著作権者を免責すること. * * 本ソフトウェアは,無保証で提供されているものである.上記著作権者は, * 本ソフトウェアに関して,その適用可能性も含めて,いかなる保証も行わ * ない.また,本ソフトウェアの利用により直接的または間接的に生じたい * かなる損害に関しても,その責任を負わない. * */ #ifndef TOPPERS_CQ_STARM_H #define TOPPERS_CQ_STARM_H #include /* * CORTEX-M3 CPUの依存部のインクルード */ #include "arm_m_iccarm/arm_m.h" /* * システムクロックの定義 */ #define BUS_CLOCK (60000000) #define SYS_CLOCK (120000000) #define FLASH_CLOCK (20000000) #define DDR_CLOCK (150000000) /* * 割込み番号の最大値 */ #define TMAX_INTNO (16 + 105) /* * 割込み優先度のビット幅 */ #define TBITW_IPRI 4 /* * 割込み優先度ビット幅中のサブ優先度のビット幅 */ #define TBITW_SUBIPRI 0 /* * 割込みベクタ番号定義 */ #define IRQ_VECTOR_USART2 (16 + 49) /* ペリフェラルレジスタ定義 */ #define PERIPH_REG_BASE (0x40000000UL) #define SRAM_BASE (0x1FFF0000UL) #define SIM_BASE (PERIPH_REG_BASE + 0x47000) #define PORTA_BASE (PERIPH_REG_BASE + 0x49000) #define PORTE_BASE (PERIPH_REG_BASE + 0x4D000) #define WDOG_BASE (PERIPH_REG_BASE + 0x52000) #define MCG_BASE (PERIPH_REG_BASE + 0x64000) #define UART2_BASE (PERIPH_REG_BASE + 0x6C000) #define PMC_BASE (PERIPH_REG_BASE + 0x7D000) #define GPIOA_BASE (PERIPH_REG_BASE + 0xFF000) /* System Control space */ #define SCS_BASE (0xE000E000) #define SYSTM_BASE (SCS_BASE + 0x0010) #define NVIC_BASE (SCS_BASE + 0x0100) #define SYSCB_BASE (SCS_BASE + 0x0D00) /* WDOG */ #define WDOG_STCTRTLH (WDOG_BASE + 0x00) #define WDOG_UNLOCK (WDOG_BASE + 0x0E) /* SIM */ #define SIM_SCGC4 (SIM_BASE + 0x1034) #define SIM_SCGC5 (SIM_BASE + 0x1038) #define SIM_CLKDIV1 (SIM_BASE + 0x1044) /* PMC */ #define PMC_REGSC (PMC_BASE + 0x02) /* PORT_A */ #define PORTA_PCR10 (PORTA_BASE + 0x28) #define PORTA_PCR11 (PORTA_BASE + 0x2C) #define PORTA_PCR28 (PORTA_BASE + 0x70) #define PORTA_PCR29 (PORTA_BASE + 0x74) /* PORT_E */ #define PORTE_PCR16 (PORTE_BASE + 0x40) #define PORTE_PCR17 (PORTE_BASE + 0x44) /* GPIO_A */ #define GPIOA_PSOR (GPIOA_BASE + 0x04) #define GPIOA_PCOR (GPIOA_BASE + 0x08) #define GPIOA_PTOR (GPIOA_BASE + 0x0C) #define GPIOA_PDDR (GPIOA_BASE + 0x14) /* MCG */ #define MCG_C1 (MCG_BASE + 0x00) #define MCG_C2 (MCG_BASE + 0x01) #define MCG_C5 (MCG_BASE + 0x04) #define MCG_C6 (MCG_BASE + 0x05) #define MCG_S (MCG_BASE + 0x06) #define MCG_C11 (MCG_BASE + 0x10) #define MCG_C12 (MCG_BASE + 0x11) #define MCG_S2 (MCG_BASE + 0x12) /* UART2 */ #define UART2_BDH (UART2_BASE + 0x00) #define UART2_BDL (UART2_BASE + 0x01) #define UART2_C1 (UART2_BASE +0x02) #define UART2_C2 (UART2_BASE + 0x03) #define UART2_S1 (UART2_BASE + 0x04) #define UART2_D (UART2_BASE + 0x07) #define UART2_C4 (UART2_BASE + 0x0A) /* SCB */ #define SCB_VTOR (SYSCB_BASE + 0x08) #define SCB_AIRCR (SYSCB_BASE + 0x0C) #define SCB_SHPR3 (SYSCB_BASE + 0x20) /* NVIC */ #define NVIC_ENAVLE_REG(ch) (NVIC_BASE + ((ch) >> 5)) #define NVIC_DISABLE_REG(ch) (NVIC_BASE + 0x80 + ((ch) >> 5)) #define NVIC_SET_PEND_REG(ch) (NVIC_BASE + 0x100 + ((ch) >> 5)) #define NVIC_CLEAR_PEND_REG(ch) (NVIC_BASE + 0x180 + ((ch) >> 5)) #define NVIC_ACTIVE_REG(ch) (NVIC_BASE + 0x200 + ((ch) >> 5)) #define NVIC_PRIO_REG(ch) (NVIC_BASE + 0x300 + ((ch) >> 2)) #define NVIC_STIR (NVIC_BASE+0xE00) #ifndef TOPPERS_MACRO_ONLY #endif /* TOPPERS_MACRO_ONLY */ #endif /* TOPPERS_CQ_STARM_H */