source: ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/arm_m.h@ 95

Last change on this file since 95 was 95, checked in by nmir-saito, 9 years ago

ファイルの mime-type 変更

  • Property svn:mime-type set to text/plain; charset=shift_jis
File size: 4.7 KB
Line 
1/*
2 * TOPPERS/SSP Kernel
3 * Smallest Set Profile Kernel
4 *
5 * Copyright (C) 2008 by Embedded and Real-Time Systems Laboratory
6 * Graduate School of Information Science, Nagoya Univ., JAPAN
7 *
8 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ
9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
13 * スコード中に含まれていること.
14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用
16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記
17 * の無保証規定を掲載すること.
18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ
20 * と.
21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
22 * 作権表示,この利用条件および下記の無保証規定を掲載すること.
23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
24 * 報告すること.
25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
29 * 免責すること.
30 *
31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お
32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
35 * の責任を負わない.
36 *
37 * @(#) $Id: arm_m.h 1304 2008-08-27 07:28:36Z ertl-honda $
38 */
39
40/*
41 * ARMVx-Mのハードウェア資源の定義
42 */
43
44#ifndef ARM_M_H
45#define ARM_M_H
46
47
48/*
49 * EPSRのTビット
50 */
51#define EPSR_T 0x01000000
52
53/*
54 * IPSRの ISR NUMBER
55 */
56#define IPSR_ISR_NUMBER 0x1ff
57
58/*
59 * 例外・割込み発生時にスタック上に積まれる保存領域のサイズ
60 * 本カーネルでは例外フレームと呼ぶ
61 */
62#define EXC_FRAME_SIZE (8*4)
63
64/*
65 * 例外・割込み発生時にLRに設定されるEXC_RETURNの値
66 */
67#define EXC_RETURN_HANDLER 0x0
68#define EXC_RETURN_THREAD 0x8
69#define EXC_RETURN_MSP 0x0
70#define EXC_RETURN_PSP 0x4
71
72/*
73 * CONTROLレジスタ
74 */
75#define CONTROL_PSP 0x02
76#define CONTROL_MSP 0x00
77
78/*
79 * 例外番号
80 */
81#define EXCNO_NMI 2
82#define EXCNO_HARD 3
83#define EXCNO_MPU 4
84#define EXCNO_BUS 5
85#define EXCNO_USAGE 6
86#define EXCNO_SVCALL 11
87#define EXCNO_DEBUG 12
88#define EXCNO_PENDSV 14
89
90/*
91 * 例外番号の最小値と最大値
92 */
93#define TMIN_EXCNO 2
94#define TMAX_EXCNO 14
95
96/*
97 * 割込み番号
98 */
99#define IRQNO_SYSTICK 15
100
101/*
102 * 割込み番号の最小値
103 */
104#define TMIN_INTNO 15
105
106/*
107 * 例外フレームのオフセット
108 */
109#define P_EXCINF_OFFSET_EXC_RETURN 0x00
110#define P_EXCINF_OFFSET_BASEPRI 0x01
111#define P_EXCINF_OFFSET_XPSR 0x09
112#define P_EXCINF_OFFSET_PC 0x08
113
114/*
115 * NVIC関連
116 */
117
118/*
119 * コントロールレジスタ
120 */
121#define NVIC_INT_CTRL 0xe000ed04
122
123#define NVIC_PENDSVSET 0x10000000
124
125/*
126 * システムハンドラーコントロールレジスタ
127 */
128#define NVIC_SYS_HND_CTRL 0xE000ED24
129
130/*
131 * 各例外の許可ビット
132 */
133#define NVIC_SYS_HND_CTRL_USAGE 0x00040000
134#define NVIC_SYS_HND_CTRL_BUS 0x00020000
135#define NVIC_SYS_HND_CTRL_MEM 0x00010000
136
137/*
138 * 優先度設定レジスタ
139 */
140#define NVIC_SYS_PRI1 0xE000ED18 // Sys. Handlers 4 to 7 Priority
141#define NVIC_SYS_PRI2 0xE000ED1C // Sys. Handlers 8 to 11 Priority
142#define NVIC_SYS_PRI3 0xE000ED20 // Sys. Handlers 12 to 15 Priority
143#define NVIC_PRI0 0xE000E400 // IRQ 0 to 3 Priority Register
144
145/*
146 * 割込み許可レジスタ
147 */
148#define NVIC_SETENA0 0xE000E100 // IRQ 0 to 31 Set Enable Register
149
150/*
151 * 割込み禁止レジスタ
152 */
153#define NVIC_CLRENA0 0xE000E180 // IRQ 0 to 31 Set Disable Register
154
155/*
156 * ベクタテーブルオフセットレジスタ
157 */
158#define NVIC_VECTTBL 0xE000ED08
159
160
161/*
162 * SYSTIC関連レジスタ
163 */
164#define SYSTIC_CONTROL_STATUS 0xE000E010
165#define SYSTIC_RELOAD_VALUE 0xE000E014
166#define SYSTIC_CURRENT_VALUE 0xE000E018
167#define SYSTIC_CALIBRATION 0xE000E01C
168
169#define SYSTIC_ENABLE 0x01
170#define SYSTIC_TICINT 0x02
171#define SYSTIC_CLKSOURCE 0x04
172#define SYSTIC_COUNTFLAG 0x10000
173
174#define SYSTIC_SKEW 0x40000000
175#define SYSTIC_NOREF 0x80000000
176#define SYSTIC_TENMS 0x00ffffff
177
178#endif /* ARM_M_H */
Note: See TracBrowser for help on using the repository browser.