source: asp_nios2/trunk/arch/nios2_gcc/prc.tf@ 1

Last change on this file since 1 was 1, checked in by ertl-ichiba, 14 years ago

ASP 1.4.0対応のNios2依存部を追加

File size: 2.1 KB
Line 
1$
2$ パス2のアーキテクチャ依存テンプレート(Nios2用)
3$
4
5$
6$ 有効なCPU例外ハンドラ番号
7$
8$EXCNO_VALID = { 0,1,2,3,4,5,9,10,12,13,16 }$
9
10$
11$ DEF_EXCで使用できるCPU例外ハンドラ番号
12$
13$EXCNO_DEFEXC_VALID = EXCNO_VALID$
14
15$
16$ 有効な割込み番号,割込みハンドラ番号
17$
18$INTNO_VALID = { 0,1,...,31 }$
19$INHNO_VALID = INTNO_VALID$
20
21$
22$ ATT_ISRで使用できる割込み番号とそれに対応する割込みハンドラ番号
23$
24$INTNO_ATTISR_VALID = INTNO_VALID$
25$INHNO_ATTISR_VALID = INHNO_VALID$
26
27$
28$ DEF_INTで使用できる割込みハンドラ番号
29$
30$INHNO_DEFINH_VALID = INHNO_VALID$
31
32$
33$ チェック方法の指定
34$
35$CHECK_STKSZ_ALIGN = 4$
36
37$
38$ CFG_INTで使用できる割込み番号と割込み優先度
39$
40$INTNO_CFGINT_VALID = INTNO_VALID$
41$INTPRI_CFGINT_VALID = { -1,-2,...,-7 }$
42
43$
44$ 標準テンプレートファイルのインクルード
45$
46$INCLUDE "kernel/kernel.tf"$
47
48$
49$ 例外ハンドラテーブル
50$
51$FILE "kernel_cfg.c"$
52$NL$
53const FP _kernel_exch_tbl[TNUM_EXCH] = {$NL$
54$FOREACH excno {0,1,...,31}$
55 $IF LENGTH(EXC.EXCNO[excno])$
56 $TAB$(FP)($EXC.EXCHDR[excno]$),
57 $ELSE$
58 $TAB$(FP)(_kernel_default_exc_handler),
59 $END$
60 $SPC$$FORMAT("/* %d */", +excno)$$NL$
61$END$
62$NL$};$NL$
63$NL$
64
65$
66$ 割込み優先度テーブル(内部表現)
67$
68$FILE "kernel_cfg.c"$
69$NL$
70const uint8_t _kernel_inh_iipm_tbl[TNUM_INH] = {$NL$
71$FOREACH inhno INHNO_VALID$
72 $IF LENGTH(INH.INHNO[inhno])$
73 $TAB$UINT8_C($-INT.INTPRI[inhno]$),
74 $ELSE$
75 $TAB$UINT8_C(0),
76 $END$
77 $SPC$$FORMAT("/* %d */", +inhno)$$NL$
78$END$
79$NL$};$NL$
80$NL$
81
82$
83$ 割込みマスクテーブル
84$
85const uint32_t _kernel_iipm_mask_tbl[TNUM_INT_PRI]={$NL$
86$FOREACH intpri { 0,-1,...,-7 }$
87 $intmask = 0$
88 $FOREACH intno (INT.ID_LIST)$
89 $IF INT.INTPRI[intno] >= intpri $
90 $intmask = intmask | (1 << (INT.INTNO[intno]))$
91 $END$
92 $END$
93 $TAB$UINT32_C($FORMAT("0x%08x", intmask)$),/* Priority $+intpri$ */$NL$
94$END$
95$NL$
96};$NL$
97
98
99$
100$ 割込みハンドラテーブル
101$
102$NL$
103const FP _kernel_inh_tbl[TNUM_INH] = {$NL$
104$FOREACH inhno INHNO_VALID$
105 $IF LENGTH(INH.INHNO[inhno])$
106 $TAB$(FP)($INH.INTHDR[inhno]$),
107 $ELSE$
108 $TAB$(FP)(_kernel_default_int_handler),
109 $END$
110 $SPC$$FORMAT("/* %d */", +inhno)$$NL$
111$END$
112$NL$};$NL$
113$NL$
Note: See TracBrowser for help on using the repository browser.