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_check.trb

    r305 r306  
    5353#   ã®è²¬ä»»ã‚’負わない.
    5454#
    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 $
    5656
    5757
     
    7979    elsif startIdata.nil?
    8080      error_exit("symbol `lma[:START_IDATA]' not found")
     81    else
     82      BCOPY(startIdata, startData, endData - startData)
    8183    end
    8284  end
     
    8789報のチェック関数
    8890#
    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
    9395
    9496def checkNotifyHandler(key, params, objid, exinf, nfyhdr)
     
    122124      error_wrong_id("E_PAR", params1, :tmehdr, objid, "not aligned")
    123125    end
    124     if $CHECK_FUNC_NONNULL == 1 && tmehdr == 0
     126    if $CHECK_FUNC_NONNULL && tmehdr == 0
    125127      error_wrong_id("E_PAR", params1, :tmehdr, objid, "null")
    126128    end
     
    138140      error_wrong_id("E_PAR", params1, :p_var, objid, "not aligned")
    139141    end
    140     if $CHECK_INTPTR_NONNULL == 1 && p_var == 0
     142    if $CHECK_INTPTR_NONNULL && p_var == 0
    141143      error_wrong_id("E_PAR", params1, :p_var, objid, "null")
    142144    end
     
    194196      error_wrong_id("E_PAR", params1, :p_var, objid, "not aligned")
    195197    end
    196     if $CHECK_INTPTR_NONNULL == 1 && p_var == 0
     198    if $CHECK_INTPTR_NONNULL && p_var == 0
    197199      error_wrong_id("E_PAR", params1, :p_var, objid, "null")
    198200    end
     
    244246#
    245247tinib = 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
    247251  # タスクのå
    248252ˆé ­ç•ªåœ°ã®ãƒã‚§ãƒƒã‚¯ï¼»NGKI1033ï¼½
    249   task = PEEK(tinib + $offsetof_TINIB_task, $sizeof_FP)
    250253  if (task & ($CHECK_FUNC_ALIGN - 1)) != 0
    251254    error_wrong_id("E_PAR", params, :task, :tskid, "not aligned")
    252255  end
    253   if $CHECK_FUNC_NONNULL == 1 && task == 0
     256  if $CHECK_FUNC_NONNULL && task == 0
    254257    error_wrong_id("E_PAR", params, :task, :tskid, "null")
    255258  end
     
    257260  # タスクのスタック領域のå
    258261ˆé ­ç•ªåœ°ã®ãƒã‚§ãƒƒã‚¯ï¼»NGKI1056ï¼½
    259   if $USE_TSKINICTXB == 1
    260     stk = GetStackTskinictxb(key, params)
     262  if $USE_TSKINICTXB
     263    stk = GetStackTskinictxb(key, params, tinib)
    261264  else
    262265    stk = PEEK(tinib + $offsetof_TINIB_stk, $sizeof_void_ptr)
     
    265268    error_wrong_id("E_PAR", params, :stk, :tskid, "not aligned")
    266269  end
    267   if $CHECK_STACK_NONNULL == 1 && stk == 0
     270  if $CHECK_STACK_NONNULL && stk == 0
    268271    error_wrong_id("E_PAR", params, :stk, :tskid, "null")
    269272  end
     
    276279#
    277280mpfinib = SYMBOL("_kernel_mpfinib_table")
    278 $cfgData[:CRE_MPF].each do |key, params|
     281$cfgData[:CRE_MPF].sort.each do |key, params|
    279282  mpf = PEEK(mpfinib + $offsetof_MPFINIB_mpf, $sizeof_void_ptr)
    280283
     
    284287    error_wrong_id("E_PAR", params, :mpf, :mpfid, "not aligned")
    285288  end
    286   if $CHECK_MPF_NONNULL == 1 && mpf == 0
     289  if $CHECK_MPF_NONNULL && mpf == 0
    287290    error_wrong_id("E_PAR", params, :mpf, :mpfid, "null")
    288291  end
     
    295298#
    296299cycinib = SYMBOL("_kernel_cycinib_table")
    297 $cfgData[:CRE_CYC].each do |key, params|
     300$cfgData[:CRE_CYC].sort.each do |key, params|
    298301  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)
    300303
    301304  #     é€šçŸ¥æƒ
     
    310313#
    311314alminib = SYMBOL("_kernel_alminib_table")
    312 $cfgData[:CRE_ALM].each do |key, params|
     315$cfgData[:CRE_ALM].sort.each do |key, params|
    313316  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)
    315318
    316319  #     é€šçŸ¥æƒ
     
    324327#  非タスクコンテキスト用のスタック領域に関するチェック
    325328#
    326 istk = PEEK(SYMBOL("_kernel_istk"), $sizeof_void_ptr)
    327 
    328 # 非タスクコンテキスト用のスタック領域のå
     329istkAddr = SYMBOL("_kernel_istk")
     330if !istkAddr.nil?
     331  istk = PEEK(istkAddr, $sizeof_void_ptr)
     332
     333  # 非タスクコンテキスト用のスタック領域のå
    329334ˆé ­ç•ªåœ°ã®ãƒã‚§ãƒƒã‚¯ï¼»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
     341end
Note: See TracChangeset for help on using the changeset viewer.