source: asp3_gr_sakura/trunk/kernel/overrun.trb@ 317

Last change on this file since 317 was 317, checked in by coas-nagasima, 7 years ago

GR-SAKURA向けASP3を追加

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/x-ruby
File size: 3.9 KB
Line 
1# -*- coding: utf-8 -*-
2#
3# TOPPERS/ASP Kernel
4# Toyohashi Open Platform for Embedded Real-Time Systems/
5# Advanced Standard Profile Kernel
6#
7# Copyright (C) 2015 by FUJI SOFT INCORPORATED, JAPAN
8# Copyright (C) 2015,2016 by Embedded and Real-Time Systems Laboratory
9# Graduate School of Information Science, Nagoya Univ., JAPAN
10#
11# 上記著作権者
12は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
13# ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
14# 変・再é…
15å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
16# (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
17# 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
18# スコード中に含まれていること.
19# (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
20# 用できる形で再é…
21å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é…
22å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
23# 者
24マニュアルなど)に,上記の著作権表示,この利用条件および下記
25# の無保証規定を掲載すること.
26# (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
27# 用できない形で再é…
28å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
29# と.
30# (a) 再é…
31å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€…
32マニュアルなど)に,上記の著
33# 作権表示,この利用条件および下記の無保証規定を掲載すること.
34# (b) 再é…
35å¸ƒã®å½¢æ…
36‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
37# 報告すること.
38# (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
39# 害からも,上記著作権者
40およびTOPPERSプロジェクトをå…
41è²¬ã™ã‚‹ã“と.
42# また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
43# 由に基づく請求からも,上記著作権者
44およびTOPPERSプロジェクトを
45# å…
46è²¬ã™ã‚‹ã“と.
47#
48# 本ソフトウェアは,無保証で提供されているものである.上記著作権者
49お
50# よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
51# に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
52# アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
53# の責任を負わない.
54#
55# $Id: overrun.trb 581 2016-02-04 06:23:23Z ertl-hiro $
56#
57
58#
59# オーバランハンドラ機能の生成スクリプト
60#
61
62#
63# オーバランハンドラがサポートされていない場合のエラーチェック
64#
65if !$TOPPERS_SUPPORT_OVRHDR
66 if $cfgData.has_key?(:DEF_OVR)
67 error("E_NOSPT: DEF_OVR is not supported on this target")
68 end
69end
70
71#
72# オーバランハンドラ機能に関する情
73報の生成
74#
75$kernelCfgC.comment_header("Overrun Handler Functions")
76
77if $cfgData[:DEF_OVR].size() > 0
78 # 静的API「DEF_OVR」が複数ある(E_OBJ)[NGKI2619]
79 if $cfgData[:DEF_OVR].size() > 1
80 error("E_OBJ: too many DEF_OVR")
81 end
82
83 params = $cfgData[:DEF_OVR][1]
84
85 # ovratrが無効の場合(E_RSATR)[NGKI2612]
86 #(TA_NULLでない場合)
87 if params[:ovratr] != $TA_NULL
88 error_illegal("E_RSATR", params, :ovratr)
89 end
90
91 # オーバランハンドラ初期化ブロックの生成
92 $kernelCfgC.add("const OVRINIB _kernel_ovrinib[1] = {")
93 $kernelCfgC.add("\t{ (#{params[:ovratr]}), (OVRHDR)(#{params[:ovrhdr]}) }")
94 $kernelCfgC.add2("};")
95
96 # オーバランハンドラ機能初期化関数の追加
97 $initializeFunctions.push("_kernel_initialize_overrun();")
98else
99 $kernelCfgC.add2("TOPPERS_EMPTY_LABEL(const OVRINIB, _kernel_ovrinib);")
100end
Note: See TracBrowser for help on using the repository browser.