source: atk2-sc3_fl850f1l/arch/v850_gcc/prc_sil.h@ 117

Last change on this file since 117 was 117, checked in by ertl-ishikawa, 9 years ago

ATK2-SC3 1.3.2 FL850F1L(RH850F1L)依存部(GCC/GHS/CCRH)を追加

File size: 4.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 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ
18 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
19 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
20 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
21 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
22 * スコード中に含まれていること.
23 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
24 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用
25 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記
26 * の無保証規定を掲載すること.
27 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
28 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ
29 * と.
30 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
31 * 作権表示,この利用条件および下記の無保証規定を掲載すること.
32 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
33 * 報告すること.
34 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
35 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
36 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
37 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
38 * 免責すること.
39 *
40 * 本ソフトウェアは,AUTOSAR(AUTomotive Open System ARchitecture)仕
41 * 様に基づいている.上記の許諾は,AUTOSARの知的財産権を許諾するもので
42 * はない.AUTOSARは,AUTOSAR仕様に基づいたソフトウェアを商用目的で利
43 * 用する者に対して,AUTOSARパートナーになることを求めている.
44 *
45 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お
46 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
47 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
48 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
49 * の責任を負わない.
50 *
51 * $Id: prc_sil.h 117 2014-12-10 03:58:03Z t_ishikawa $
52 */
53
54/*
55 * メモリ及び周辺アドレスアクセスためのプロセッサ依存部(V850用)
56 */
57#include <prc_insn.h>
58
59#ifndef TOPPERS_PRC_SIL_H
60#define TOPPERS_PRC_SIL_H
61
62#define PSW_ID_BITPTN (1U << 5)
63
64#define EIRFn 0x1000 /* 割り込み要求ビット(bit12) */
65#define EIMKn 0x0080 /* 割り込み許可ビット(bit7) */
66
67/*
68 * プロセッサのエンディアン
69 */
70#define SIL_ENDIAN_LITTLE
71
72#ifndef TOPPERS_MACRO_ONLY
73
74/*
75 * メモリ空間アクセス関数郡
76 */
77
78/*
79 * 8ビット単位の読出し/書込み
80 */
81LOCAL_INLINE uint8
82sil_reb_mem(void *mem)
83{
84 uint8 data;
85
86 data = *((volatile uint8 *) mem);
87 return(data);
88}
89
90LOCAL_INLINE void
91sil_wrb_mem(void *mem, uint8 data)
92{
93 *((volatile uint8 *) mem) = data;
94}
95
96/*
97 * 16ビット単位の読出し/書込み
98 */
99LOCAL_INLINE uint16
100sil_reh_mem(void *mem)
101{
102 uint16 data;
103
104 data = *((volatile uint16 *) mem);
105 return(data);
106}
107
108LOCAL_INLINE void
109sil_wrh_mem(void *mem, uint16 data)
110{
111 *((volatile uint16 *) mem) = data;
112}
113
114/*
115 * 32ビット単位の読出し/書込み
116 */
117LOCAL_INLINE void
118sil_wrw_mem(void *mem, uint32 data)
119{
120 *((volatile uint32 *) mem) = data;
121}
122
123LOCAL_INLINE uint32
124sil_rew_mem(void *mem)
125{
126 uint32 data;
127
128 data = *((volatile uint32 *) mem);
129 return(data);
130}
131
132/*
133 * NMIを除くすべての割込みの禁止
134 */
135LOCAL_INLINE uint32
136TOPPERS_disint(void)
137{
138 /* 現在のPSWを取得し,IDビットをセットする */
139 volatile uint32 psw = current_psw();
140 set_psw(psw | PSW_ID_BITPTN);
141
142 return(psw);
143}
144
145/*
146 * 割込み優先度マスク(内部表現)の現在値の設定
147 */
148LOCAL_INLINE void
149TOPPERS_enaint(uint32 TOPPERS_psw)
150{
151 if ((TOPPERS_psw & PSW_ID_BITPTN) == 0u) {
152 set_psw(current_psw() & ~PSW_ID_BITPTN);
153 }
154}
155
156/*
157 * 全割込みロック状態の制御
158 */
159#define SIL_PRE_LOC volatile uint32 TOPPERS_psw
160#define SIL_LOC_INT() TOPPERS_psw = TOPPERS_disint()
161#define SIL_UNL_INT() TOPPERS_enaint(TOPPERS_psw)
162
163#endif /* TOPPERS_MACRO_ONLY */
164
165#endif /* TOPPERS_PRC_SIL_H */
Note: See TracBrowser for help on using the repository browser.