Changeset 306 for asp3_wo_tecs/trunk/arch/arm_m_gcc/common/core_kernel.trb
- Timestamp:
- Jun 27, 2017, 10:53:32 AM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
asp3_wo_tecs/trunk/arch/arm_m_gcc/common/core_kernel.trb
r304 r306 1 1 # ====================================================================== 2 # 2 # 3 3 # TOPPERS/ASP Kernel 4 4 # Toyohashi Open Platform for Embedded Real-Time Systems/ 5 5 # Advanced Standard Profile Kernel 6 # 6 # 7 7 # Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory 8 8 # Toyohashi Univ. of Technology, JAPAN 9 9 # Copyright (C) 2005-2015 by Embedded and Real-Time Systems Laboratory 10 10 # Graduate School of Information Science, Nagoya Univ., JAPAN 11 # 11 # 12 12 # ä¸è¨èä½æ¨©è 13 13 ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ … … 46 46 # å 47 47 責ãããã¨ï¼ 48 # 48 # 49 49 # æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 50 50 ã … … 53 53 # ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 54 54 # ã®è²¬ä»»ãè² ããªãï¼ 55 # 55 # 56 56 # @(#) $Id: core.tf 322 2015-04-30 13:23:48Z ertl-ishikawa $ 57 57 # 58 58 # ===================================================================== 59 59 60 # 60 # 61 61 # ãã¹2ã®ã¢ã¼ããã¯ãã£ä¾åãã³ãã¬ã¼ãï¼ARM-Mç¨ï¼ 62 # 63 64 # 62 # 63 64 # 65 65 # æå¹ãªå²è¾¼ã¿çªå·ï¼å²è¾¼ã¿ãã³ãã©çªå· 66 # 67 $INTNO_VALID = Array(15..$TMAX_INTNO .val)66 # 67 $INTNO_VALID = Array(15..$TMAX_INTNO) 68 68 $INHNO_VALID = $INTNO_VALID 69 69 70 # 70 # 71 71 # æå¹ãªCPUä¾å¤çªå· 72 72 # 7,8ã¯ã¨ãã¥ã¬ã¼ããããä¾å¤ 73 # 73 # 74 74 $EXCNO_VALID = [ 2,3,4,5,6,7,8,11,12,14 ] 75 75 76 # 76 # 77 77 # CRE_ISRã§ä½¿ç¨ã§ããå²è¾¼ã¿çªå·ã¨ããã«å¯¾å¿ããå²è¾¼ã¿ãã³ãã©çªå· 78 # 78 # 79 79 $INTNO_CREISR_VALID = $INTNO_VALID 80 80 $INHNO_CREISR_VALID = $INHNO_VALID 81 81 82 # 82 # 83 83 # DEF_INTï¼DEF_EXCã§ä½¿ç¨ã§ããå²è¾¼ã¿ãã³ãã©çªå·ï¼CPUä¾å¤ãã³ãã©çªå· 84 # 84 # 85 85 $INHNO_DEFINH_VALID = $INHNO_VALID 86 86 $EXCNO_DEFEXC_VALID = $EXCNO_VALID 87 87 88 # 88 # 89 89 # CFG_INTã§ä½¿ç¨ã§ããå²è¾¼ã¿çªå·ã¨å²è¾¼ã¿åªå 90 90 度 … … 96 96 # ãã®ããï¼ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ã§ã®ã¿æå®å¯è½ï¼ 97 97 $INTNO_CFGINT_VALID = $INTNO_VALID 98 $INTPRI_CFGINT_VALID = Array(-(1 << $TBITW_IPRI .val)..-2)99 100 # 98 $INTPRI_CFGINT_VALID = Array(-(1 << $TBITW_IPRI)..-2) 99 100 # 101 101 # kernel/kernel.tf ã®ã¿ã¼ã²ããä¾åé¨ 102 # 103 104 # 102 # 103 104 # 105 105 # TSKINICTXBã®åæåæ 106 106 å ±ãçæ 107 # 107 # 108 108 def GenerateTskinictxb(key, params) 109 109 return("{" \ … … 114 114 end 115 115 116 # 116 # 117 117 # æ¨æºãã³ãã¬ã¼ããã¡ã¤ã«ã®ã¤ã³ã¯ã«ã¼ã 118 # 118 # 119 119 IncludeTrb("kernel/kernel.trb") 120 120 … … 124 124 */ 125 125 126 /* 126 /* 127 127 * ãã¯ã¿ã¼ãã¼ãã« 128 */ 128 */ 129 129 __attribute__ ((section(".vector"))) 130 130 const FP _kernel_vector_table[] = { … … 143 143 $INTNO_VALID.each { |inhno| 144 144 #if $cfgData[:DEF_INH][inhno]) && ((INH.INHATR[inhno] & TA_NONKERNEL) != 0)$ 145 inh = $cfgData[:DEF_INH].select { |k,v| 145 inh = $cfgData[:DEF_INH].select { |k,v| 146 146 (v[:inhno] == inhno) && (v[:inhatr] & $TA_NONKERNEL) 147 147 } … … 158 158 $kernelCfgC.add("const FP _kernel_exc_tbl[] = {") 159 159 Array(0..14).each { |excno| 160 exc = $cfgData[:DEF_EXC].select { |k,v| 160 exc = $cfgData[:DEF_EXC].select { |k,v| 161 161 (v[:excno] == excno) 162 162 } … … 170 170 } 171 171 $INTNO_VALID.each { |inhno| 172 inh = $cfgData[:DEF_INH].select { |k,v| 172 inh = $cfgData[:DEF_INH].select { |k,v| 173 173 (v[:inhno] == inhno) 174 174 } … … 183 183 $kernelCfgC.add2("};") 184 184 185 # 185 # 186 186 # _kernel_bitpat_cfgintã®çæ 187 # 187 # 188 188 189 189 bitpat_cfgint_num = 0 … … 199 199 Array(0..(bitpat_cfgint_num-1)).each { |num| 200 200 Array((num*32)..((num*32)+31)).each { |inhno| 201 inh = $cfgData[:DEF_INH].select { |k,v| 201 inh = $cfgData[:DEF_INH].select { |k,v| 202 202 (v[:inhno] == inhno) 203 203 } … … 210 210 $kernelCfgC.add2("};") 211 211 212 # 212 # 213 213 # å²è¾¼ã¿åªå 214 214 度ãã¼ãã«ï¼å 215 215 é¨è¡¨ç¾ï¼ 216 # 216 # 217 217 $kernelCfgC.add("const uint32_t _kernel_int_iipm_tbl[] = {") 218 218 Array(0..14).each { |excno| … … 220 220 } 221 221 $INTNO_VALID.each { |intno| 222 int = $cfgData[:CFG_INT].select { |k,v| 222 int = $cfgData[:CFG_INT].select { |k,v| 223 223 (v[:intno] == intno) 224 224 }
Note:
See TracChangeset
for help on using the changeset viewer.