source: atk2-sc3-1.4.0-ntisr/arch/v850_gcc/prc_sil.h

Last change on this file was 172, checked in by ertl-ishikawa, 8 years ago

ATK2-SC3 1.4.0 RH850依存部 非信頼C2ISR対応を追加

  • Property svn:executable set to *
File size: 5.5 KB
Line 
1/*
2 * TOPPERS ATK2
3 * Toyohashi Open Platform for Embedded Real-Time Systems
4 * Automotive Kernel Version 2
5 *
6 * Copyright (C) 2012-2014 by Center for Embedded Computing Systems
7 * Graduate School of Information Science, Nagoya Univ., JAPAN
8 * Copyright (C) 2012-2014 by FUJI SOFT INCORPORATED, JAPAN
9 * Copyright (C) 2012-2013 by Spansion LLC, USA
10 * Copyright (C) 2012-2013 by NEC Communication Systems, Ltd., JAPAN
11 * Copyright (C) 2012-2014 by Panasonic Advanced Technology Development Co., Ltd., JAPAN
12 * Copyright (C) 2012-2014 by Renesas Electronics Corporation, JAPAN
13 * Copyright (C) 2012-2014 by Sunny Giken Inc., JAPAN
14 * Copyright (C) 2012-2014 by TOSHIBA CORPORATION, JAPAN
15 * Copyright (C) 2012-2014 by Witz Corporation, JAPAN
16 *
17 * 上記著作権者
18は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ
19 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
20 * 変・再é…
21å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
22 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
23 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
24 * スコード中に含まれていること.
25 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
26 * 用できる形で再é…
27å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é…
28å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
29 * 者
30マニュアルなど)に,上記の著作権表示,この利用条件および下記
31 * の無保証規定を掲載すること.
32 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
33 * 用できない形で再é…
34å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
35 * と.
36 * (a) 再é…
37å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€…
38マニュアルなど)に,上記の著
39 * 作権表示,この利用条件および下記の無保証規定を掲載すること.
40 * (b) 再é…
41å¸ƒã®å½¢æ…
42‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
43 * 報告すること.
44 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
45 * 害からも,上記著作権者
46およびTOPPERSプロジェクトをå…
47è²¬ã™ã‚‹ã“と.
48 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
49 * 由に基づく請求からも,上記著作権者
50およびTOPPERSプロジェクトを
51 * å…
52è²¬ã™ã‚‹ã“と.
53 *
54 * 本ソフトウェアは,AUTOSAR(AUTomotive Open System ARchitecture)仕
55 * 様に基づいている.上記の許諾は,AUTOSARの知的財産権を許諾するもので
56 * はない.AUTOSARは,AUTOSAR仕様に基づいたソフトウェアを商用目的で利
57 * 用する者
58に対して,AUTOSARパートナーになることを求めている.
59 *
60 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者
61お
62 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
63 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
64 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
65 * の責任を負わない.
66 *
67 * $Id: prc_sil.h 117 2014-12-10 03:58:03Z t_ishikawa $
68 */
69
70/*
71 * メモリ及び周辺アドレスアクセスためのプロセッサ依存部(V850用)
72 */
73#include <prc_insn.h>
74
75#ifndef TOPPERS_PRC_SIL_H
76#define TOPPERS_PRC_SIL_H
77
78#define PSW_ID_BITPTN (1U << 5)
79
80#define EIRFn 0x1000 /* 割り込み要求ビット(bit12) */
81#define EIMKn 0x0080 /* 割り込み許可ビット(bit7) */
82
83/*
84 * プロセッサのエンディアン
85 */
86#define SIL_ENDIAN_LITTLE
87
88#ifndef TOPPERS_MACRO_ONLY
89
90/*
91 * メモリ空間アクセス関数郡
92 */
93
94/*
95 * 8ビット単位の読出し/書込み
96 */
97LOCAL_INLINE uint8
98sil_reb_mem(void *mem)
99{
100 uint8 data;
101
102 data = *((volatile uint8 *) mem);
103 return(data);
104}
105
106LOCAL_INLINE void
107sil_wrb_mem(void *mem, uint8 data)
108{
109 *((volatile uint8 *) mem) = data;
110}
111
112/*
113 * 16ビット単位の読出し/書込み
114 */
115LOCAL_INLINE uint16
116sil_reh_mem(void *mem)
117{
118 uint16 data;
119
120 data = *((volatile uint16 *) mem);
121 return(data);
122}
123
124LOCAL_INLINE void
125sil_wrh_mem(void *mem, uint16 data)
126{
127 *((volatile uint16 *) mem) = data;
128}
129
130/*
131 * 32ビット単位の読出し/書込み
132 */
133LOCAL_INLINE void
134sil_wrw_mem(void *mem, uint32 data)
135{
136 *((volatile uint32 *) mem) = data;
137}
138
139LOCAL_INLINE uint32
140sil_rew_mem(void *mem)
141{
142 uint32 data;
143
144 data = *((volatile uint32 *) mem);
145 return(data);
146}
147
148/*
149 * NMIを除くすべての割込みの禁止
150 */
151LOCAL_INLINE uint32
152TOPPERS_disint(void)
153{
154 /* 現在のPSWを取得し,IDビットをセットする */
155 volatile uint32 psw = current_psw();
156 set_psw(psw | PSW_ID_BITPTN);
157
158 return(psw);
159}
160
161/*
162 * 割込み優å…
163ˆåº¦ãƒžã‚¹ã‚¯ï¼ˆå†…
164部表現)の現在値の設定
165 */
166LOCAL_INLINE void
167TOPPERS_enaint(uint32 TOPPERS_psw)
168{
169 if ((TOPPERS_psw & PSW_ID_BITPTN) == 0u) {
170 set_psw(current_psw() & ~PSW_ID_BITPTN);
171 }
172}
173
174/*
175 * å…
176¨å‰²è¾¼ã¿ãƒ­ãƒƒã‚¯çŠ¶æ…
177‹ã®åˆ¶å¾¡
178 */
179#define SIL_PRE_LOC volatile uint32 TOPPERS_psw
180#define SIL_LOC_INT() TOPPERS_psw = TOPPERS_disint()
181#define SIL_UNL_INT() TOPPERS_enaint(TOPPERS_psw)
182
183#endif /* TOPPERS_MACRO_ONLY */
184
185#endif /* TOPPERS_PRC_SIL_H */
Note: See TracBrowser for help on using the repository browser.