source: atk2-sc3-1.4.0-ntisr/kernel/genoffset.tf

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.8 KB
Line 
1$
2$ TOPPERS ATK2
3$ Toyohashi Open Platform for Embedded Real-Time Systems
4$ Automotive Kernel Version 2
5$
6$ Copyright (C) 2011-2015 by Center for Embedded Computing Systems
7$ Graduate School of Information Science, Nagoya Univ., JAPAN
8$ Copyright (C) 2011-2015 by FUJI SOFT INCORPORATED, JAPAN
9$ Copyright (C) 2011-2013 by Spansion LLC, USA
10$ Copyright (C) 2011-2015 by NEC Communication Systems, Ltd., JAPAN
11$ Copyright (C) 2011-2015 by Panasonic Advanced Technology Development Co., Ltd., JAPAN
12$ Copyright (C) 2011-2014 by Renesas Electronics Corporation, JAPAN
13$ Copyright (C) 2011-2015 by Sunny Giken Inc., JAPAN
14$ Copyright (C) 2011-2015 by TOSHIBA CORPORATION, JAPAN
15$ Copyright (C) 2011-2015 by Witz Corporation
16$ Copyright (C) 2014-2015 by AISIN COMCRUISE Co., Ltd., JAPAN
17$ Copyright (C) 2014-2015 by eSOL Co.,Ltd., JAPAN
18$ Copyright (C) 2014-2015 by SCSK Corporation, JAPAN
19$ Copyright (C) 2015 by SUZUKI MOTOR CORPORATION
20$
21$ 上記著作権者
22は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ
23$ ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
24$ 変・再é…
25å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
26$ (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
27$ 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
28$ スコード中に含まれていること.
29$ (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
30$ 用できる形で再é…
31å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é…
32å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
33$ 者
34マニュアルなど)に,上記の著作権表示,この利用条件および下記
35$ の無保証規定を掲載すること.
36$ (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
37$ 用できない形で再é…
38å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
39$ と.
40$ (a) 再é…
41å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€…
42マニュアルなど)に,上記の著
43$ 作権表示,この利用条件および下記の無保証規定を掲載すること.
44$ (b) 再é…
45å¸ƒã®å½¢æ…
46‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
47$ 報告すること.
48$ (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
49$ 害からも,上記著作権者
50およびTOPPERSプロジェクトをå…
51è²¬ã™ã‚‹ã“と.
52$ また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
53$ 由に基づく請求からも,上記著作権者
54およびTOPPERSプロジェクトを
55$ å…
56è²¬ã™ã‚‹ã“と.
57$
58$ 本ソフトウェアは,AUTOSAR(AUTomotive Open System ARchitecture)仕
59$ 様に基づいている.上記の許諾は,AUTOSARの知的財産権を許諾するもので
60$ はない.AUTOSARは,AUTOSAR仕様に基づいたソフトウェアを商用目的で利
61$ 用する者
62に対して,AUTOSARパートナーになることを求めている.
63$
64$ 本ソフトウェアは,無保証で提供されているものである.上記著作権者
65お
66$ よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
67$ に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
68$ アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
69$ の責任を負わない.
70$
71$ $Id: genoffset.tf 425 2015-12-07 08:06:19Z witz-itoyo $
72$
73
74$
75$ #defineディレクティブの生成
76$
77$FUNCTION DEFINE$
78 #define $ARGV[1]$$TAB$$FORMAT("%d", +ARGV[2])$$NL$
79$END$
80
81$
82$ ビットのサーチ
83$
84$FUNCTION SEARCH_BIT$
85 $_val = ARGV[1]$
86 $FOREACH _val_bit RANGE(0,7)$
87 $IF (_val & 1) != 0$
88 $RESULT = _val_bit$
89 $END$
90 $_val = _val >> 1$
91 $END$
92$END$
93
94$
95$ ビットフィールドのオフセットとビット位置の定義の生成
96$
97$FUNCTION DEFINE_BIT$
98 $label = ARGV[1]$
99 $struct_size = ARGV[2]$
100 $output_size = ARGV[3]$
101
102 $top = SYMBOL(label)$
103 $IF !LENGTH(top)$
104 $ERROR$$FORMAT("label %1% not found", label)$$END$
105 $ELSE$
106 $val = 0$
107 $FOREACH i RANGE(0,struct_size-1)$
108 $tmp_val = PEEK(top + i, 1)$
109 $IF val == 0 && tmp_val != 0$
110 $val = tmp_val$
111 $offset = i$
112 $END$
113 $END$
114
115 $IF val == 0$
116 $ERROR$$FORMAT("bit not found in %1%", ARGV[1])$$END$
117 $ELSE$
118 $val_bit = SEARCH_BIT(val)$
119 $RESULT = {}$
120 $IF EQ(output_size, "W")$
121 $IF SIL_ENDIAN_BIG$
122 $val_bit = val_bit + 24 - ((offset & 0x03) << 3)$
123 $ELSE$
124 $val_bit = val_bit + ((offset & 0x03) << 3)$
125 $END$
126 $offset = offset & ~0x03$
127 $ELSE$$IF EQ(output_size, "H")$
128 $IF SIL_ENDIAN_BIG$
129 $val_bit = val_bit + 8 - ((offset & 0x01) << 3)$
130 $ELSE$
131 $val_bit = val_bit + ((offset & 0x01) << 3)$
132 $END$
133 $offset = offset & ~0x01$
134 $END$$END$
135 $END$
136
137 #define $label$$TAB$$FORMAT("%d", +offset)$$NL$
138 #define $label$_bit$TAB$$FORMAT("%d", +val_bit)$$NL$
139 #define $label$_mask$TAB$$FORMAT("0x%x", 1 << val_bit)$$NL$
140 $END$
141$END$
142
143$
144$ バイトé…
145ç½®ã®ãƒã‚§ãƒƒã‚¯
146$
147$FUNCTION MAGIC_CHECK$
148 $size = ARGV[1]$
149 $check = ARGV[2]$
150
151 $label = FORMAT("MAGIC_%d", +size)$
152 $top = SYMBOL(label)$
153 $IF !LENGTH(top)$
154 $ERROR$$FORMAT("label %1% not found", label)$$END$
155 $ELSE$
156 $FOREACH offset RANGE(1,size)$
157 $IF SIL_ENDIAN_BIG$
158 $val = PEEK(top + offset - 1, 1)$
159 $ELSE$
160 $val = PEEK(top + size - offset, 1)$
161 $END$
162 $IF val != AT(check, offset - 1)$
163 $ERROR$$FORMAT("value check of %1% failed", label)$$END$
164 $END$
165 $END$
166 $END$
167$END$
168
169$MAGIC_CHECK(1, { 0x12 })$
170$MAGIC_CHECK(2, { 0x12, 0x34 })$
171$MAGIC_CHECK(4, { 0x12, 0x34, 0x56, 0x78 })$
172
173$
174$ ファイルヘッダの生成
175$
176$FILE "offset.h"$
177$NL$
Note: See TracBrowser for help on using the repository browser.