Ignore:
Timestamp:
Jun 27, 2017, 10:53:32 AM (7 years ago)
Author:
ertl-honda
Message:

3.1.0を反映

File:
1 edited

Legend:

Unmodified
Added
Removed
  • asp3_wo_tecs/trunk/kernel/kernel.trb

    r305 r306  
    4545#       å
    4646è²¬ã™ã‚‹ã“と.
    47 #
     47# 
    4848#   æœ¬ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ã¯ï¼Œç„¡ä¿è¨¼ã§æä¾›ã•ã‚Œã¦ã„るものである.上記著作権è€
    4949お
     
    5252#   ã‚¢ã®åˆ©ç”¨ã«ã‚ˆã‚Šç›´æŽ¥çš„または間接的に生じたいかなる損害に関しても,そ
    5353#   ã®è²¬ä»»ã‚’負わない.
    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# 
    5757
    5858#
     
    6060#
    6161
    62 # 
     62#
    6363#  タイムスタンプファイルの指定
    64 # 
     64#
    6565$timeStampFileName = "kernel_cfg.timestamp"
    6666
     
    7070#
    7171$kernelCfgH = GenFile.new("kernel_cfg.h")
    72 $kernelCfgH.append(<<EOS)
     72$kernelCfgH.add(<<EOS)
    7373/* kernel_cfg.h */
    7474#ifndef TOPPERS_KERNEL_CFG_H
    7575#define TOPPERS_KERNEL_CFG_H
    76 
    7776EOS
    7877
     
    8281#
    8382$kernelCfgC = GenFile.new("kernel_cfg.c")
    84 $kernelCfgC.append(<<EOS)
     83$kernelCfgC.add(<<EOS)
    8584/* kernel_cfg.c */
    8685#include "kernel/kernel_int.h"
     
    9089#error The kernel does not match this configuration file.
    9190#endif
    92 
    93 EOS
    94 
    95 #
     91EOS
     92
     93#
    9694#  インクルードディレクティブ(#include)
    97 # 
     95#
    9896$kernelCfgC.comment_header("Include Directives")
    9997$includeFiles.each do |file|
     
    142140
    143141    # オブジェクトのID番号を保持する変数
    144     if !$USE_EXTERNAL_ID.nil?
     142    if $USE_EXTERNAL_ID
    145143      $cfgData[@api].sort.each do |key, params|
    146144        $kernelCfgC.add("const ID #{params[@objid]}_id" \
     
    224222                                                                || (nfymode2 == $TENFY_SETFLG && epar2.nil?)
    225223    # パラメータが足りない場合
    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}")
    228226  elsif (nfymode2 == 0 && !epar1.nil?) \
    229227                                        || (nfymode2 != $TENFY_SETFLG && !epar2.nil?)
    230228    # パラメータが多すぎる場合
    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}")
    233231  elsif nfymode == $TNFY_HANDLER
    234232    # タイムイベントハンドラの呼出し
     
    354352IncludeTrb("kernel/exception.trb")
    355353
    356 # 
     354#
    357355#  非タスクコンテキスト用のスタック領域
    358 # 
     356#
    359357$kernelCfgC.comment_header("Stack Area for Non-task Context")
    360358
    361 if $cfgData[:DEF_ICS].size() == 0
     359if $cfgData[:DEF_ICS].size == 0
    362360  # DEF_ICSがない場合のデフォルト値の設定
    363361  if $DEFAULT_ISTK.nil?
     
    371369else
    372370  # 静的API「DEF_ICS」が複数ある(E_OBJ)[NGKI3216ï¼½
    373   if $cfgData[:DEF_ICS].size() > 1
     371  if $cfgData[:DEF_ICS].size > 1
    374372    error("E_OBJ: too many DEF_ICS")
    375373  end
     
    378376  params = $cfgData[:DEF_ICS][1]
    379377
     378  # パラメータが省略された時のデフォルト値の設定
     379  params[:istk] ||= "NULL"
     380
    380381  # istkszがターゲット定義の最小値(TARGET_MIN_ISTKSZ,未定義の場合は1)
    381382  # よりも小さい場合(E_PAR)[NGKI3254ï¼½
    382   if params[:istksz] <= $TARGET_MIN_ISTKSZ
     383  if params[:istksz] < $TARGET_MIN_ISTKSZ
    383384    error_wrong("E_PAR", params, :istksz, "too small")
    384385  end
    385386
    386   if (params[:istk] == "NULL")
     387  if params[:istk] == "NULL"
    387388    # スタック領域の自動割付け
    388         istksz = AllocStack("_kernel_istack", params[:istksz])
     389    istksz = AllocStack("_kernel_istack", params[:istksz])
    389390    istk = "_kernel_istack"
    390391  else
     
    399400end
    400401
    401 $kernelCfgC.append(<<EOS)
     402$kernelCfgC.add(<<EOS)
    402403const size_t _kernel_istksz = #{istksz};
    403404STK_T *const _kernel_istk = #{istk};
     
    406407STK_T *const _kernel_istkpt = TOPPERS_ISTKPT(#{istk}, #{istksz});
    407408#endif /* TOPPERS_ISTKPT */
    408 
    409 EOS
    410 
    411 #
     409EOS
     410
     411#
    412412#  タイムイベント管理
    413 # 
     413#
    414414$kernelCfgC.comment_header("Time Event Management")
    415 $kernelCfgC.append(<<EOS)
     415$kernelCfgC.add(<<EOS)
    416416TMEVTN   _kernel_tmevt_heap[1 + TNUM_TSKID + TNUM_CYCID + TNUM_ALMID];
    417 
    418 EOS
    419 
    420 #
     417EOS
     418
     419#
    421420#  各モジュールの初期化関数
    422 # 
     421#
    423422$kernelCfgC.comment_header("Module Initialization Function")
    424423$kernelCfgC.append(<<EOS)
     
    428427EOS
    429428$initializeFunctions.each do |func|
    430         $kernelCfgC.add("\t#{func}")
     429  $kernelCfgC.add("\t#{func}")
    431430end
    432431$kernelCfgC.add2("}")
    433432
    434 # 
     433#
    435434#  初期化ルーチン機能
    436 #
    437 #
     435#
    438436$kernelCfgC.comment_header("Initialization Routine")
    439437
     
    442440  # iniatrが無効の場合(E_RSATR)[NGKI3241ï¼½
    443441  #(TA_NULLでない場合)
    444   if (params[:iniatr] != 0)
     442  if (params[:iniatr] != $TA_NULL)
    445443    error_illegal_sym("E_RSATR", params, :iniatr, :inirtn)
    446444  end
     
    459457$kernelCfgC.add2("}")
    460458
    461 # 
     459#
    462460#  終了処理ルーチン機能
    463 # 
     461#
    464462$kernelCfgC.comment_header("Termination Routine")
    465463
     
    468466  # teratrが無効の場合(E_RSATR)[NGKI3248ï¼½
    469467  #(TA_NULLでない場合)
    470   if (params[:teratr] != 0)
     468  if (params[:teratr] != $TA_NULL)
    471469    error_illegal_sym("E_RSATR", params, :teratr, :terrtn)
    472470  end
Note: See TracChangeset for help on using the changeset viewer.