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

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

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

File size: 2.0 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$ CFG_INTで使用できる割込み番号と割込み優先度
34$
35$INTNO_CFGINT_VALID = INTNO_VALID$
36$INTPRI_CFGINT_VALID = { -1,-2,...,-7 }$
37
38$
39$ 標準テンプレートファイルのインクルード
40$
41$INCLUDE "kernel/kernel.tf"$
42
43$
44$ 例外ハンドラテーブル
45$
46$FILE "kernel_cfg.c"$
47$NL$
48const FP _kernel_exch_tbl[TNUM_EXCH] = {$NL$
49$FOREACH excno {0,1,...,31}$
50 $IF LENGTH(EXC.EXCNO[excno])$
51 $TAB$(FP)($EXC.EXCHDR[excno]$),
52 $ELSE$
53 $TAB$(FP)(_kernel_default_exc_handler),
54 $END$
55 $SPC$$FORMAT("/* %d */", +excno)$$NL$
56$END$
57$NL$};$NL$
58$NL$
59
60$
61$ 割込み優先度テーブル(内部表現)
62$
63$FILE "kernel_cfg.c"$
64$NL$
65const uint8_t _kernel_inh_iipm_tbl[TNUM_INH] = {$NL$
66$FOREACH inhno INHNO_VALID$
67 $IF LENGTH(INH.INHNO[inhno])$
68 $TAB$UINT8_C($-INT.INTPRI[inhno]$),
69 $ELSE$
70 $TAB$UINT8_C(0),
71 $END$
72 $SPC$$FORMAT("/* %d */", +inhno)$$NL$
73$END$
74$NL$};$NL$
75$NL$
76
77$
78$ 割込みマスクテーブル
79$
80const uint32_t _kernel_iipm_mask_tbl[TNUM_INT_PRI]={$NL$
81$FOREACH intpri { 0,-1,...,-7 }$
82 $intmask = 0$
83 $FOREACH intno (INT.ID_LIST)$
84 $IF INT.INTPRI[intno] >= intpri $
85 $intmask = intmask | (1 << (INT.INTNO[intno]))$
86 $END$
87 $END$
88 $TAB$UINT32_C($FORMAT("0x%08x", intmask)$),/* Priority $+intpri$ */$NL$
89$END$
90$NL$
91};$NL$
92
93
94$
95$ 割込みハンドラテーブル
96$
97$NL$
98const FP _kernel_inh_tbl[TNUM_INH] = {$NL$
99$FOREACH inhno INHNO_VALID$
100 $IF LENGTH(INH.INHNO[inhno])$
101 $TAB$(FP)($INH.INTHDR[inhno]$),
102 $ELSE$
103 $TAB$(FP)(_kernel_default_int_handler),
104 $END$
105 $SPC$$FORMAT("/* %d */", +inhno)$$NL$
106$END$
107$NL$};$NL$
108$NL$
Note: See TracBrowser for help on using the repository browser.