source: ssp_armv6_m_gcc/branches/rubycfg/armv6_m_gcc/prc_check.trb@ 414

Last change on this file since 414 was 414, checked in by nmir-saito, 4 years ago

support ruby configurator(file's charactor code is converted to UTF-8)

  • Property svn:mime-type set to text/plain; charset=utf-8
File size: 1.6 KB
Line 
1# -*- coding: utf-8 -*-
2#
3# パス3の生成スクリプトのコア依存部(ARM用)
4#
5# $Id: core_check.trb 730 2016-04-03 02:04:52Z ertl-hiro $
6#
7
8#
9# ターゲット非依存部のインクルード
10#
11IncludeTrb("kernel/kernel_check.trb")
12
13#
14# 割込みハンドラテーブルに関するチェック
15#
16# DEF_INHで登録した割込みハンドラのみチェックする.逆に言うと,コンフィ
17# ギュレータで生成した割込みハンドラや,default_int_handlerのチェックは
18# 行わない.
19#
20inhinib_entry = SYMBOL("_kernel_inhinib_entry")
21$cfgData[:DEF_INH].each do |key, params|
22 inthdr = PEEK(inhinib_entry, $sizeof_FP)
23
24 # 割込みハンドラの先頭番地のチェック
25 if (inthdr & ($CHECK_FUNC_ALIGN - 1)) != 0
26 error_wrong_id("E_PAR", params, :inthdr, :inhno, "not aligned")
27 end
28 if $CHECK_FUNC_NONNULL && inthdr == 0
29 error_wrong_id("E_PAR", params, :inthdr, :inhno, "null")
30 end
31
32 inhinib_entry += $sizeof_FP
33end
34
35#
36# CPU例外ハンドラテーブルに関するチェック
37#
38# DEF_EXCで登録したCPU例外ハンドラのみチェックする.逆に言うと,
39# default_exc_handlerのチェックは行わない.
40#
41excinib_entry = SYMBOL("_kernel_excinib_entry")
42$cfgData[:DEF_EXC].each do |key, params|
43 exchdr = PEEK(excinib_entry, $sizeof_FP)
44
45 # CPU例外ハンドラの先頭番地のチェック
46 if (exchdr & ($CHECK_FUNC_ALIGN - 1)) != 0
47 error_wrong_id("E_PAR", params, :exchdr, :excno, "not aligned")
48 end
49 if $CHECK_FUNC_NONNULL && exchdr == 0
50 error_wrong_id("E_PAR", params, :exchdr, :excno, "null")
51 end
52
53 excinib_entry += $sizeof_FP
54end
Note: See TracBrowser for help on using the repository browser.