source: ssp_arm_gcc/trunk/target/at91skyeye_gcc/target.tf@ 92

Last change on this file since 92 was 92, checked in by nmir-saito, 9 years ago

add separate package of SSP kernel for ARM + SkyEye(experimental)

File size: 1.8 KB
Line 
1$
2$ パス2のターゲット依存テンプレート(AT91SKYEYE用)
3$
4
5
6$
7$ 有効な割込み番号,割込みハンドラ番号,CPU例外ハンドラ番号
8$ 0,1931は使用出来ないが,テーブルを作成するために必要
9$INTNO_VALID = { 0,1,...,31 }$
10$INHNO_VALID = INTNO_VALID$
11
12$
13$ ATT_ISRで使用できる割込み番号とそれに対応する割込みハンドラ番号
14$
15$INTNO_ATTISR_VALID = { 1,2,...,18 }$
16$INHNO_ATTISR_VALID = { 1,2,...,18 }$
17
18$
19$ DEF_INTで使用できる割込みハンドラ番号
20$
21$INHNO_DEFINH_VALID = { 1,2,...,18 }$
22
23$
24$ CFG_INTで使用できる割込み番号と割込み優先度
25$
26$INTNO_CFGINT_VALID = { 1,2,...,18 }$
27$INTPRI_CFGINT_VALID = { -1,-2,...,-7 }$
28
29$
30$ 割込み属性中のターゲット依存に用いるビット
31$
32$TARGET_INTATR = TA_HIGHLEVEL | TA_POSEDGE | TA_LOWLEVEL$
33
34$
35$ コア依存テンプレートのインクルード(ARM用)
36$
37$INCLUDE"arm_gcc/common/core.tf"$
38
39$
40$ 割込み優先度テーブル
41$
42$FILE "kernel_cfg.c"$
43$NL$
44const PRI _kernel_inh_ipm_tbl[TNUM_INH] = {$NL$
45$FOREACH inhno INHNO_VALID$
46 $IF LENGTH(INH.INHNO[inhno])$
47 $TAB$$INT.INTPRI[inhno]$,
48 $ELSE$
49 $TAB$0,
50 $END$
51 $SPC$$FORMAT("/* %d */", +inhno)$$NL$
52$END$
53$NL$};$NL$
54$NL$
55
56$
57$ 割込みマスクテーブル
58$
59const uint32_t _kernel_ipm_mask_tbl[8]={$NL$
60$FOREACH intpri { 0,-1,...,-7 }$
61 $intmask = 0$
62 $FOREACH intno (INT.ID_LIST)$
63 $IF INT.INTPRI[intno] >= intpri $
64 $intmask = intmask | (1 << (INT.INTNO[intno]))$
65 $END$
66 $END$
67 $TAB$UINT32_C($FORMAT("0x%08x", intmask)$),/* Priority $+intpri$ */$NL$
68$END$
69$NL$
70};$NL$
71
72
73$
74$ 割込みハンドラテーブル
75$
76$NL$
77const FP _kernel_inh_tbl[TNUM_INH] = {$NL$
78$FOREACH inhno INHNO_VALID$
79 $IF LENGTH(INH.INHNO[inhno])$
80 $TAB$(FP)($INH.INTHDR[inhno]$),
81 $ELSE$
82 $TAB$(FP)(_kernel_default_int_handler),
83 $END$
84 $SPC$$FORMAT("/* %d */", +inhno)$$NL$
85$END$
86$NL$};$NL$
87$NL$
88
89$
90$ バナー出力用のTFファイル
91$
92$INCLUDE "syssvc/banner.tf"$
Note: See TracBrowser for help on using the repository browser.