source: azure_iot_hub_riscv/trunk/asp_baseplatform/target/k210_gcc/target.tf@ 453

Last change on this file since 453 was 453, checked in by coas-nagasima, 4 years ago

ファイルを追加

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/plain;charset=UTF-8
File size: 2.0 KB
Line 
1$
2$ パス2のターゲット依存テンプレート(K210用)
3$
4
5$
6$ 有効な割込み番号,割込みハンドラ番号
7$
8$INTNO_VALID = RANGE(0, (TMAX_INTNO-1))$
9$INHNO_VALID = INTNO_VALID$
10
11$
12$ ATT_ISRで使用できる割込み番号とそれに対応する割込みハンドラ番号
13$
14$INTNO_ATTISR_VALID = INTNO_VALID$
15$INHNO_ATTISR_VALID = INHNO_VALID$
16
17$
18$ DEF_INT/DEF_EXCで使用できる割込みハンドラ番号/CPU例外ハンドラ番号
19$
20$INHNO_DEFINH_VALID = INTNO_VALID$
21$EXCNO_DEFEXC_VALID = INHNO_VALID$
22
23$
24$ CFG_INTで使用できる割込み番号と割込み優先度
25$
26$INTNO_CFGINT_VALID = INTNO_VALID$
27$INTPRI_CFGINT_VALID = { -7,-6,...,-1 }$
28
29$
30$ 標準テンプレートファイルのインクルード
31$
32$INCLUDE "kernel/kernel.tf"$
33
34/*$NL$
35$SPC$* Target-dependent Definitions (HIFIVE1)$NL$
36$SPC$*/$NL$
37$NL$
38
39$
40$ ベクターテーブル
41$
42$NL$
43$cfgint_num = TMAX_INTNO$
44
45const FP _kernel_vector_table[
46 $cfgint_num$
47] = {$NL$
48
49$FOREACH inhno INTNO_VALID$
50 $IF LENGTH(INH.INHNO[inhno])$
51 $TAB$(FP)(_kernel_
52 $INH.INTHDR[inhno]$_
53 $INH.INHNO[inhno]$),
54 $ELSE$
55 $TAB$(FP)(_kernel_default_plic_handler),
56 $END$
57 $SPC$$FORMAT("/* %d */", +inhno)$$NL$
58$END$
59
60$NL$};$NL$
61$NL$
62
63$
64$ CFG_INTのターゲット依存のエラーチェックと_kernel_bitpat_cfgintの生成
65$
66$bitpat_cfgint_num = 0$
67$bitpat_cfgint = 0$
68
69const uint32_t _kernel_bitpat_cfgint[
70$IF (TMAX_INTNO & 0x0f) == 0x00 $
71 $bitpat_cfgint_num = (TMAX_INTNO >> 5)$
72$ELSE$
73 $bitpat_cfgint_num = (TMAX_INTNO >> 5) + 1$
74$END$
75 $bitpat_cfgint_num$
76] = {$NL$
77$FOREACH num RANGE(0,(bitpat_cfgint_num-1))$
78$ //boost のバージョンによって挙動が変わるための対策
79$ //http://www.toppers.jp/TOPPERS-USERS/201004/msg00034.html
80 $bitpat_cfgint = 1-1$
81 $FOREACH inhno RANGE(num*32, (num*32)+31)$
82 $IF LENGTH(INH.INHNO[inhno])$
83 $bitpat_cfgint = bitpat_cfgint | (1 << (inhno & 0x01f))$
84 $END$
85 $END$
86 $TAB$UINT32_C($FORMAT("0x%08x", bitpat_cfgint)$), $NL$
87$END$
88
89$NL$};$NL$
90$NL$
Note: See TracBrowser for help on using the repository browser.