Changeset 306 for asp3_wo_tecs/trunk/kernel
- Timestamp:
- Jun 27, 2017, 10:53:32 AM (7 years ago)
- Location:
- asp3_wo_tecs/trunk/kernel
- Files:
-
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
asp3_wo_tecs/trunk/kernel/dataqueue.trb
r305 r306 53 53 # ã®è²¬ä»»ãè² ããªãï¼ 54 54 # 55 # $Id: dataqueue.trb 588 2016-02-05 12:54:58Z ertl-hiro $55 # $Id: dataqueue.trb 668 2016-03-03 13:57:53Z ertl-hiro $ 56 56 # 57 57 … … 66 66 67 67 def prepare(key, params) 68 # ãã©ã¡ã¼ã¿ãçç¥ãããæã®ããã©ã«ãå¤ã®è¨å® 69 params[:dtqmb] ||= "NULL" 70 68 71 # dtqatrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI1669ï¼½ 69 72 #ï¼TA_TPRI以å¤ã®ããããã»ããããã¦ããå ´åï¼ … … 74 77 # dtqmbãNULLã§ãªãå ´åï¼E_NOSPTï¼ï¼»ASPS0132ï¼½ 75 78 if params[:dtqmb] != "NULL" 76 error_illegal_id("E_ PAR", params, :dtqmb, :dtqid)79 error_illegal_id("E_NOSPT", params, :dtqmb, :dtqid) 77 80 end 78 81 79 82 # ãã¼ã¿ãã¥ã¼ç®¡çé å 80 83 if params[:dtqcnt] > 0 81 $kernelCfgC.add("static DTQMB _kernel_dtqmb_#{params[:dtqid]}" \ 82 "[#{params[:dtqcnt]}];") 84 dtqmbName = "_kernel_dtqmb_#{params[:dtqid]}" 85 $kernelCfgC.add("static DTQMB #{dtqmbName}[#{params[:dtqcnt]}];") 86 params[:dtqinib_dtqmb] = dtqmbName 87 else 88 params[:dtqinib_dtqmb] = "NULL" 83 89 end 84 90 end 85 91 86 92 def generateInib(key, params) 87 if params[:dtqcnt] > 0 88 dtqmb = "_kernel_dtqmb_#{params[:dtqid]}" 89 else 90 dtqmb = "NULL" 91 end 92 return("(#{params[:dtqatr]}), (#{params[:dtqcnt]}), #{dtqmb}") 93 return("(#{params[:dtqatr]}), (#{params[:dtqcnt]}), " \ 94 "#{params[:dtqinib_dtqmb]}") 93 95 end 94 96 end -
asp3_wo_tecs/trunk/kernel/exception.trb
r305 r306 53 53 # ã®è²¬ä»»ãè² ããªãï¼ 54 54 # 55 # $Id: exception.trb 588 2016-02-05 12:54:58Z ertl-hiro $55 # $Id: exception.trb 663 2016-02-27 04:45:50Z ertl-hiro $ 56 56 # 57 57 … … 76 76 # excatrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI3131ï¼½ 77 77 #ï¼TARGET_EXCATR以å¤ã®ããããã»ããããã¦ããå ´åï¼ 78 if (params[:excatr] & ~ $TARGET_EXCATR) != 078 if (params[:excatr] & ~($TARGET_EXCATR)) != 0 79 79 error_illegal_sym("E_RSATR", params, :excatr, :excno) 80 80 end … … 85 85 å ±ã®çæ 86 86 # 87 if $OMIT_INITIALIZE_EXCEPTION.nil?87 if !$OMIT_INITIALIZE_EXCEPTION 88 88 # 89 89 # å®ç¾©ããCPUä¾å¤ãã³ãã©ã®æ° 90 90 # 91 $kernelCfgC.a ppend(<<EOS)91 $kernelCfgC.add(<<EOS) 92 92 #define TNUM_DEF_EXCNO #{$cfgData[:DEF_EXC].size} 93 93 const uint_t _kernel_tnum_def_excno = TNUM_DEF_EXCNO; 94 95 94 EOS 96 95 -
asp3_wo_tecs/trunk/kernel/genoffset.trb
r304 r306 52 52 # ã®è²¬ä»»ãè² ããªãï¼ 53 53 # 54 # $Id: genoffset.trb 572 2016-02-01 14:40:09Z ertl-hiro $54 # $Id: genoffset.trb 662 2016-02-27 02:33:51Z ertl-hiro $ 55 55 # 56 56 … … 75 75 # 76 76 def GenerateDefine(symbol, value) 77 $offsetH.add("#define #{symbol}\t#{value .val}")77 $offsetH.add("#define #{symbol}\t#{value}") 78 78 end 79 79 -
asp3_wo_tecs/trunk/kernel/interrupt.trb
r305 r306 53 53 # ã®è²¬ä»»ãè² ããªãï¼ 54 54 # 55 # $Id: interrupt.trb 6 12 2016-02-08 04:27:57Z ertl-hiro $55 # $Id: interrupt.trb 678 2016-03-06 02:36:09Z ertl-hiro $ 56 56 # 57 57 … … 78 78 # ãã¬ã¼ã¹ãã°ãã¯ãã®ããã©ã«ãå®ç¾© 79 79 # 80 $kernelCfgC.a ppend(<<EOS)80 $kernelCfgC.add(<<EOS) 81 81 #ifndef LOG_ISR_ENTER 82 82 #define LOG_ISR_ENTER(isrid) … … 86 86 #define LOG_ISR_LEAVE(isrid) 87 87 #endif /* LOG_ISR_LEAVE */ 88 89 88 EOS 90 89 … … 105 104 # 106 105 if $INTPRI_CFGINT_VALID.nil? 107 $INTPRI_CFGINT_VALID = $TMIN_INTPRI. val.upto($TMAX_INTPRI.val).to_a106 $INTPRI_CFGINT_VALID = $TMIN_INTPRI.upto($TMAX_INTPRI).to_a 108 107 end 109 108 … … 151 150 if !$INTNO_FIX_NONKERNEL.index(params[:intno]).nil? 152 151 if params[:intpri] >= $TMIN_INTPRI 153 error_ercd("E_OBJ", params, " intno `#{params[:intno]}'" \154 " must have higher priority than TMIN_INTPRI")152 error_ercd("E_OBJ", params, "%%intno must have higher priority " \ 153 "than TMIN_INTPRI in %apiname") 155 154 end 156 155 end … … 162 161 if !$INTNO_FIX_KERNEL.index(params[:intno]).nil? 163 162 if params[:intpri] < $TMIN_INTPRI 164 error_ercd("E_OBJ", params, " intno `#{params[:intno]}'" \165 " must have lower or equal priority to TMIN_INTPRI")163 error_ercd("E_OBJ", params, "%%intno must have lower or equal " \ 164 "priority to TMIN_INTPRI in %apiname") 166 165 end 167 166 end … … 180 179 # inhatrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI3052ï¼½ 181 180 #ï¼TARGET_INHATR以å¤ã®ããããã»ããããã¦ããå ´åï¼ 182 if (params[:inhatr] & ~ $TARGET_INHATR) != 0181 if (params[:inhatr] & ~($TARGET_INHATR)) != 0 183 182 error_illegal_sym("E_RSATR", params, :inhatr, :inhno) 184 183 end … … 189 188 if !$INHNO_FIX_NONKERNEL.index(params[:inhno]).nil? 190 189 if (params[:inhatr] & $TA_NONKERNEL) == 0 191 error_ercd("E_RSATR", params, " inhno `#{params[:inhno]}'" \192 " must be non-kernel interrupt")190 error_ercd("E_RSATR", params, "%%inhno must be " \ 191 "non-kernel interrupt in %apiname") 193 192 end 194 193 end … … 200 199 if !$INHNO_FIX_KERNEL.index(params[:inhno]).nil? 201 200 if (params[:inhatr] & $TA_NONKERNEL) != 0 202 error_ercd("E_RSATR", params, " inhno `#{params[:inhno]}'" \203 " must not be non-kernel interrupt")201 error_ercd("E_RSATR", params, "%%inhno must not be " \ 202 "non-kernel interrupt in %apiname") 204 203 end 205 204 end … … 211 210 # inhnoã«å¯¾å¿ããintnoã«å¯¾ããCFG_INTããªãå ´åï¼E_OBJï¼ï¼»NGKI3062ï¼½ 212 211 if !$cfgData[:CFG_INT].has_key?(intnoVal) 213 error_ercd("E_OBJ", params, "intno `#{intnoVal}' corresponding to " \214 " inhno `#{params[:inhno]}'is not configured with CFG_INT")212 error_ercd("E_OBJ", params, "intno `#{intnoVal}' corresponding to " \ 213 "%%inhno in %apiname is not configured with CFG_INT") 215 214 else 216 215 intnoParams = $cfgData[:CFG_INT][intnoVal] … … 221 220 # ããå ´åï¼E_OBJï¼ï¼»NGKI3065ï¼½ 222 221 if intnoParams[:intpri] < $TMIN_INTPRI 223 error_ercd("E_OBJ", params, "intpri `#{intnoParams[:intpri]}'" \ 224 " configured for inhno `#{params[:inhno]}' must" \ 225 " be lower or equal to TMIN_INTPRI") 222 error_ercd("E_OBJ", params, "intpri `#{intnoParams[:intpri]}' " \ 223 "configured for %%inhno must be lower or equal to TMIN_INTPRI") 226 224 end 227 225 else … … 231 229 # å ´åï¼E_OBJï¼ï¼»NGKI3066ï¼½ 232 230 if intnoParams[:intpri] >= $TMIN_INTPRI 233 error_ercd("E_OBJ", params, "intpri `#{intnoParams[:intpri]}'" \ 234 " configured for inhno `#{params[:inhno]}' must" \ 235 " be higher than with TMIN_INTPRI") 231 error_ercd("E_OBJ", params, "intpri `#{intnoParams[:intpri]}' " \ 232 "configured for %%inhno must be higher than TMIN_INTPRI") 236 233 end 237 234 end … … 246 243 # isratrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI2998ï¼½ 247 244 #ï¼TARGET_ISRATR以å¤ã®ããããã»ããããã¦ããå ´åï¼ 248 if (params[:isratr] & ~ $TARGET_ISRATR) != 0245 if (params[:isratr] & ~($TARGET_ISRATR)) != 0 249 246 error_illegal("E_RSATR", params, "isratr") 250 247 end … … 267 264 isrParamsList = [] 268 265 $cfgData[:CRE_ISR].sort.each do |key, params| 269 if params[:intno] .val== intnoVal266 if params[:intno] == intnoVal 270 267 isrParamsList.push(params) 271 268 end … … 279 276 if $cfgData[:DEF_INH].has_key?(inhnoVal) 280 277 inhnoParams = $cfgData[:DEF_INH][inhnoVal] 281 error_ercd("E_OBJ", isrParamsList[0], \ 282 "intno `#{isrParamsList[0][:intno]}' in CRE_ISR" \ 283 " is duplicated with inhno #{inhnoParams[:inhno]}") 278 error_ercd("E_OBJ", isrParamsList[0], "%%intno in %apiname " \ 279 "is duplicated with inhno #{inhnoParams[:inhno]}") 284 280 end 285 281 286 282 # intnoã«å¯¾ããCFG_INTããªãå ´åï¼E_OBJï¼ï¼»NGKI3012ï¼½ 287 283 if !$cfgData[:CFG_INT].has_key?(intnoVal) 288 error_ercd("E_OBJ", isrParamsList[0], \ 289 "intno `#{isrParamsList[0][:intno]}'" \ 290 " is not configured with CFG_INT") 284 error_ercd("E_OBJ", isrParamsList[0], "%%intno in %apiname " \ 285 "is not configured with CFG_INT") 291 286 else 292 287 intnoParams = $cfgData[:CFG_INT][intnoVal] … … 297 292 if intnoParams[:intpri] < $TMIN_INTPRI 298 293 error_ercd("E_OBJ", isrParamsList[0], 299 "intpri `#{intnoParams[:intpri]}' configured for" \ 300 " intno `#{isrParamsList[0][:intno]}}' in higher" \ 301 " than TMIN_INTPRI") 294 "intpri `#{intnoParams[:intpri]}' configured for " \ 295 "%%intno with CFG_INT in higher than TMIN_INTPRI") 302 296 end 303 297 end … … 305 299 # 次ã®DEF_INHã«ç¸å½ãããã¼ã¿ãçæ 306 300 # DEF_INH(inhno, { TA_NULL, _kernel_inthdr_<intno> } ); 307 params= {308 :inhno => StrVal.new(inhnoVal.to_s,inhnoVal),309 :inhatr => $TA_NULL,310 :inthdr => StrVal.new("_kernel_inthdr_#{intnoVal}")301 $cfgData[:DEF_INH][inhnoVal] = { 302 inhno: NumStr.new(inhnoVal), 303 inhatr: NumStr.new($TA_NULL, "TA_NULL"), 304 inthdr: "_kernel_inthdr_#{intnoVal}" 311 305 } 312 $cfgData[:DEF_INH][inhnoVal] = params313 306 314 307 # å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ç¨ã®å²è¾¼ã¿ãã³ãã© … … 340 333 å ±ã®çæ 341 334 # 342 if $OMIT_INITIALIZE_INTERRUPT.nil? || !$USE_INHINIB_TABLE.nil?335 if !$OMIT_INITIALIZE_INTERRUPT || $USE_INHINIB_TABLE 343 336 # 344 337 # å®ç¾©ããå²è¾¼ã¿ãã³ãã©ã®æ° 345 338 # 346 $kernelCfgC.a ppend(<<EOS)339 $kernelCfgC.add(<<EOS) 347 340 #define TNUM_DEF_INHNO #{$cfgData[:DEF_INH].size} 348 341 const uint_t _kernel_tnum_def_inhno = TNUM_DEF_INHNO; 349 350 342 EOS 351 343 … … 388 380 å ±ã®çæ 389 381 # 390 if $OMIT_INITIALIZE_INTERRUPT.nil? || !$USE_INTINIB_TABLE.nil?382 if !$OMIT_INITIALIZE_INTERRUPT || $USE_INTINIB_TABLE 391 383 # 392 384 # è¨å®ããå²è¾¼ã¿è¦æ±ã©ã¤ã³ã®æ° 393 385 # 394 $kernelCfgC.a ppend(<<EOS)386 $kernelCfgC.add(<<EOS) 395 387 #define TNUM_CFG_INTNO #{$cfgData[:CFG_INT].size} 396 388 const uint_t _kernel_tnum_cfg_intno = TNUM_CFG_INTNO; 397 398 389 EOS 399 390 -
asp3_wo_tecs/trunk/kernel/kernel.trb
r305 r306 45 45 # å 46 46 責ãããã¨ï¼ 47 # 47 # 48 48 # æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 49 49 ã … … 52 52 # ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 53 53 # ã®è²¬ä»»ãè² ããªãï¼ 54 # 55 # $Id: kernel.trb 588 2016-02-05 12:54:58Z ertl-hiro $56 # 54 # 55 # $Id: kernel.trb 670 2016-03-03 15:08:11Z ertl-hiro $ 56 # 57 57 58 58 # … … 60 60 # 61 61 62 # 62 # 63 63 # ã¿ã¤ã ã¹ã¿ã³ããã¡ã¤ã«ã®æå® 64 # 64 # 65 65 $timeStampFileName = "kernel_cfg.timestamp" 66 66 … … 70 70 # 71 71 $kernelCfgH = GenFile.new("kernel_cfg.h") 72 $kernelCfgH.a ppend(<<EOS)72 $kernelCfgH.add(<<EOS) 73 73 /* kernel_cfg.h */ 74 74 #ifndef TOPPERS_KERNEL_CFG_H 75 75 #define TOPPERS_KERNEL_CFG_H 76 77 76 EOS 78 77 … … 82 81 # 83 82 $kernelCfgC = GenFile.new("kernel_cfg.c") 84 $kernelCfgC.a ppend(<<EOS)83 $kernelCfgC.add(<<EOS) 85 84 /* kernel_cfg.c */ 86 85 #include "kernel/kernel_int.h" … … 90 89 #error The kernel does not match this configuration file. 91 90 #endif 92 93 EOS 94 95 # 91 EOS 92 93 # 96 94 # ã¤ã³ã¯ã«ã¼ããã£ã¬ã¯ãã£ãï¼#includeï¼ 97 # 95 # 98 96 $kernelCfgC.comment_header("Include Directives") 99 97 $includeFiles.each do |file| … … 142 140 143 141 # ãªãã¸ã§ã¯ãã®IDçªå·ãä¿æããå¤æ° 144 if !$USE_EXTERNAL_ID.nil?142 if $USE_EXTERNAL_ID 145 143 $cfgData[@api].sort.each do |key, params| 146 144 $kernelCfgC.add("const ID #{params[@objid]}_id" \ … … 224 222 || (nfymode2 == $TENFY_SETFLG && epar2.nil?) 225 223 # ãã©ã¡ã¼ã¿ã足ããªãå ´å 226 error_api(params, "too few parameters for nfymode `#{nfymode}' " \227 " in #{params[:apiname]} of #{params[objid]}")224 error_api(params, "too few parameters for nfymode `#{nfymode}' " \ 225 "in %apiname of %#{objid}") 228 226 elsif (nfymode2 == 0 && !epar1.nil?) \ 229 227 || (nfymode2 != $TENFY_SETFLG && !epar2.nil?) 230 228 # ãã©ã¡ã¼ã¿ãå¤ãããå ´å 231 error_api(params, "too many parameters for nfymode `#{nfymode}' " \232 " in #{params[:apiname]} of #{params[objid]}")229 error_api(params, "too many parameters for nfymode `#{nfymode}' " \ 230 "in %apiname of %#{objid}") 233 231 elsif nfymode == $TNFY_HANDLER 234 232 # ã¿ã¤ã ã¤ãã³ããã³ãã©ã®å¼åºã … … 354 352 IncludeTrb("kernel/exception.trb") 355 353 356 # 354 # 357 355 # éã¿ã¹ã¯ã³ã³ããã¹ãç¨ã®ã¹ã¿ãã¯é å 358 # 356 # 359 357 $kernelCfgC.comment_header("Stack Area for Non-task Context") 360 358 361 if $cfgData[:DEF_ICS].size ()== 0359 if $cfgData[:DEF_ICS].size == 0 362 360 # DEF_ICSããªãå ´åã®ããã©ã«ãå¤ã®è¨å® 363 361 if $DEFAULT_ISTK.nil? … … 371 369 else 372 370 # éçAPIãDEF_ICSããè¤æ°ããï¼E_OBJï¼ï¼»NGKI3216ï¼½ 373 if $cfgData[:DEF_ICS].size ()> 1371 if $cfgData[:DEF_ICS].size > 1 374 372 error("E_OBJ: too many DEF_ICS") 375 373 end … … 378 376 params = $cfgData[:DEF_ICS][1] 379 377 378 # ãã©ã¡ã¼ã¿ãçç¥ãããæã®ããã©ã«ãå¤ã®è¨å® 379 params[:istk] ||= "NULL" 380 380 381 # istkszãã¿ã¼ã²ããå®ç¾©ã®æå°å¤ï¼TARGET_MIN_ISTKSZï¼æªå®ç¾©ã®å ´åã¯1ï¼ 381 382 # ãããå°ããå ´åï¼E_PARï¼ï¼»NGKI3254ï¼½ 382 if params[:istksz] < =$TARGET_MIN_ISTKSZ383 if params[:istksz] < $TARGET_MIN_ISTKSZ 383 384 error_wrong("E_PAR", params, :istksz, "too small") 384 385 end 385 386 386 if (params[:istk] == "NULL")387 if params[:istk] == "NULL" 387 388 # ã¹ã¿ãã¯é åã®èªåå²ä»ã 388 389 istksz = AllocStack("_kernel_istack", params[:istksz]) 389 390 istk = "_kernel_istack" 390 391 else … … 399 400 end 400 401 401 $kernelCfgC.a ppend(<<EOS)402 $kernelCfgC.add(<<EOS) 402 403 const size_t _kernel_istksz = #{istksz}; 403 404 STK_T *const _kernel_istk = #{istk}; … … 406 407 STK_T *const _kernel_istkpt = TOPPERS_ISTKPT(#{istk}, #{istksz}); 407 408 #endif /* TOPPERS_ISTKPT */ 408 409 EOS 410 411 # 409 EOS 410 411 # 412 412 # ã¿ã¤ã ã¤ãã³ã管ç 413 # 413 # 414 414 $kernelCfgC.comment_header("Time Event Management") 415 $kernelCfgC.a ppend(<<EOS)415 $kernelCfgC.add(<<EOS) 416 416 TMEVTN _kernel_tmevt_heap[1 + TNUM_TSKID + TNUM_CYCID + TNUM_ALMID]; 417 418 EOS 419 420 # 417 EOS 418 419 # 421 420 # åã¢ã¸ã¥ã¼ã«ã®åæåé¢æ° 422 # 421 # 423 422 $kernelCfgC.comment_header("Module Initialization Function") 424 423 $kernelCfgC.append(<<EOS) … … 428 427 EOS 429 428 $initializeFunctions.each do |func| 430 429 $kernelCfgC.add("\t#{func}") 431 430 end 432 431 $kernelCfgC.add2("}") 433 432 434 # 433 # 435 434 # åæåã«ã¼ãã³æ©è½ 436 # 437 # 435 # 438 436 $kernelCfgC.comment_header("Initialization Routine") 439 437 … … 442 440 # iniatrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI3241ï¼½ 443 441 #ï¼TA_NULLã§ãªãå ´åï¼ 444 if (params[:iniatr] != 0)442 if (params[:iniatr] != $TA_NULL) 445 443 error_illegal_sym("E_RSATR", params, :iniatr, :inirtn) 446 444 end … … 459 457 $kernelCfgC.add2("}") 460 458 461 # 459 # 462 460 # çµäºå¦çã«ã¼ãã³æ©è½ 463 # 461 # 464 462 $kernelCfgC.comment_header("Termination Routine") 465 463 … … 468 466 # teratrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI3248ï¼½ 469 467 #ï¼TA_NULLã§ãªãå ´åï¼ 470 if (params[:teratr] != 0)468 if (params[:teratr] != $TA_NULL) 471 469 error_illegal_sym("E_RSATR", params, :teratr, :terrtn) 472 470 end -
asp3_wo_tecs/trunk/kernel/kernel_api.def
r304 r306 1 CRE_TSK #tskid* { .tskatr &exinf &task +itskpri .stksz &stk }1 CRE_TSK #tskid* { .tskatr &exinf &task +itskpri .stksz &stk? } 2 2 CRE_SEM #semid* { .sematr .isemcnt .maxsem } 3 3 CRE_FLG #flgid* { .flgatr .iflgptn } 4 CRE_DTQ #dtqid* { .dtqatr .dtqcnt &dtqmb }5 CRE_PDQ #pdqid* { .pdqatr .pdqcnt +maxdpri &pdqmb }4 CRE_DTQ #dtqid* { .dtqatr .dtqcnt &dtqmb? } 5 CRE_PDQ #pdqid* { .pdqatr .pdqcnt +maxdpri &pdqmb? } 6 6 CRE_MTX #mtxid* { .mtxatr +ceilpri? } 7 CRE_MPF #mpfid* { .mpfatr .blkcnt .blksz &mpf &mpfmb}7 CRE_MPF #mpfid* { .mpfatr .blkcnt .blksz &mpf? &mpfmb? } 8 8 CRE_CYC #cycid* { .cycatr { .nfymode &par1 &par2? &par3? &par4? } .cyctim .cycphs } 9 9 CRE_ALM #almid* { .almatr { .nfymode &par1 &par2? &par3? &par4? } } … … 12 12 DEF_INH .inhno* { .inhatr &inthdr } 13 13 DEF_EXC .excno* { .excatr &exchdr } 14 DEF_ICS { .istksz &istk }14 DEF_ICS { .istksz &istk? } 15 15 ATT_INI { .iniatr &exinf &inirtn } 16 16 ATT_TER { .teratr &exinf &terrtn } -
asp3_wo_tecs/trunk/kernel/kernel_check.trb
r305 r306 53 53 # ã®è²¬ä»»ãè² ããªãï¼ 54 54 # 55 # $Id: kernel_check.trb 588 2016-02-05 12:54:58Z ertl-hiro $55 # $Id: kernel_check.trb 662 2016-02-27 02:33:51Z ertl-hiro $ 56 56 # 57 57 … … 79 79 elsif startIdata.nil? 80 80 error_exit("symbol `lma[:START_IDATA]' not found") 81 else 82 BCOPY(startIdata, startData, endData - startData) 81 83 end 82 84 end … … 87 89 å ±ã®ãã§ãã¯é¢æ° 88 90 # 89 $tmax_tskid = PEEK(SYMBOL("_kernel_tmax_tskid"), $sizeof_ID)90 $tmax_semid = PEEK(SYMBOL("_kernel_tmax_semid"), $sizeof_ID)91 $tmax_flgid = PEEK(SYMBOL("_kernel_tmax_flgid"), $sizeof_ID)92 $tmax_dtqid = PEEK(SYMBOL("_kernel_tmax_dtqid"), $sizeof_ID)91 $tmax_tskid = $TMIN_TSKID + $cfgData[:CRE_TSK].size - 1 92 $tmax_semid = $TMIN_SEMID + $cfgData[:CRE_SEM].size - 1 93 $tmax_flgid = $TMIN_FLGID + $cfgData[:CRE_FLG].size - 1 94 $tmax_dtqid = $TMIN_DTQID + $cfgData[:CRE_DTQ].size - 1 93 95 94 96 def checkNotifyHandler(key, params, objid, exinf, nfyhdr) … … 122 124 error_wrong_id("E_PAR", params1, :tmehdr, objid, "not aligned") 123 125 end 124 if $CHECK_FUNC_NONNULL == 1&& tmehdr == 0126 if $CHECK_FUNC_NONNULL && tmehdr == 0 125 127 error_wrong_id("E_PAR", params1, :tmehdr, objid, "null") 126 128 end … … 138 140 error_wrong_id("E_PAR", params1, :p_var, objid, "not aligned") 139 141 end 140 if $CHECK_INTPTR_NONNULL == 1&& p_var == 0142 if $CHECK_INTPTR_NONNULL && p_var == 0 141 143 error_wrong_id("E_PAR", params1, :p_var, objid, "null") 142 144 end … … 194 196 error_wrong_id("E_PAR", params1, :p_var, objid, "not aligned") 195 197 end 196 if $CHECK_INTPTR_NONNULL == 1&& p_var == 0198 if $CHECK_INTPTR_NONNULL && p_var == 0 197 199 error_wrong_id("E_PAR", params1, :p_var, objid, "null") 198 200 end … … 244 246 # 245 247 tinib = SYMBOL("_kernel_tinib_table") 246 $cfgData[:CRE_TSK].each do |key, params| 248 $cfgData[:CRE_TSK].sort.each do |key, params| 249 task = PEEK(tinib + $offsetof_TINIB_task, $sizeof_TASK) 250 247 251 # ã¿ã¹ã¯ã®å 248 252 é çªå°ã®ãã§ãã¯ï¼»NGKI1033ï¼½ 249 task = PEEK(tinib + $offsetof_TINIB_task, $sizeof_FP)250 253 if (task & ($CHECK_FUNC_ALIGN - 1)) != 0 251 254 error_wrong_id("E_PAR", params, :task, :tskid, "not aligned") 252 255 end 253 if $CHECK_FUNC_NONNULL == 1&& task == 0256 if $CHECK_FUNC_NONNULL && task == 0 254 257 error_wrong_id("E_PAR", params, :task, :tskid, "null") 255 258 end … … 257 260 # ã¿ã¹ã¯ã®ã¹ã¿ãã¯é åã®å 258 261 é çªå°ã®ãã§ãã¯ï¼»NGKI1056ï¼½ 259 if $USE_TSKINICTXB == 1260 stk = GetStackTskinictxb(key, params )262 if $USE_TSKINICTXB 263 stk = GetStackTskinictxb(key, params, tinib) 261 264 else 262 265 stk = PEEK(tinib + $offsetof_TINIB_stk, $sizeof_void_ptr) … … 265 268 error_wrong_id("E_PAR", params, :stk, :tskid, "not aligned") 266 269 end 267 if $CHECK_STACK_NONNULL == 1&& stk == 0270 if $CHECK_STACK_NONNULL && stk == 0 268 271 error_wrong_id("E_PAR", params, :stk, :tskid, "null") 269 272 end … … 276 279 # 277 280 mpfinib = SYMBOL("_kernel_mpfinib_table") 278 $cfgData[:CRE_MPF]. each do |key, params|281 $cfgData[:CRE_MPF].sort.each do |key, params| 279 282 mpf = PEEK(mpfinib + $offsetof_MPFINIB_mpf, $sizeof_void_ptr) 280 283 … … 284 287 error_wrong_id("E_PAR", params, :mpf, :mpfid, "not aligned") 285 288 end 286 if $CHECK_MPF_NONNULL == 1&& mpf == 0289 if $CHECK_MPF_NONNULL && mpf == 0 287 290 error_wrong_id("E_PAR", params, :mpf, :mpfid, "null") 288 291 end … … 295 298 # 296 299 cycinib = SYMBOL("_kernel_cycinib_table") 297 $cfgData[:CRE_CYC]. each do |key, params|300 $cfgData[:CRE_CYC].sort.each do |key, params| 298 301 exinf = PEEK(cycinib + $offsetof_CYCINIB_exinf, $sizeof_intptr_t) 299 nfyhdr = PEEK(cycinib + $offsetof_CYCINIB_nfyhdr, $sizeof_ FP)302 nfyhdr = PEEK(cycinib + $offsetof_CYCINIB_nfyhdr, $sizeof_NFYHDR) 300 303 301 304 # éç¥æ … … 310 313 # 311 314 alminib = SYMBOL("_kernel_alminib_table") 312 $cfgData[:CRE_ALM]. each do |key, params|315 $cfgData[:CRE_ALM].sort.each do |key, params| 313 316 exinf = PEEK(alminib + $offsetof_ALMINIB_exinf, $sizeof_intptr_t) 314 nfyhdr = PEEK(alminib + $offsetof_ALMINIB_nfyhdr, $sizeof_ FP)317 nfyhdr = PEEK(alminib + $offsetof_ALMINIB_nfyhdr, $sizeof_NFYHDR) 315 318 316 319 # éç¥æ … … 324 327 # éã¿ã¹ã¯ã³ã³ããã¹ãç¨ã®ã¹ã¿ãã¯é åã«é¢ãããã§ã㯠325 328 # 326 istk = PEEK(SYMBOL("_kernel_istk"), $sizeof_void_ptr) 327 328 # éã¿ã¹ã¯ã³ã³ããã¹ãç¨ã®ã¹ã¿ãã¯é åã®å 329 istkAddr = SYMBOL("_kernel_istk") 330 if !istkAddr.nil? 331 istk = PEEK(istkAddr, $sizeof_void_ptr) 332 333 # éã¿ã¹ã¯ã³ã³ããã¹ãç¨ã®ã¹ã¿ãã¯é åã®å 329 334 é çªå°ã®ãã§ãã¯ï¼»NGKI3222ï¼½ 330 if (istk & ($CHECK_STACK_ALIGN - 1)) != 0 331 error_wrong("E_PAR", $cfgData[:DEF_ICS][1], :istk, "not aligned") 332 end 333 if $CHECK_STACK_NONNULL == 1 && istk == 0 334 error_wrong("E_PAR", $cfgData[:DEF_ICS][1], :istk, "null") 335 end 335 if (istk & ($CHECK_STACK_ALIGN - 1)) != 0 336 error_wrong("E_PAR", $cfgData[:DEF_ICS][1], :istk, "not aligned") 337 end 338 if $CHECK_STACK_NONNULL && istk == 0 339 error_wrong("E_PAR", $cfgData[:DEF_ICS][1], :istk, "null") 340 end 341 end -
asp3_wo_tecs/trunk/kernel/kernel_impl.h
r302 r306 6 6 * Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory 7 7 * Toyohashi Univ. of Technology, JAPAN 8 * Copyright (C) 2004-201 5by Embedded and Real-Time Systems Laboratory8 * Copyright (C) 2004-2016 by Embedded and Real-Time Systems Laboratory 9 9 * Graduate School of Information Science, Nagoya Univ., JAPAN 10 10 * … … 53 53 * ã®è²¬ä»»ãè² ããªãï¼ 54 54 * 55 * $Id: kernel_impl.h 332 2015-06-21 13:20:37Z ertl-hiro $55 * $Id: kernel_impl.h 706 2016-03-29 14:19:40Z ertl-hiro $ 56 56 */ 57 57 … … 88 88 */ 89 89 #include <t_syslog.h> 90 91 /*92 * åãã£ã¹ããè¡ããã¯ãã®å®ç¾©93 */94 #ifndef CAST95 #define CAST(type, val) ((type)(val))96 #endif /* CAST */97 90 98 91 /* -
asp3_wo_tecs/trunk/kernel/kernel_sym.def
r305 r306 1 USE_EXTERNAL_ID, 1,,defined(USE_EXTERNAL_ID)2 SIL_ENDIAN_BIG, 1,,defined(SIL_ENDIAN_BIG)3 SIL_ENDIAN_LITTLE, 1,,defined(SIL_ENDIAN_LITTLE)1 USE_EXTERNAL_ID,true,bool,defined(USE_EXTERNAL_ID) 2 SIL_ENDIAN_BIG,true,bool,defined(SIL_ENDIAN_BIG) 3 SIL_ENDIAN_LITTLE,true,bool,defined(SIL_ENDIAN_LITTLE) 4 4 TA_NULL 5 5 TA_ACT … … 48 48 TMIN_CYCID,,signed 49 49 TMIN_ALMID,,signed 50 USE_TSKINICTXB, 1,,defined(USE_TSKINICTXB)51 OMIT_INITIALIZE_INTERRUPT, 1,,defined(OMIT_INITIALIZE_INTERRUPT)52 USE_INHINIB_TABLE, 1,,defined(USE_INHINIB_TABLE)53 USE_INTINIB_TABLE, 1,,defined(USE_INTINIB_TABLE)54 OMIT_INITIALIZE_EXCEPTION, 1,,defined(OMIT_INITIALIZE_EXCEPTION)50 USE_TSKINICTXB,true,bool,defined(USE_TSKINICTXB) 51 OMIT_INITIALIZE_INTERRUPT,true,bool,defined(OMIT_INITIALIZE_INTERRUPT) 52 USE_INHINIB_TABLE,true,bool,defined(USE_INHINIB_TABLE) 53 USE_INTINIB_TABLE,true,bool,defined(USE_INTINIB_TABLE) 54 OMIT_INITIALIZE_EXCEPTION,true,bool,defined(OMIT_INITIALIZE_EXCEPTION) 55 55 DEFAULT_ISTK,,,defined(DEFAULT_ISTK) 56 56 TARGET_TSKATR,,,defined(TARGET_TSKATR),0 … … 63 63 CHECK_STKSZ_ALIGN,,,defined(CHECK_STKSZ_ALIGN),1 64 64 CHECK_INTPTR_ALIGN,,,defined(CHECK_INTPTR_ALIGN),1 65 CHECK_INTPTR_NONNULL, 1,,defined(CHECK_INTPTR_NONNULL)65 CHECK_INTPTR_NONNULL,true,bool,defined(CHECK_INTPTR_NONNULL) 66 66 CHECK_FUNC_ALIGN,,,defined(CHECK_FUNC_ALIGN),1 67 CHECK_FUNC_NONNULL, 1,,defined(CHECK_FUNC_NONNULL)67 CHECK_FUNC_NONNULL,true,bool,defined(CHECK_FUNC_NONNULL) 68 68 CHECK_STACK_ALIGN,,,defined(CHECK_STACK_ALIGN),1 69 CHECK_STACK_NONNULL, 1,,defined(CHECK_STACK_NONNULL)69 CHECK_STACK_NONNULL,true,bool,defined(CHECK_STACK_NONNULL) 70 70 CHECK_MPF_ALIGN,,,defined(CHECK_MPF_ALIGN),1 71 CHECK_MPF_NONNULL, 1,,defined(CHECK_MPF_NONNULL)71 CHECK_MPF_NONNULL,true,bool,defined(CHECK_MPF_NONNULL) 72 72 sizeof_void_ptr,sizeof(void*) 73 73 sizeof_uint_t,sizeof(uint_t) … … 76 76 sizeof_ID,sizeof(ID) 77 77 sizeof_FP,sizeof(FP) 78 sizeof_INTNO,sizeof(INTNO) 78 79 sizeof_INHNO,sizeof(INHNO) 79 sizeof_INTNO,sizeof(INTNO)80 80 sizeof_EXCNO,sizeof(EXCNO) 81 sizeof_TASK,sizeof(TASK) 82 sizeof_TMEHDR,sizeof(TMEHDR) 83 sizeof_ISR,sizeof(ISR) 84 sizeof_INTHDR,sizeof(INTHDR) 85 sizeof_EXCHDR,sizeof(EXCHDR) 86 sizeof_INIRTN,sizeof(INIRTN) 87 sizeof_TERRTN,sizeof(TERRTN) 88 sizeof_NFYHDR,sizeof(NFYHDR) 81 89 sizeof_TINIB,sizeof(TINIB) 82 90 offsetof_TINIB_tskatr,"offsetof(TINIB,tskatr)" -
asp3_wo_tecs/trunk/kernel/mempfix.trb
r305 r306 53 53 # ã®è²¬ä»»ãè² ããªãï¼ 54 54 # 55 # $Id: mempfix.trb 588 2016-02-05 12:54:58Z ertl-hiro $55 # $Id: mempfix.trb 672 2016-03-05 15:33:08Z ertl-hiro $ 56 56 # 57 57 … … 66 66 67 67 def prepare(key, params) 68 # ãã©ã¡ã¼ã¿ãçç¥ãããæã®ããã©ã«ãå¤ã®è¨å® 69 params[:mpf] ||= "NULL" 70 params[:mpfmb] ||= "NULL" 71 68 72 # mpfatrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI2225ï¼½ 69 73 #ï¼TA_TPRI以å¤ã®ããããã»ããããã¦ããå ´åï¼ … … 72 76 end 73 77 74 # blkcntã0 以ä¸ã®å ´åï¼E_PARï¼ï¼»NGKI2229ï¼½75 if params[:blkcnt] <= 078 # blkcntã0ã®å ´åï¼E_PARï¼ï¼»NGKI2229ï¼½ 79 if params[:blkcnt] == 0 76 80 error_illegal_id("E_PAR", params, :blkcnt, :mpfid) 77 81 end 78 82 79 # blkszã0 以ä¸ã®å ´åï¼E_PARï¼ï¼»NGKI2230ï¼½80 if params[:blksz] <= 083 # blkszã0ã®å ´åï¼E_PARï¼ï¼»NGKI2230ï¼½ 84 if params[:blksz] == 0 81 85 error_illegal_id("E_PAR", params, :blksz, :mpfid) 82 86 end … … 84 88 # åºå®é·ã¡ã¢ãªãã¼ã«é å 85 89 if params[:mpf] == "NULL" 86 $kernelCfgC.add("static MPF_T _kernel_mpf_#{params[:mpfid]}" \ 90 mpfName = "_kernel_mpf_#{params[:mpfid]}" 91 $kernelCfgC.add("static MPF_T #{mpfName}" \ 87 92 "[#{params[:blkcnt]} * COUNT_MPF_T(#{params[:blksz]})];") 93 params[:mpfinib_mpf] = mpfName 94 else 95 params[:mpfinib_mpf] = "(void *)(#{params[:mpf]})" 88 96 end 89 97 90 98 # mpfmbãNULLã§ãªãå ´åï¼E_NOSPTï¼ï¼»ASPS0166ï¼½ 91 99 if params[:mpfmb] != "NULL" 92 error_illegal_id("E_ PAR", params, :mpfmb, :mpfid)100 error_illegal_id("E_NOSPT", params, :mpfmb, :mpfid) 93 101 end 94 102 95 103 # åºå®é·ã¡ã¢ãªãã¼ã«ç®¡çé å 96 $kernelCfgC.add("static MPFMB _kernel_mpfmb_#{params[:mpfid]}" \ 97 "[#{params[:blkcnt]}];") 104 mpfmbName = "_kernel_mpfmb_#{params[:mpfid]}" 105 $kernelCfgC.add("static MPFMB #{mpfmbName}[#{params[:blkcnt]}];") 106 params[:mpfinib_mpfmb] = mpfmbName 98 107 end 99 108 100 109 def generateInib(key, params) 101 if params[:mpf] == "NULL"102 mpf = "_kernel_mpf_#{params[:mpfid]}"103 else104 mpf = "(void *)(#{params[:mpf]})"105 end106 110 return("(#{params[:mpfatr]}), (#{params[:blkcnt]}), " \ 107 "ROUND_MPF_T(#{params[:blksz]}), #{mpf}, " \108 "_kernel_mpfmb_#{params[:mpfid]}")111 "ROUND_MPF_T(#{params[:blksz]}), #{params[:mpfinib_mpf]}, " \ 112 "#{params[:mpfinib_mpfmb]}") 109 113 end 110 114 end -
asp3_wo_tecs/trunk/kernel/mutex.trb
r305 r306 53 53 # ã®è²¬ä»»ãè² ããªãï¼ 54 54 # 55 # $Id: mutex.trb 588 2016-02-05 12:54:58Z ertl-hiro $55 # $Id: mutex.trb 630 2016-02-14 11:30:17Z ertl-hiro $ 56 56 # 57 57 … … 78 78 # ceilpriãæªæå®ã®å ´åã¯ã¨ã©ã¼ã¨ãã 79 79 if params[:ceilpri].nil? 80 error_api(params, "ceilpri must be specified" \ 81 " in #{params[:apiname]} of #{param[:mtxid]}") 80 error_api(params, "ceilpri must be specified in %apiname of %mtxid") 82 81 83 82 # (TMIN_TPRI <= ceilpri && ceilpri <= TMAX_TPRI)ã§ãªãå ´åï¼E_PARï¼ … … 91 90 # ceilpriãæå®ããã¦ããå ´åã¯è¦åã¡ãã»ã¼ã¸ãåºã 92 91 if !params[:ceilpri].nil? 93 warning_api(params, "ceilpri `#{params[:ceilpri]}' is ignored" \ 94 " in #{params[:apiname]} of #{params[:mtxid]}") 92 warning_api(params, "%%ceilpri is ignored in %apiname of %mtxid") 95 93 end 96 94 params[:ceilpri] = 0 -
asp3_wo_tecs/trunk/kernel/pridataq.trb
r305 r306 53 53 # ã®è²¬ä»»ãè² ããªãï¼ 54 54 # 55 # $Id: pridataq.trb 588 2016-02-05 12:54:58Z ertl-hiro $55 # $Id: pridataq.trb 668 2016-03-03 13:57:53Z ertl-hiro $ 56 56 # 57 57 … … 67 67 68 68 def prepare(key, params) 69 # ãã©ã¡ã¼ã¿ãçç¥ãããæã®ããã©ã«ãå¤ã®è¨å® 70 params[:pdqmb] ||= "NULL" 71 69 72 # pdqatrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI1804ï¼½ 70 73 #ï¼TA_TPRI以å¤ã®ããããã»ããããã¦ããå ´åï¼ … … 81 84 # pdqmbãNULLã§ãªãå ´åï¼E_NOSPTï¼ï¼»ASPS0142ï¼½ 82 85 if params[:pdqmb] != "NULL" 83 error_illegal_id("E_ PAR", params, :pdqmb, :pdqid)86 error_illegal_id("E_NOSPT", params, :pdqmb, :pdqid) 84 87 end 85 88 … … 87 90 度ãã¼ã¿ãã¥ã¼ç®¡çé å 88 91 if params[:pdqcnt] > 0 89 $kernelCfgC.add("static PDQMB _kernel_pdqmb_#{params[:pdqid]}" \ 90 "[#{params[:pdqcnt]}];") 92 pdqmbName = "_kernel_pdqmb_#{params[:pdqid]}" 93 $kernelCfgC.add("static PDQMB #{pdqmbName}[#{params[:pdqcnt]}];") 94 params[:pdqinib_pdqmb] = pdqmbName 95 else 96 params[:pdqinib_pdqmb] = "NULL" 91 97 end 92 98 end 93 99 94 100 def generateInib(key, params) 95 if params[:pdqcnt] > 096 pdqmb = "_kernel_pdqmb_#{params[:pdqid]}"97 else98 pdqmb = "NULL"99 end100 101 return("(#{params[:pdqatr]}), (#{params[:pdqcnt]}), " \ 101 "(#{params[:maxdpri]}), #{pdqmb}")102 "(#{params[:maxdpri]}), #{params[:pdqinib_pdqmb]}") 102 103 end 103 104 end -
asp3_wo_tecs/trunk/kernel/startup.c
r302 r306 6 6 * Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory 7 7 * Toyohashi Univ. of Technology, JAPAN 8 * Copyright (C) 2005-201 4by Embedded and Real-Time Systems Laboratory8 * Copyright (C) 2005-2016 by Embedded and Real-Time Systems Laboratory 9 9 * Graduate School of Information Science, Nagoya Univ., JAPAN 10 10 * … … 53 53 * ã®è²¬ä»»ãè² ããªãï¼ 54 54 * 55 * $Id: startup.c 181 2014-06-14 16:45:07Z ertl-hiro $55 * $Id: startup.c 509 2016-01-12 06:06:14Z ertl-hiro $ 56 56 */ 57 57 -
asp3_wo_tecs/trunk/kernel/sys_manage.c
r302 r306 53 53 * ã®è²¬ä»»ãè² ããªãï¼ 54 54 * 55 * $Id: sys_manage.c 469 2015-12-30 02:38:47Z ertl-hiro $55 * $Id: sys_manage.c 682 2016-03-11 13:52:39Z ertl-hiro $ 56 56 */ 57 57 … … 174 174 /* 175 175 * ã¿ã¹ã¯ã®åªå 176 é ä½ã®å転 176 é ä½ã®å転[NGKI3548ï¼½ 177 177 */ 178 178 #ifdef TOPPERS_rot_rdq … … 185 185 186 186 LOG_ROT_RDQ_ENTER(tskpri); 187 CHECK_UNL(); 187 CHECK_UNL(); /*ï¼»NGKI2684ï¼½*/ 188 188 if (tskpri == TPRI_SELF && !sense_context()) { 189 pri = p_runtsk->bpriority; 189 pri = p_runtsk->bpriority; /*ï¼»NGKI2689ï¼½*/ 190 190 } 191 191 else { 192 CHECK_PAR(VALID_TPRI(tskpri)); 192 CHECK_PAR(VALID_TPRI(tskpri)); /*ï¼»NGKI2685ï¼½*/ 193 193 pri = INT_PRIORITY(tskpri); 194 194 } … … 217 217 * å®è¡ç¶æ 218 218 ã®ã¿ã¹ã¯IDã®åç 219 § 219 §ï¼»NGKI3550ï¼½ 220 220 */ 221 221 #ifdef TOPPERS_get_tid … … 227 227 228 228 LOG_GET_TID_ENTER(p_tskid); 229 CHECK_UNL(); 229 CHECK_UNL(); /*ï¼»NGKI2707ï¼½*/ 230 230 231 231 lock_cpu(); … … 243 243 /* 244 244 * å®è¡ã§ããã¿ã¹ã¯ã®æ°ã®åç 245 § 245 §ï¼»NGKI3623ï¼½ 246 246 */ 247 247 #ifdef TOPPERS_get_lod … … 255 255 256 256 LOG_GET_LOD_ENTER(p_tskid, p_load); 257 CHECK_TSKCTX_UNL(); 257 CHECK_TSKCTX_UNL(); /*ï¼»NGKI3624][NGKI3625ï¼½*/ 258 258 if (tskpri == TPRI_SELF) { 259 pri = p_runtsk->bpriority; 259 pri = p_runtsk->bpriority; /*ï¼»NGKI3631ï¼½*/ 260 260 } 261 261 else { 262 CHECK_PAR(VALID_TPRI(tskpri)); 262 CHECK_PAR(VALID_TPRI(tskpri)); /*ï¼»NGKI3626ï¼½*/ 263 263 pri = INT_PRIORITY(tskpri); 264 264 } … … 285 285 * æå®ããåªå 286 286 é ä½ã®ã¿ã¹ã¯IDã®åç 287 § 287 §ï¼»NGKI3641ï¼½ 288 288 */ 289 289 #ifdef TOPPERS_get_nth … … 298 298 299 299 LOG_GET_NTH_ENTER(p_tskid, nth, p_tskid); 300 CHECK_TSKCTX_UNL(); 300 CHECK_TSKCTX_UNL(); /*ï¼»NGKI3642][NGKI3643ï¼½*/ 301 301 if (tskpri == TPRI_SELF) { 302 pri = p_runtsk->bpriority; 302 pri = p_runtsk->bpriority; /*ï¼»NGKI3650ï¼½*/ 303 303 } 304 304 else { 305 CHECK_PAR(VALID_TPRI(tskpri)); 305 CHECK_PAR(VALID_TPRI(tskpri)); /*ï¼»NGKI3644ï¼½*/ 306 306 pri = INT_PRIORITY(tskpri); 307 307 } … … 331 331 /* 332 332 * CPUããã¯ç¶æ 333 ã¸ã®é·ç§» 333 ã¸ã®é·ç§»ï¼»NGKI3538ï¼½ 334 334 */ 335 335 #ifdef TOPPERS_loc_cpu … … 342 342 LOG_LOC_CPU_ENTER(); 343 343 344 if (!sense_lock()) { 345 lock_cpu(); 344 if (!sense_lock()) { /*ï¼»NGKI2731ï¼½*/ 345 lock_cpu(); /*ï¼»NGKI2730ï¼½*/ 346 346 } 347 347 ercd = E_OK; … … 355 355 /* 356 356 * CPUããã¯ç¶æ 357 ã®è§£é¤ 357 ã®è§£é¤ï¼»NGKI3539ï¼½ 358 358 * 359 359 * CPUããã¯ä¸ã¯ï¼ãã£ã¹ããããå¿ … … 373 373 LOG_UNL_CPU_ENTER(); 374 374 375 if (sense_lock()) { 376 unlock_cpu(); 375 if (sense_lock()) { /*ï¼»NGKI2738ï¼½*/ 376 unlock_cpu(); /*ï¼»NGKI2737ï¼½*/ 377 377 } 378 378 ercd = E_OK; … … 385 385 386 386 /* 387 * ãã£ã¹ãããã®ç¦æ¢ 387 * ãã£ã¹ãããã®ç¦æ¢ï¼»NGKI2740ï¼½ 388 388 */ 389 389 #ifdef TOPPERS_dis_dsp … … 395 395 396 396 LOG_DIS_DSP_ENTER(); 397 CHECK_TSKCTX_UNL(); 397 CHECK_TSKCTX_UNL(); /*ï¼»NGKI2741][NGKI2742ï¼½*/ 398 398 399 399 lock_cpu(); … … 411 411 412 412 /* 413 * ãã£ã¹ãããã®è¨±å¯ 413 * ãã£ã¹ãããã®è¨±å¯ï¼»NGKI2746ï¼½ 414 414 */ 415 415 #ifdef TOPPERS_ena_dsp … … 421 421 422 422 LOG_ENA_DSP_ENTER(); 423 CHECK_TSKCTX_UNL(); 423 CHECK_TSKCTX_UNL(); /*ï¼»NGKI2747][NGKI2748ï¼½*/ 424 424 425 425 lock_cpu(); … … 454 454 /* 455 455 * ã³ã³ããã¹ãã®åç 456 § 456 §ï¼»NGKI2752ï¼½ 457 457 */ 458 458 #ifdef TOPPERS_sns_ctx … … 474 474 * CPUããã¯ç¶æ 475 475 ã®åç 476 § 476 §ï¼»NGKI2754ï¼½ 477 477 */ 478 478 #ifdef TOPPERS_sns_loc … … 494 494 * ãã£ã¹ãããç¦æ¢ç¶æ 495 495 ã®åç 496 § 496 §ï¼»NGKI2756ï¼½ 497 497 */ 498 498 #ifdef TOPPERS_sns_dsp … … 514 514 * ãã£ã¹ãããä¿çç¶æ 515 515 ã®åç 516 § 516 §ï¼»NGKI2758ï¼½ 517 517 */ 518 518 #ifdef TOPPERS_sns_dpn … … 534 534 * ã«ã¼ãã«éåä½ç¶æ 535 535 ã®åç 536 § 536 §ï¼»NGKI2760ï¼½ 537 537 */ 538 538 #ifdef TOPPERS_sns_ker -
asp3_wo_tecs/trunk/kernel/task.trb
r305 r306 53 53 # ã®è²¬ä»»ãè² ããªãï¼ 54 54 # 55 # $Id: task.trb 596 2016-02-06 17:08:56Z ertl-hiro $55 # $Id: task.trb 668 2016-03-03 13:57:53Z ertl-hiro $ 56 56 # 57 57 … … 66 66 67 67 def prepare(key, params) 68 # ãã©ã¡ã¼ã¿ãçç¥ãããæã®ããã©ã«ãå¤ã®è¨å® 69 params[:stk] ||= "NULL" 70 68 71 # tskatrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI1028ï¼½ 69 72 #ï¼TA_ACTï¼TA_NOACTQUEï¼TARGET_TSKATR以å¤ã®ããããã»ããããã¦ããå ´åï¼ … … 85 88 # ã¹ã¿ãã¯é åã®è¨å®ï¼»NGKI1041ï¼½ 86 89 if params[:stk] == "NULL" 87 params[:tinib_stksz] = AllocStack("_kernel_stack_#{params[:tskid]}", \ 88 params[:stksz]) 89 params[:tinib_stk] = "_kernel_stack_#{params[:tskid]}" 90 # ã¹ã¿ãã¯é åã®çæï¼»NGKI1049ï¼½ 91 stkName = "_kernel_stack_#{params[:tskid]}" 92 params[:tinib_stksz] = AllocStack(stkName, params[:stksz]) 93 params[:tinib_stk] = stkName 90 94 else 91 95 # stkszãã¹ã¿ãã¯é åã®ãµã¤ãºã¨ãã¦æ£ãããªãå ´åï¼»NGKI1056ï¼½ … … 100 104 101 105 def generateInib(key, params) 102 if $USE_TSKINICTXB == 1106 if $USE_TSKINICTXB 103 107 tskinictxb = GenerateTskinictxb(key, params) 104 108 else -
asp3_wo_tecs/trunk/kernel/time_event.c
r305 r306 6 6 * Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory 7 7 * Toyohashi Univ. of Technology, JAPAN 8 * Copyright (C) 2005-201 5by Embedded and Real-Time Systems Laboratory8 * Copyright (C) 2005-2016 by Embedded and Real-Time Systems Laboratory 9 9 * Graduate School of Information Science, Nagoya Univ., JAPAN 10 10 * … … 53 53 * ã®è²¬ä»»ãè² ããªãï¼ 54 54 * 55 * $Id: time_event.c 451 2015-08-14 15:29:07Z ertl-hiro $55 * $Id: time_event.c 532 2016-01-15 14:48:04Z ertl-hiro $ 56 56 */ 57 57
Note:
See TracChangeset
for help on using the changeset viewer.