Ignore:
Timestamp:
May 22, 2019, 10:03:37 PM (5 years ago)
Author:
coas-nagasima
Message:

ビルドが通るよう更新

Location:
azure_iot_hub/trunk/asp3_dcre/sample
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • azure_iot_hub/trunk/asp3_dcre/sample/Makefile

    • Property svn:eol-style set to native
    • Property svn:mime-type set to text/x-makefile;charset=UTF-8
    r388 r389  
    99#              Graduate School of Information Science, Nagoya Univ., JAPAN
    1010#
    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 è²¬ã™ã‚‹ã“と.
     11#  上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
     12#  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
     13#  変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
     14#  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
     15#      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
     16#      スコード中に含まれていること.
     17#  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
     18#      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
     19#      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
     20#      の無保証規定を掲載すること.
     21#  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
     22#      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
     23#      と.
     24#    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
     25#        作権表示,この利用条件および下記の無保証規定を掲載すること.
     26#    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
     27#        報告すること.
     28#  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
     29#      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
     30#      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
     31#      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
     32#      免責すること.
    4733#
    48 #  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    49 ãŠ
    50 #  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    51 #  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    52 #  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    53 #  の責任を負わない.
     34#  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     35#  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     36#  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     37#  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     38#  の責任を負わない.
    5439#
    5540#  $Id$
     
    5742
    5843#
    59 ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã®æŒ‡å®šï¼ˆMakefile.targetで上書きされるのを防ぐため)
     44ターゲットの指定(Makefile.targetで上書きされるのを防ぐため)
    6045#
    6146all:
    6247
    6348#
    64 ã‚¿ãƒ¼ã‚²ãƒƒãƒˆç•¥ç§°ã®å®šç¾©
     49ターゲット略称の定義
    6550#
    6651TARGET = @(TARGET)
    6752
    6853#
    69 ãƒ—ログラミング言語の定義
     54プログラミング言語の定義
    7055#
    7156SRCLANG = @(SRCLANG)
     
    8065
    8166#
    82 ã‚½ãƒ¼ã‚¹ãƒ•ã‚¡ã‚¤ãƒ«ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®å®šç¾©
     67ソースファイルのディレクトリの定義
    8368#
    8469SRCDIR = @(SRCDIR)
    8570
    8671#
    87 ã‚ªãƒ–ジェクトファイル名の拡張子の設定
     72オブジェクトファイル名の拡張子の設定
    8873#
    8974OBJEXT = @(OBJEXT)
    9075
    9176#
    92 ã‚«ãƒ¼ãƒãƒ«ãƒ©ã‚¤ãƒ–ラリ(libkernel.a)のディレクトリ名
    93 ï¼ˆã‚«ãƒ¼ãƒãƒ«ãƒ©ã‚¤ãƒ–ラリもmake対象にする時は,空に定義する)
     77カーネルライブラリ(libkernel.a)のディレクトリ名
     78(カーネルライブラリもmake対象にする時は,空に定義する)
    9479#
    9580KERNEL_LIB = @(KERNEL_LIB)
    9681
    9782#
    98 ã‚«ãƒ¼ãƒãƒ«ã‚’関数単位でコンパイルするかどうかの定義
     83カーネルを関数単位でコンパイルするかどうかの定義
    9984#
    10085KERNEL_FUNCOBJS = @(KERNEL_FUNCOBJS)
    10186
    10287#
    103 #  TECSを外すかどうかの定義
     88#  TECSを外すかどうかの定義
    10489#
    10590OMIT_TECS = @(OMIT_TECS)
    10691
    10792#
    108 ãƒˆãƒ¬ãƒ¼ã‚¹ãƒ­ã‚°ã‚’取得するかどうかの定義
     93トレースログを取得するかどうかの定義
    10994#
    11095ENABLE_TRACE = @(ENABLE_TRACE)
    11196
    11297#
    113 é–‹ç™ºãƒ„ール(コンパイラ等)のディレクトリの定義
     98開発ツール(コンパイラ等)のディレクトリの定義
    11499#
    115100DEVTOOLDIR = @(DEVTOOLDIR)
    116101
    117102#
    118 ãƒ¦ãƒ¼ãƒ†ã‚£ãƒªãƒ†ã‚£ãƒ—ログラムの名称
     103ユーティリティプログラムの名称
    119104#
    120105CFG = @(CFG)
     
    122107
    123108#
    124 ã‚ªãƒ–ジェクトファイル名の定義
     109オブジェクトファイル名の定義
    125110#
    126111OBJNAME = asp
     
    134119
    135120#
    136 ä¾å­˜é–¢ä¿‚ファイルを置くディレクトリの定義
     121依存関係ファイルを置くディレクトリの定義
    137122#
    138123DEPDIR = @(DEPDIR)
    139124
    140125#
    141 ã‚¿ãƒ¼ã‚²ãƒƒãƒˆä¾å­˜éƒ¨ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®å®šç¾©
     126ターゲット依存部のディレクトリの定義
    142127#
    143128TARGETDIR = $(SRCDIR)/target/$(TARGET)
    144129
    145130#
    146 ã‚¿ãƒ¼ã‚²ãƒƒãƒˆä¾å­˜ã®å®šç¾©ã®ã‚¤ãƒ³ã‚¯ãƒ«ãƒ¼ãƒ‰
     131ターゲット依存の定義のインクルード
    147132#
    148133include $(TARGETDIR)/Makefile.target
    149134
    150135#
    151 #  TECS生成ファイルのディレクトリの定義
     136#  TECS生成ファイルのディレクトリの定義
    152137#
    153138TECSGENDIR = ./gen
     
    158143
    159144#
    160 #  TECSが生成する定義のインクルード
     145#  TECSが生成する定義のインクルード
    161146#
    162147ifndef OMIT_TECS
     
    166151
    167152#
    168 #  å
    169 ±é€šã‚³ãƒ³ãƒ‘イルオプションの定義
     153#  共通コンパイルオプションの定義
    170154#
    171155COPTS := -g @(COPTS) $(COPTS)
     
    186170
    187171#
    188 ã‚¢ãƒ—リケーションプログラムに関する定義
     172アプリケーションプログラムに関する定義
    189173#
    190174APPLNAME = @(APPLNAME)
     
    208192
    209193#
    210 ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚µãƒ¼ãƒ“スの定義
     194ネットワークサービスの定義
    211195#
    212196
    213197NO_USE_TINET_LIBRARY = true
    214198
    215 ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã®é¸æŠžã€ä½•ã‚Œã‹ä¸€ã¤é¸æŠžã™ã‚‹ã€‚
     199ネットワークインタフェースの選択、何れか一つ選択する。
    216200
    217201NET_IF = ether
    218202
    219 ã‚¤ãƒ¼ã‚µãƒãƒƒãƒˆãƒ»ãƒ‡ã‚£ãƒã‚¤ã‚¹ãƒ‰ãƒ©ã‚¤ãƒã®é¸æŠž
     203イーサネット・ディバイスドライバの選択
    220204
    221205NET_DEV = if_mbed
    222206
    223 ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯å±¤ã®é¸æŠž
     207ネットワーク層の選択
    224208
    225209#SUPPORT_INET6 = true
    226210SUPPORT_INET4 = true
    227211
    228 #  API に組込む機能の選択
     212#  API に組込む機能の選択
    229213
    230214#API_CFG_IP4MAPPED_ADDR = true
    231215
    232 ãƒˆãƒ©ãƒ³ã‚¹ãƒãƒ¼ãƒˆå±¤ã®é¸æŠž
     216トランスポート層の選択
    233217
    234218SUPPORT_TCP = true
     
    236220
    237221#
    238 ã‚·ã‚¹ãƒ†ãƒ ã‚µãƒ¼ãƒ“スの Makefile のインクルード
     222システムサービスの Makefile のインクルード
    239223#
    240224include $(SRCDIR)/tinet/Makefile.tinet
    241225
    242226#
    243 ã‚·ã‚¹ãƒ†ãƒ ã‚µãƒ¼ãƒ“スに関する定義
     227システムサービスに関する定義
    244228#
    245229SYSSVC_DIRS := $(TECSGENDIR) $(SRCDIR)/tecs_kernel \
     
    252236
    253237#
    254 ã‚¿ãƒ¼ã‚²ãƒƒãƒˆãƒ•ã‚¡ã‚¤ãƒ«
     238ターゲットファイル
    255239#
    256240.PHONY: all
     
    266250endif
    267251
    268 ##### 以下は編集しないこと #####
    269 
    270 #
    271 ã‚³ãƒ³ãƒ•ã‚£ã‚®ãƒ¥ãƒ¬ãƒ¼ã‚¿ã«é–¢ã™ã‚‹å®šç¾©
     252##### 以下は編集しないこと #####
     253
     254#
     255コンフィギュレータに関する定義
    272256#
    273257CFG_TABS := --api-table $(SRCDIR)/tinet/tcpip_api.def:tcpip \
     
    282266
    283267#
    284 ã‚«ãƒ¼ãƒãƒ«ã«é–¢ã™ã‚‹å®šç¾©
    285 #
    286 #  KERNEL_ASMOBJS: カーネルライブラリに含める,ソースがアセンブリ言語の
    287 #                                  オブジェクトファイル.
    288 #  KERNEL_COBJS: カーネルのライブラリに含める,ソースがC言語で,ソース
    289 #                                ファイルと1対1に対応するオブジェクトファイル.
    290 #  KERNEL_LCSRCS: カーネルのライブラリに含めるC言語のソースファイルで,
    291 #                                 1つのソースファイルから複数のオブジェクトファイルを生
    292 #                                 æˆã™ã‚‹ã‚‚の.
    293 #  KERNEL_LCOBJS: 上のソースファイルから生成されるオブジェクトファイル.
     268カーネルに関する定義
     269#
     270#  KERNEL_ASMOBJS: カーネルライブラリに含める,ソースがアセンブリ言語の
     271#                                  オブジェクトファイル.
     272#  KERNEL_COBJS: カーネルのライブラリに含める,ソースがC言語で,ソース
     273#                                ファイルと1対1に対応するオブジェクトファイル.
     274#  KERNEL_LCSRCS: カーネルのライブラリに含めるC言語のソースファイルで,
     275#                                 1つのソースファイルから複数のオブジェクトファイルを生
     276#                                 成するもの.
     277#  KERNEL_LCOBJS: 上のソースファイルから生成されるオブジェクトファイル.
    294278#
    295279KERNEL_DIRS := $(KERNEL_DIRS) $(SRCDIR)/kernel
     
    299283
    300284#
    301 ã‚«ãƒ¼ãƒãƒ«ã®ãƒ•ã‚¡ã‚¤ãƒ«æ§‹æˆã®å®šç¾©
     285カーネルのファイル構成の定義
    302286#
    303287include $(SRCDIR)/kernel/Makefile.kernel
     
    332316
    333317#
    334 ã‚½ãƒ¼ã‚¹ãƒ•ã‚¡ã‚¤ãƒ«ã®ã‚るディレクトリに関する定義
     318ソースファイルのあるディレクトリに関する定義
    335319#
    336320vpath %.c $(KERNEL_DIRS) $(SYSSVC_DIRS) $(APPL_DIRS)
     
    340324
    341325#
    342 ã‚³ãƒ³ãƒ‘イルのための変数の定義
     326コンパイルのための変数の定義
    343327#
    344328KERNEL_LIB_OBJS = $(KERNEL_ASMOBJS) $(KERNEL_COBJS) $(KERNEL_LCOBJS)
     
    368352
    369353#
    370 #  tecsgenからCプリプロセッサを呼び出す際のオプションの定義
     354#  tecsgenからCプリプロセッサを呼び出す際のオプションの定義
    371355#
    372356TECS_CPP = $(CC) $(CDEFS) $(INCLUDES) $(SYSSVC_CFLAGS) -D TECSGEN -E
    373357
    374358#
    375 #  tecsgenの呼出し
     359#  tecsgenの呼出し
    376360#
    377361.PHONY: tecs
     
    381365
    382366#
    383 ã‚«ãƒ¼ãƒãƒ«ã®ã‚³ãƒ³ãƒ•ã‚£ã‚®ãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ãƒ•ã‚¡ã‚¤ãƒ«ã®ç”Ÿæˆ
     367カーネルのコンフィギュレーションファイルの生成
    384368#
    385369cfg1_out.c cfg1_out.db: cfg1_out.timestamp ;
     
    403387
    404388#
    405 ã‚ªãƒ•ã‚»ãƒƒãƒˆãƒ•ã‚¡ã‚¤ãƒ«ï¼ˆoffset.h)の生成規則
     389オフセットファイル(offset.h)の生成規則
    406390#
    407391$(OFFSET_H): offset.timestamp ;
     
    411395
    412396#
    413 ã‚«ãƒ¼ãƒãƒ«ãƒ©ã‚¤ãƒ–ラリファイルの生成
     397カーネルライブラリファイルの生成
    414398#
    415399libkernel.a: $(OFFSET_H) $(KERNEL_LIB_OBJS)
     
    419403
    420404#
    421 ä¸¦åˆ—makeのための依存関係の定義
     405並列makeのための依存関係の定義
    422406#
    423407$(APPL_OBJS) $(SYSSVC_OBJS): | kernel_cfg.timestamp
     
    426410
    427411#
    428 ç‰¹åˆ¥ãªä¾å­˜é–¢ä¿‚の定義
     412特別な依存関係の定義
    429413#
    430414tBannerMain.o: $(filter-out tBannerMain.o,$(ALL_OBJS)) $(LIBS_DEP)
    431415
    432416#
    433 #  å
    434 ¨ä½“のリンク
     417#  全体のリンク
    435418#
    436419$(OBJFILE): $(ALL_OBJS) $(LIBS_DEP)
     
    440423
    441424#
    442 ä¾å­˜é–¢ä¿‚フォルダの作成
     425依存関係フォルダの作成
    443426#
    444427$(DEPDIR):
     
    446429
    447430#
    448 ã‚·ãƒ³ãƒœãƒ«ãƒ•ã‚¡ã‚¤ãƒ«ã®ç”Ÿæˆ
     431シンボルファイルの生成
    449432#
    450433$(OBJNAME).syms: $(OBJFILE)
     
    452435
    453436#
    454 ãƒã‚¤ãƒŠãƒªãƒ•ã‚¡ã‚¤ãƒ«ã®ç”Ÿæˆ
     437バイナリファイルの生成
    455438#
    456439$(OBJNAME).bin: $(OBJFILE)
     
    458441
    459442#
    460 #  Sレコードファイルの生成
     443#  Sレコードファイルの生成
    461444#
    462445$(OBJNAME).srec: $(OBJFILE)
     
    464447
    465448#
    466 ã‚¨ãƒ©ãƒ¼ãƒã‚§ãƒƒã‚¯å‡¦ç†
     449エラーチェック処理
    467450#
    468451.PHONY: check
     
    474457
    475458#
    476 ã‚³ãƒ³ãƒ‘イル結果の消去
     459コンパイル結果の消去
    477460#
    478461.PHONY: clean
     
    499482
    500483#
    501 #  コンフィギュレータが生成したファイルのコンパイルルールの定義
    502 #
    503 #  コンフィギュレータが生成したファイルは,å
    504 ±é€šã®ã‚³ãƒ³ãƒ‘イルオプション
    505 #  のみを付けてコンパイルする.
     484#  コンフィギュレータが生成したファイルのコンパイルルールの定義
     485#
     486#  コンフィギュレータが生成したファイルは,共通のコンパイルオプション
     487#  のみを付けてコンパイルする.
    506488#
    507489ALL_CFG_COBJS = $(CFG_COBJS) cfg1_out.o
     
    518500
    519501#
    520 ä¾å­˜é–¢ä¿‚ファイルのインクルード
     502依存関係ファイルのインクルード
    521503#
    522504-include $(DEPDIR)/*.d
    523505
    524506#
    525 é–‹ç™ºãƒ„ールのコマンド名の定義
     507開発ツールのコマンド名の定義
    526508#
    527509ifeq ($(TOOL),gcc)
    528510        #
    529         #  GNU開発環境用
     511        #  GNU開発環境用
    530512        #
    531513        ifdef GCC_TARGET
     
    564546
    565547#
    566 ã‚³ãƒ³ãƒ‘イルルールの定義
     548コンパイルルールの定義
    567549#
    568550$(KERNEL_COBJS): %.o: %.c
     
    607589
    608590#
    609 ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã‚³ãƒ³ãƒ‘イルルールを上書き
     591デフォルトコンパイルルールを上書き
    610592#
    611593%.o: %.c
  • azure_iot_hub/trunk/asp3_dcre/sample/sample1.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    99 *              Graduate School of Information Science, Nagoya Univ., JAPAN
    1010 *
    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 è²¬ã™ã‚‹ã“と.
     11 *  上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
     12 *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
     13 *  変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
     14 *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
     15 *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
     16 *      スコード中に含まれていること.
     17 *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
     18 *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
     19 *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
     20 *      の無保証規定を掲載すること.
     21 *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
     22 *      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
     23 *      と.
     24 *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
     25 *        作権表示,この利用条件および下記の無保証規定を掲載すること.
     26 *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
     27 *        報告すること.
     28 *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
     29 *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
     30 *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
     31 *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
     32 *      免責すること.
    4733 *
    48  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    49 ãŠ
    50  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    51  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    52  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    53  *  の責任を負わない.
     34 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     35 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     36 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     37 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     38 *  の責任を負わない.
    5439 *
    5540 *  $Id$
     
    5742
    5843/*
    59  *  サンプルプログラム(1)の本体
    60  *
    61  *  ASPカーネルの基本的な動作を確認するためのサンプルプログラム.
    62  *
    63  *  プログラムの概要:
    64  *
    65  *  ユーザインタフェースを受け持つメインタスク(タスクID: MAIN_TASK,優
    66  *  å
    67 ˆåº¦: MAIN_PRIORITY)と,3つの並行実行されるタスク(タスクID:
    68  *  TASK1~TASK3,初期優å
    69 ˆåº¦: MID_PRIORITY)で構成される.また,起動周
    70  *  期が2秒の周期ハンドラ(周期ハンドラID: CYCHDR1)を用いる.
    71  *
    72  *  並行実行されるタスクは,task_loop回空ループを実行する度に,タスクが
    73  *  実行中であることをあらわすメッセージを表示する.空ループを実行する
    74  *  のは,空ループなしでメッセージを出力すると,多量のメッセージが出力
    75  *  され,プログラムの動作が確認しずらくなるためである.また,低速なシ
    76  *  リアルポートを用いてメッセージを出力する場合に,すべてのメッセージ
    77  *  が出力できるように,メッセージの量を制限するという理由もある.
    78  *
    79  *  周期ハンドラは,三つの優å
    80 ˆåº¦ï¼ˆHIGH_PRIORITY,MID_PRIORITY,
    81  *  LOW_PRIORITY)のレディキューを回転させる.プログラムの起動直後は,
    82  *  周期ハンドラは停止状æ
    83 ‹ã«ãªã£ã¦ã„る.
    84  *
    85  *  メインタスクは,シリアルI/Oポートからの文字å
    86 ¥åŠ›ã‚’行い(文字å
    87 ¥åŠ›ã‚’
    88  *  å¾
    89 ã£ã¦ã„る間は,並行実行されるタスクが実行されている),å
    90 ¥åŠ›ã•ã‚ŒãŸ
    91  *  文字に対応した処理を実行する.å
    92 ¥åŠ›ã•ã‚ŒãŸæ–‡å­—と処理の関係は次の通り.
    93  *  Control-Cまたは'Q'がå
    94 ¥åŠ›ã•ã‚Œã‚‹ã¨ï¼Œãƒ—ログラムを終了する.
    95  *
    96  *  '1' : 対象タスクをTASK1に切り換える(初期設定).
    97  *  '2' : 対象タスクをTASK2に切り換える.
    98  *  '3' : 対象タスクをTASK3に切り換える.
    99  *  'a' : 対象タスクをact_tskにより起動する.
    100  *  'A' : 対象タスクに対する起動要求をcan_actによりキャンセルする.
    101  *  'e' : 対象タスクにext_tskを呼び出させ,終了させる.
    102  *  't' : 対象タスクをter_tskにより強制終了する.
    103  *  '>' : 対象タスクの優å
    104 ˆåº¦ã‚’HIGH_PRIORITYにする.
    105  *  '=' : 対象タスクの優å
    106 ˆåº¦ã‚’MID_PRIORITYにする.
    107  *  '<' : 対象タスクの優å
    108 ˆåº¦ã‚’LOW_PRIORITYにする.
    109  *  'G' : 対象タスクの優å
    110 ˆåº¦ã‚’get_priで読み出す.
    111  *  's' : 対象タスクにslp_tskを呼び出させ,起床å¾
    112 ã¡ã«ã•ã›ã‚‹ï¼Ž
    113  *  'S' : 対象タスクにtslp_tsk(10秒)を呼び出させ,起床å¾
    114 ã¡ã«ã•ã›ã‚‹ï¼Ž
    115  *  'w' : 対象タスクをwup_tskにより起床する.
    116  *  'W' : 対象タスクに対する起床要求をcan_wupによりキャンセルする.
    117  *  'l' : 対象タスクをrel_waiにより強制的にå¾
    118 ã¡è§£é™¤ã«ã™ã‚‹ï¼Ž
    119  *  'u' : 対象タスクをsus_tskにより強制å¾
    120 ã¡çŠ¶æ
    121 ‹ã«ã™ã‚‹ï¼Ž
    122  *  'm' : 対象タスクの強制å¾
    123 ã¡çŠ¶æ
    124 ‹ã‚’rsm_tskにより解除する.
    125  *  'd' : 対象タスクにdly_tsk(10秒)を呼び出させ,時間経過å¾
    126 ã¡ã«ã•ã›ã‚‹ï¼Ž
    127  *  'x' : 対象タスクにras_terにより終了要求する.
    128  *  'y' : 対象タスクにdis_terを呼び出させ,タスク終了を禁止する.
    129  *  'Y' : 対象タスクにena_terを呼び出させ,タスク終了を許可する.
    130  *  'r' : 3つの優å
    131 ˆåº¦ï¼ˆHIGH_PRIORITY,MID_PRIORITY,LOW_PRIORITY)のレ
    132  *        ディキューを回転させる.
    133  *  'c' : 周期ハンドラを動作開始させる.
    134  *  'C' : 周期ハンドラを動作停止させる.
    135  *  'b' : アラームハンドラを5秒後に起動するよう動作開始させる.
    136  *  'B' : アラームハンドラを動作停止させる.
    137  *  'z' : 対象タスクにCPU例外を発生させる(タスクを終了させる).
    138  *  'Z' : 対象タスクにCPUロック状æ
    139 ‹ã§CPU例外を発生させる(プログラムを
    140  *        終了する).
    141  *  '@' : タスク3をacre_tskにより生成する.
    142  *  '!' : 対象タスクをdel_tskにより削除する.
    143  *  '$' : アラームハンドラをacre_almにより生成する.
    144  *  '#' : アラームハンドラをdel_almにより削除する.
    145  *  'V' : fch_hrtで高分解能タイマを2回読む.
    146  *  'v' : 発行したシステムコールを表示する(デフォルト).
    147  *  'q' : 発行したシステムコールを表示しない.
     44 *  サンプルプログラム(1)の本体
     45 *
     46 *  ASPカーネルの基本的な動作を確認するためのサンプルプログラム.
     47 *
     48 *  プログラムの概要:
     49 *
     50 *  ユーザインタフェースを受け持つメインタスク(タスクID: MAIN_TASK,優
     51 *  先度: MAIN_PRIORITY)と,3つの並行実行されるタスク(タスクID:
     52 *  TASK1~TASK3,初期優先度: MID_PRIORITY)で構成される.また,起動周
     53 *  期が2秒の周期ハンドラ(周期ハンドラID: CYCHDR1)を用いる.
     54 *
     55 *  並行実行されるタスクは,task_loop回空ループを実行する度に,タスクが
     56 *  実行中であることをあらわすメッセージを表示する.空ループを実行する
     57 *  のは,空ループなしでメッセージを出力すると,多量のメッセージが出力
     58 *  され,プログラムの動作が確認しずらくなるためである.また,低速なシ
     59 *  リアルポートを用いてメッセージを出力する場合に,すべてのメッセージ
     60 *  が出力できるように,メッセージの量を制限するという理由もある.
     61 *
     62 *  周期ハンドラは,三つの優先度(HIGH_PRIORITY,MID_PRIORITY,
     63 *  LOW_PRIORITY)のレディキューを回転させる.プログラムの起動直後は,
     64 *  周期ハンドラは停止状態になっている.
     65 *
     66 *  メインタスクは,シリアルI/Oポートからの文字入力を行い(文字入力を
     67 *  待っている間は,並行実行されるタスクが実行されている),入力された
     68 *  文字に対応した処理を実行する.入力された文字と処理の関係は次の通り.
     69 *  Control-Cまたは'Q'が入力されると,プログラムを終了する.
     70 *
     71 *  '1' : 対象タスクをTASK1に切り換える(初期設定).
     72 *  '2' : 対象タスクをTASK2に切り換える.
     73 *  '3' : 対象タスクをTASK3に切り換える.
     74 *  'a' : 対象タスクをact_tskにより起動する.
     75 *  'A' : 対象タスクに対する起動要求をcan_actによりキャンセルする.
     76 *  'e' : 対象タスクにext_tskを呼び出させ,終了させる.
     77 *  't' : 対象タスクをter_tskにより強制終了する.
     78 *  '>' : 対象タスクの優先度をHIGH_PRIORITYにする.
     79 *  '=' : 対象タスクの優先度をMID_PRIORITYにする.
     80 *  '<' : 対象タスクの優先度をLOW_PRIORITYにする.
     81 *  'G' : 対象タスクの優先度をget_priで読み出す.
     82 *  's' : 対象タスクにslp_tskを呼び出させ,起床待ちにさせる.
     83 *  'S' : 対象タスクにtslp_tsk(10秒)を呼び出させ,起床待ちにさせる.
     84 *  'w' : 対象タスクをwup_tskにより起床する.
     85 *  'W' : 対象タスクに対する起床要求をcan_wupによりキャンセルする.
     86 *  'l' : 対象タスクをrel_waiにより強制的に待ち解除にする.
     87 *  'u' : 対象タスクをsus_tskにより強制待ち状態にする.
     88 *  'm' : 対象タスクの強制待ち状態をrsm_tskにより解除する.
     89 *  'd' : 対象タスクにdly_tsk(10秒)を呼び出させ,時間経過待ちにさせる.
     90 *  'x' : 対象タスクにras_terにより終了要求する.
     91 *  'y' : 対象タスクにdis_terを呼び出させ,タスク終了を禁止する.
     92 *  'Y' : 対象タスクにena_terを呼び出させ,タスク終了を許可する.
     93 *  'r' : 3つの優先度(HIGH_PRIORITY,MID_PRIORITY,LOW_PRIORITY)のレ
     94 *        ディキューを回転させる.
     95 *  'c' : 周期ハンドラを動作開始させる.
     96 *  'C' : 周期ハンドラを動作停止させる.
     97 *  'b' : アラームハンドラを5秒後に起動するよう動作開始させる.
     98 *  'B' : アラームハンドラを動作停止させる.
     99 *  'z' : 対象タスクにCPU例外を発生させる(タスクを終了させる).
     100 *  'Z' : 対象タスクにCPUロック状態でCPU例外を発生させる(プログラムを
     101 *        終了する).
     102 *  '@' : タスク3をacre_tskにより生成する.
     103 *  '!' : 対象タスクをdel_tskにより削除する.
     104 *  '$' : アラームハンドラをacre_almにより生成する.
     105 *  '#' : アラームハンドラをdel_almにより削除する.
     106 *  'V' : fch_hrtで高分解能タイマを2回読む.
     107 *  'v' : 発行したシステムコールを表示する(デフォルト).
     108 *  'q' : 発行したシステムコールを表示しない.
    148109 */
    149110
     
    157118
    158119/*
    159  *  サービスコールのエラーのログ出力
     120 *  サービスコールのエラーのログ出力
    160121 */
    161122Inline void
     
    170131
    171132/*
    172  *  並行実行されるタスクへのメッセージ領域
     133 *  並行実行されるタスクへのメッセージ領域
    173134 */
    174135char    message[3];
    175136
    176137/*
    177  *  ループ回数
    178  */
    179 ulong_t task_loop;              /* タスクå†
    180 ã§ã®ãƒ«ãƒ¼ãƒ—回数 */
    181 
    182 /*
    183  *  並行実行されるタスク
     138 *  ループ回数
     139 */
     140ulong_t task_loop;              /* タスク内でのループ回数 */
     141
     142/*
     143 *  並行実行されるタスク
    184144 */
    185145void task(intptr_t exinf)
     
    241201
    242202/*
    243  *  割込みハンドラ
     203 *  割込みハンドラ
    244204 */
    245205#ifdef INTNO1
     
    256216
    257217/*
    258  *  CPU例外ハンドラ
    259  */
    260 ID      cpuexc_tskid;           /* CPU例外を起こしたタスクのID */
     218 *  CPU例外ハンドラ
     219 */
     220ID      cpuexc_tskid;           /* CPU例外を起こしたタスクのID */
    261221
    262222#ifdef CPUEXC1
     
    297257
    298258/*
    299  *  周期ハンドラ
    300  *
    301  *  HIGH_PRIORITY,MID_PRIORITY,LOW_PRIORITY の各優å
    302 ˆåº¦ã®ãƒ¬ãƒ‡ã‚£ã‚­ãƒ¥ãƒ¼
    303  *  を回転させる.
     259 *  周期ハンドラ
     260 *
     261 *  HIGH_PRIORITY,MID_PRIORITY,LOW_PRIORITY の各優先度のレディキュー
     262 *  を回転させる.
    304263 */
    305264void cyclic_handler(intptr_t exinf)
     
    311270
    312271/*
    313  *  アラームハンドラ
    314  *
    315  *  HIGH_PRIORITY,MID_PRIORITY,LOW_PRIORITY の各優å
    316 ˆåº¦ã®ãƒ¬ãƒ‡ã‚£ã‚­ãƒ¥ãƒ¼
    317  *  を回転させる.
     272 *  アラームハンドラ
     273 *
     274 *  HIGH_PRIORITY,MID_PRIORITY,LOW_PRIORITY の各優先度のレディキュー
     275 *  を回転させる.
    318276 */
    319277void alarm_handler(intptr_t exinf)
     
    325283
    326284/*
    327  *  例外処理タスク
     285 *  例外処理タスク
    328286 */
    329287void exc_task(intptr_t exinf)
     
    333291
    334292/*
    335  *  メインタスク
     293 *  メインタスク
    336294 */
    337295void main_task(intptr_t exinf)
     
    356314
    357315        /*
    358          *  シリアルポートの初期化
     316         *  シリアルポートの初期化
    359317         *
    360          *  システムログタスクと同じシリアルポートを使う場合など,シリアル
    361          *  ポートがオープン済みの場合にはここでE_OBJエラーになるが,支障は
    362          *  ない.
     318         *  システムログタスクと同じシリアルポートを使う場合など,シリアル
     319         *  ポートがオープン済みの場合にはここでE_OBJエラーになるが,支障は
     320         *  ない.
    363321         */
    364322        ercd = serial_opn_por(TASK_PORTID);
     
    371329
    372330        /*
    373          *  ループ回数の設定
     331         *  ループ回数の設定
    374332         *
    375          *  並行実行されるタスクå†
    376 ã§ã®ç©ºãƒ«ãƒ¼ãƒ—の回数(task_loop)は,空ルー
    377          *  プの実行時間が約0.4秒になるように設定する.この設定のために,
    378          *  LOOP_REF回の空ループの実行時間を,その前後でget_timを呼ぶことで
    379          *  測定し,その測定結果から空ループの実行時間が0.4秒になるループ回
    380          *  数を求め,task_loopに設定する.
     333         *  並行実行されるタスク内での空ループの回数(task_loop)は,空ルー
     334         *  プの実行時間が約0.4秒になるように設定する.この設定のために,
     335         *  LOOP_REF回の空ループの実行時間を,その前後でget_timを呼ぶことで
     336         *  測定し,その測定結果から空ループの実行時間が0.4秒になるループ回
     337         *  数を求め,task_loopに設定する.
    381338         *
    382          *  LOOP_REFは,デフォルトでは1,000,000に設定しているが,想定したよ
    383          *  りé
    384 ã„プロセッサでは,サンプルプログラムの実行開始に時間がかか
    385          *  りすぎるという問題を生じる.逆に想定したより速いプロセッサでは,
    386          *  LOOP_REF回の空ループの実行時間が短くなり,task_loopに設定する値
    387          *  の誤差が大きくなるという問題がある.
     339         *  LOOP_REFは,デフォルトでは1,000,000に設定しているが,想定したよ
     340         *  り遅いプロセッサでは,サンプルプログラムの実行開始に時間がかか
     341         *  りすぎるという問題を生じる.逆に想定したより速いプロセッサでは,
     342         *  LOOP_REF回の空ループの実行時間が短くなり,task_loopに設定する値
     343         *  の誤差が大きくなるという問題がある.
    388344         *
    389          *  そこで,そのようなターゲットでは,target_test.hで,LOOP_REFを適
    390          *  切な値に定義するのが望ましい.
     345         *  そこで,そのようなターゲットでは,target_test.hで,LOOP_REFを適
     346         *  切な値に定義するのが望ましい.
    391347         *
    392          *  また,task_loopの値を固定したい場合には,その値をTASK_LOOPにマ
    393          *  クロ定義する.TASK_LOOPがマクロ定義されている場合,上記の測定を
    394          *  行わずに,TASK_LOOPに定義された値を空ループの回数とする.
     348         *  また,task_loopの値を固定したい場合には,その値をTASK_LOOPにマ
     349         *  クロ定義する.TASK_LOOPがマクロ定義されている場合,上記の測定を
     350         *  行わずに,TASK_LOOPに定義された値を空ループの回数とする.
    395351         *
    396          * ターゲットによっては,空ループの実行時間の1回目の測定で,本来よ
    397          * りも長めになるものがある.このようなターゲットでは,MEASURE_TWICE
    398          * をマクロ定義することで,1回目の測定結果を捨てて,2回目の測定結果
    399          * を使う.
     352         * ターゲットによっては,空ループの実行時間の1回目の測定で,本来よ
     353         * りも長めになるものがある.このようなターゲットでは,MEASURE_TWICE
     354         * をマクロ定義することで,1回目の測定結果を捨てて,2回目の測定結果
     355         * を使う.
    400356         */
    401357#ifdef TASK_LOOP
     
    419375
    420376        /*
    421          *  タスクの起動
     377         *  タスクの起動
    422378         */
    423379        SVC_PERROR(act_tsk(TASK1));
     
    425381
    426382        /*
    427          *  メインループ
     383         *  メインループ
    428384         */
    429385        do {
  • azure_iot_hub/trunk/asp3_dcre/sample/sample1.cdl

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    11/*
    2  *              サンプルプログラム(1)のコンポーネント記述ファイル
     2 *              サンプルプログラム(1)のコンポーネント記述ファイル
    33 *
    44 *  $Id$
    55 */
    66/*
    7  *  カーネルオブジェクトの定義
     7 *  カーネルオブジェクトの定義
    88 */
    99import(<kernel.cdl>);
    1010
    1111/*
    12  *  ターゲット非依存のセルタイプの定義
     12 *  ターゲット非依存のセルタイプの定義
    1313 */
    1414import("syssvc/tSerialPort.cdl");
     
    2020
    2121/*
    22  *  ターゲット依存部の取り込み
     22 *  ターゲット依存部の取り込み
    2323 */
    2424import("target.cdl");
    2525
    2626/*
    27  *  「セルの組上げ記述」とは,"cell"で始まる行から,それに対応する"};"
    28  *  の行までのことを言う.
     27 *  「セルの組上げ記述」とは,"cell"で始まる行から,それに対応する"};"
     28 *  の行までのことを言う.
    2929 */
    3030
    3131/*
    32  *  システムログ機能の組上げ記述
     32 *  システムログ機能の組上げ記述
    3333 *
    34  *  システムログ機能を外す場合には,以下のセルの組上げ記述を削除し,コ
    35  *  ンパイルオプションに-DTOPPERS_OMIT_SYSLOGを追加すればよい.ただし,
    36  *  システムログタスクはシステムログ機能を使用するため,それも外すこと
    37  *  がå¿
    38 è¦ã§ã‚る.また,システムログ機能のアダプタも外さなければならな
    39  *  い.tecsgenが警告メッセージを出すが,無視してよい.
     34 *  システムログ機能を外す場合には,以下のセルの組上げ記述を削除し,コ
     35 *  ンパイルオプションに-DTOPPERS_OMIT_SYSLOGを追加すればよい.ただし,
     36 *  システムログタスクはシステムログ機能を使用するため,それも外すこと
     37 *  が必要である.また,システムログ機能のアダプタも外さなければならな
     38 *  い.tecsgenが警告メッセージを出すが,無視してよい.
    4039 */
    4140cell tSysLog SysLog {
    42         logBufferSize = 32;                                     /* ログバッファのサイズ */
     41        logBufferSize = 32;                                     /* ログバッファのサイズ */
    4342        initLogMask = C_EXP("LOG_UPTO(LOG_NOTICE)");
    44                                                                                 /* ログバッファに記録すべき重要度 */
     43                                                                                /* ログバッファに記録すべき重要度 */
    4544        initLowMask = C_EXP("LOG_UPTO(LOG_EMERG)");
    46                                                                                 /* 低レベル出力すべき重要度 */
    47         /* 低レベル出力との結合 */
     45                                                                                /* 低レベル出力すべき重要度 */
     46        /* 低レベル出力との結合 */
    4847        cPutLog = PutLogTarget.ePutLog;
    4948};
    5049
    5150/*
    52  *  C言語で記述されたアプリケーションから,TECSベースのシステムログ機能
    53  *  を呼び出すためのアダプタの組上げ記述
     51 *  C言語で記述されたアプリケーションから,TECSベースのシステムログ機能
     52 *  を呼び出すためのアダプタの組上げ記述
    5453 *
    55  *  システムログ機能のサービスコール(syslog関数とsyslog_0関数~syslog_5
    56  *  関数以外のもの)ルをC言語で記述されたアプリケーションから呼び出さな
    57  *  い場合には,以下のセルの組上げ記述を削除すればよい.
     54 *  システムログ機能のサービスコール(syslog関数とsyslog_0関数~syslog_5
     55 *  関数以外のもの)ルをC言語で記述されたアプリケーションから呼び出さな
     56 *  い場合には,以下のセルの組上げ記述を削除すればよい.
    5857 */
    5958cell tSysLogAdapter SysLogAdapter {
     
    6261
    6362/*
    64  *  シリアルインタフェースドライバの組上げ記述
     63 *  シリアルインタフェースドライバの組上げ記述
    6564 *
    66  *  シリアルインタフェースドライバを外す場合には,以下のセルの組上げ記
    67  *  述を削除すればよい.ただし,システムログタスクはシリアルインタフェー
    68  *  スドライバを使用するため,それも外すことがå¿
    69 è¦ã§ã‚る.また,シリア
    70  *  ルインタフェースドライバのアダプタも外さなければならない.
     65 *  シリアルインタフェースドライバを外す場合には,以下のセルの組上げ記
     66 *  述を削除すればよい.ただし,システムログタスクはシリアルインタフェー
     67 *  スドライバを使用するため,それも外すことが必要である.また,シリア
     68 *  ルインタフェースドライバのアダプタも外さなければならない.
    7169 */
    7270cell tSerialPort SerialPort1 {
    73         receiveBufferSize = 256;                        /* 受信バッファのサイズ */
    74         sendBufferSize    = 256;                        /* 送信バッファのサイズ */
     71        receiveBufferSize = 256;                        /* 受信バッファのサイズ */
     72        sendBufferSize    = 256;                        /* 送信バッファのサイズ */
    7573
    76         /* ターゲット依存部との結合 */
     74        /* ターゲット依存部との結合 */
    7775        cSIOPort = SIOPortTarget1.eSIOPort;
    78         eiSIOCBR <= SIOPortTarget1.ciSIOCBR;    /* コールバック */
     76        eiSIOCBR <= SIOPortTarget1.ciSIOCBR;    /* コールバック */
    7977};
    8078
    8179/*
    82  *  C言語で記述されたアプリケーションから,TECSベースのシリアルインタ
    83  *  フェースドライバを呼び出すためのアダプタの組上げ記述
     80 *  C言語で記述されたアプリケーションから,TECSベースのシリアルインタ
     81 *  フェースドライバを呼び出すためのアダプタの組上げ記述
    8482 *
    85  *  シリアルインタフェースドライバのサービスコールをC言語で記述されたア
    86  *  プリケーションから呼び出さない場合には,以下のセルの組上げ記述を削
    87  *  除すればよい.
     83 *  シリアルインタフェースドライバのサービスコールをC言語で記述されたア
     84 *  プリケーションから呼び出さない場合には,以下のセルの組上げ記述を削
     85 *  除すればよい.
    8886 */
    8987cell tSerialAdapter SerialAdapter {
     
    9290
    9391/*
    94  *  システムログタスクの組上げ記述
     92 *  システムログタスクの組上げ記述
    9593 *
    96  *  システムログタスクを外す場合には,以下のセルの組上げ記述を削除すれ
    97  *  ばよい.
     94 *  システムログタスクを外す場合には,以下のセルの組上げ記述を削除すれ
     95 *  ばよい.
    9896 */
    9997cell tLogTask LogTask {
    100         priority  = 3;                                  /* システムログタスクの優å
    101 ˆåº¦ */
    102         stackSize = LogTaskStackSize;   /* システムログタスクのスタックサイズ */
     98        priority  = 3;                                  /* システムログタスクの優先度 */
     99        stackSize = LogTaskStackSize;   /* システムログタスクのスタックサイズ */
    103100
    104         /* シリアルインタフェースドライバとの結合 */
     101        /* シリアルインタフェースドライバとの結合 */
    105102        cSerialPort        = SerialPort1.eSerialPort;
    106103        cnSerialPortManage = SerialPort1.enSerialPortManage;
    107104
    108         /* システムログ機能との結合 */
     105        /* システムログ機能との結合 */
    109106        cSysLog = SysLog.eSysLog;
    110107
    111         /* 低レベル出力との結合 */
     108        /* 低レベル出力との結合 */
    112109        cPutLog = PutLogTarget.ePutLog;
    113110};
    114111
    115112/*
    116  *  カーネル起動メッセージ出力の組上げ記述
     113 *  カーネル起動メッセージ出力の組上げ記述
    117114 *
    118  *  カーネル起動メッセージの出力を外す場合には,以下のセルの組上げ記述
    119  *  を削除すればよい.
     115 *  カーネル起動メッセージの出力を外す場合には,以下のセルの組上げ記述
     116 *  を削除すればよい.
    120117 */
    121118cell tBanner Banner {
    122         /* 属性の設定 */
     119        /* 属性の設定 */
    123120        targetName      = BannerTargetName;
    124121        copyrightNotice = BannerCopyrightNotice;
  • azure_iot_hub/trunk/asp3_dcre/sample/sample1.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    11/*
    2  *              サンプルプログラム(1)のシステムコンフィギュレーションファイル
     2 *              サンプルプログラム(1)のシステムコンフィギュレーションファイル
    33 *
    44 *  $Id$
  • azure_iot_hub/trunk/asp3_dcre/sample/sample1.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    99 *              Graduate School of Information Science, Nagoya Univ., JAPAN
    1010 *
    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 è²¬ã™ã‚‹ã“と.
     11 *  上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
     12 *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
     13 *  変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
     14 *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
     15 *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
     16 *      スコード中に含まれていること.
     17 *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
     18 *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
     19 *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
     20 *      の無保証規定を掲載すること.
     21 *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
     22 *      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
     23 *      と.
     24 *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
     25 *        作権表示,この利用条件および下記の無保証規定を掲載すること.
     26 *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
     27 *        報告すること.
     28 *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
     29 *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
     30 *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
     31 *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
     32 *      免責すること.
    4733 *
    48  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    49 ãŠ
    50  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    51  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    52  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    53  *  の責任を負わない.
     34 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     35 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     36 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     37 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     38 *  の責任を負わない.
    5439 *
    5540 *  $Id$
     
    5742
    5843/*
    59  *              サンプルプログラム(1)のヘッダファイル
     44 *              サンプルプログラム(1)のヘッダファイル
    6045 */
    6146
     
    6348
    6449/*
    65  *  ターゲット依存の定義
     50 *  ターゲット依存の定義
    6651 */
    6752#include "target_test.h"
    6853
    6954/*
    70  *  各タスクの優å
    71 ˆåº¦ã®å®šç¾©
     55 *  各タスクの優先度の定義
    7256 */
    7357
    74 #define EXC_PRIORITY    1               /* 例外処理タスクの優å
    75 ˆåº¦ */
    76 #define MAIN_PRIORITY   5               /* メインタスクの優å
    77 ˆåº¦ */
    78                                                                 /* HIGH_PRIORITYより高くすること */
     58#define EXC_PRIORITY    1               /* 例外処理タスクの優先度 */
     59#define MAIN_PRIORITY   5               /* メインタスクの優先度 */
     60                                                                /* HIGH_PRIORITYより高くすること */
    7961
    80 #define HIGH_PRIORITY   9               /* 並行実行されるタスクの優å
    81 ˆåº¦ */
     62#define HIGH_PRIORITY   9               /* 並行実行されるタスクの優先度 */
    8263#define MID_PRIORITY    10
    8364#define LOW_PRIORITY    11
    8465
    8566/*
    86  *  ターゲットに依存する可能性のある定数の定義
     67 *  ターゲットに依存する可能性のある定数の定義
    8768 */
    8869
    8970#ifndef TASK_PORTID
    90 #define TASK_PORTID             1                       /* 文字å
    91 ¥åŠ›ã™ã‚‹ã‚·ãƒªã‚¢ãƒ«ãƒãƒ¼ãƒˆID */
     71#define TASK_PORTID             1                       /* 文字入力するシリアルポートID */
    9272#endif /* TASK_PORTID */
    9373
    9474#ifndef STACK_SIZE
    95 #define STACK_SIZE              4096            /* タスクのスタックサイズ */
     75#define STACK_SIZE              4096            /* タスクのスタックサイズ */
    9676#endif /* STACK_SIZE */
    9777
    9878#ifndef KMM_SIZE
    99 #define KMM_SIZE                (STACK_SIZE * 16)       /* カーネルが割り付ける   */
    100 #endif /* KMM_SIZE */                                           /*     ãƒ¡ãƒ¢ãƒªé ˜åŸŸã®ã‚µã‚¤ã‚º */
     79#define KMM_SIZE                (STACK_SIZE * 16)       /* カーネルが割り付ける   */
     80#endif /* KMM_SIZE */                                           /*     メモリ領域のサイズ */
    10181
    10282#ifndef LOOP_REF
    103 #define LOOP_REF                ULONG_C(1000000)        /* 速度計測用のループ回数 */
     83#define LOOP_REF                ULONG_C(1000000)        /* 速度計測用のループ回数 */
    10484#endif /* LOOP_REF */
    10585
    10686/*
    107  *  関数のプロトタイプ宣言
     87 *  関数のプロトタイプ宣言
    10888 */
    10989#ifndef TOPPERS_MACRO_ONLY
  • azure_iot_hub/trunk/asp3_dcre/sample/tSample2.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    99 *              Graduate School of Information Science, Nagoya Univ., JAPAN
    1010 *
    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 è²¬ã™ã‚‹ã“と.
     11 *  上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
     12 *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
     13 *  変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
     14 *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
     15 *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
     16 *      スコード中に含まれていること.
     17 *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
     18 *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
     19 *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
     20 *      の無保証規定を掲載すること.
     21 *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
     22 *      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
     23 *      と.
     24 *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
     25 *        作権表示,この利用条件および下記の無保証規定を掲載すること.
     26 *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
     27 *        報告すること.
     28 *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
     29 *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
     30 *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
     31 *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
     32 *      免責すること.
    4733 *
    48  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    49 ãŠ
    50  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    51  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    52  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    53  *  の責任を負わない.
     34 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     35 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     36 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     37 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     38 *  の責任を負わない.
    5439 *
    5540 *  $Id$
     
    5742
    5843/*
    59  *  サンプルプログラム(1)の本体
    60  *
    61  *  ASPカーネルの基本的な動作を確認するためのサンプルプログラム.
    62  *
    63  *  プログラムの概要:
    64  *
    65  *  ユーザインタフェースを受け持つメインタスク(タスクID: MAIN_TASK,優
    66  *  å
    67 ˆåº¦: MAIN_PRIORITY)と,3つの並行実行されるタスク(タスクID:
    68  *  TASK1~TASK3,初期優å
    69 ˆåº¦: MID_PRIORITY)で構成される.また,起動周
    70  *  期が2秒の周期ハンドラ(周期ハンドラID: CYCHDR1)を用いる.
    71  *
    72  *  並行実行されるタスクは,task_loop回空ループを実行する度に,タスクが
    73  *  実行中であることをあらわすメッセージを表示する.空ループを実行する
    74  *  のは,空ループなしでメッセージを出力すると,多量のメッセージが出力
    75  *  され,プログラムの動作が確認しずらくなるためである.また,低速なシ
    76  *  リアルポートを用いてメッセージを出力する場合に,すべてのメッセージ
    77  *  が出力できるように,メッセージの量を制限するという理由もある.
    78  *
    79  *  周期ハンドラは,三つの優å
    80 ˆåº¦ï¼ˆHIGH_PRIORITY,MID_PRIORITY,
    81  *  LOW_PRIORITY)のレディキューを回転させる.プログラムの起動直後は,
    82  *  周期ハンドラは停止状æ
    83 ‹ã«ãªã£ã¦ã„る.
    84  *
    85  *  メインタスクは,シリアルI/Oポートからの文字å
    86 ¥åŠ›ã‚’行い(文字å
    87 ¥åŠ›ã‚’
    88  *  å¾
    89 ã£ã¦ã„る間は,並列実行されるタスクが実行されている),å
    90 ¥åŠ›ã•ã‚ŒãŸ
    91  *  文字に対応した処理を実行する.å
    92 ¥åŠ›ã•ã‚ŒãŸæ–‡å­—と処理の関係は次の通り.
    93  *  Control-Cまたは'Q'がå
    94 ¥åŠ›ã•ã‚Œã‚‹ã¨ï¼Œãƒ—ログラムを終了する.
    95  *
    96  *  '1' : 対象タスクをTASK1に切り換える(初期設定).
    97  *  '2' : 対象タスクをTASK2に切り換える.
    98  *  '3' : 対象タスクをTASK3に切り換える.
    99  *  'a' : 対象タスクをcTask_activateにより起動する.
    100  *  'A' : 対象タスクに対する起動要求をcTask_cancelActivateによりキャンセルする.
    101  *  'e' : 対象タスクにexitTaskを呼び出させ,終了させる.
    102  *  't' : 対象タスクをcTask_terminateにより強制終了する.
    103  *  '>' : 対象タスクの優å
    104 ˆåº¦ã‚’HIGH_PRIORITYにする.
    105  *  '=' : 対象タスクの優å
    106 ˆåº¦ã‚’MID_PRIORITYにする.
    107  *  '<' : 対象タスクの優å
    108 ˆåº¦ã‚’LOW_PRIORITYにする.
    109  *  'G' : 対象タスクの優å
    110 ˆåº¦ã‚’cTask_getPriorityで読み出す.
    111  *  's' : 対象タスクにsleepを呼び出させ,起床å¾
    112 ã¡ã«ã•ã›ã‚‹ï¼Ž
    113  *  'S' : 対象タスクにsleepTimeout10秒)を呼び出させ,起床å¾
    114 ã¡ã«ã•ã›ã‚‹ï¼Ž
    115  *  'w' : 対象タスクをcTask_wakeupにより起床する.
    116  *  'W' : 対象タスクに対する起床要求をcTask_cancelWakeupによりキャンセルする.
    117  *  'l' : 対象タスクをcTask_releaseWaitにより強制的にå¾
    118 ã¡è§£é™¤ã«ã™ã‚‹ï¼Ž
    119  *  'u' : 対象タスクをcTask_suspendにより強制å¾
    120 ã¡çŠ¶æ
    121 ‹ã«ã™ã‚‹ï¼Ž
    122  *  'm' : 対象タスクの強制å¾
    123 ã¡çŠ¶æ
    124 ‹ã‚’cTask_resumeにより解除する.
    125  *  'd' : 対象タスクにdelay(10秒)を呼び出させ,時間経過å¾
    126 ã¡ã«ã•ã›ã‚‹ï¼Ž
    127  *  'x' : 対象タスクにraiseTerminateにより終了要求する.
    128  *  'y' : 対象タスクにdisableTerminateを呼び出させ,タスク終了を禁止する.
    129  *  'Y' : 対象タスクにenableTerminateを呼び出させ,タスク終了を許可する.
    130  *  'r' : 3つの優å
    131 ˆåº¦ï¼ˆHIGH_PRIORITY,MID_PRIORITY,LOW_PRIORITY)のレ
    132  *        ディキューを回転させる.
    133  *  'c' : 周期ハンドラを動作開始させる.
    134  *  'C' : 周期ハンドラを動作停止させる.
    135  *  'b' : アラームハンドラを5秒後に起動するよう動作開始させる.
    136  *  'B' : アラームハンドラを動作停止させる.
    137  *  'z' : 対象タスクにCPU例外を発生させる(タスクを終了させる).
    138  *  'Z' : 対象タスクにCPUロック状æ
    139 ‹ã§CPU例外を発生させる(プログラムを
    140  *        終了する).
    141  *  'V' : fetchHighResolutionTimerで高分解能タイマを2回読む.
    142  *  'v' : 発行したシステムコールを表示する(デフォルト).
    143  *  'q' : 発行したシステムコールを表示しない.
    144  * 呼び口関数 #_TCPF_#
     44 *  サンプルプログラム(1)の本体
     45 *
     46 *  ASPカーネルの基本的な動作を確認するためのサンプルプログラム.
     47 *
     48 *  プログラムの概要:
     49 *
     50 *  ユーザインタフェースを受け持つメインタスク(タスクID: MAIN_TASK,優
     51 *  先度: MAIN_PRIORITY)と,3つの並行実行されるタスク(タスクID:
     52 *  TASK1~TASK3,初期優先度: MID_PRIORITY)で構成される.また,起動周
     53 *  期が2秒の周期ハンドラ(周期ハンドラID: CYCHDR1)を用いる.
     54 *
     55 *  並行実行されるタスクは,task_loop回空ループを実行する度に,タスクが
     56 *  実行中であることをあらわすメッセージを表示する.空ループを実行する
     57 *  のは,空ループなしでメッセージを出力すると,多量のメッセージが出力
     58 *  され,プログラムの動作が確認しずらくなるためである.また,低速なシ
     59 *  リアルポートを用いてメッセージを出力する場合に,すべてのメッセージ
     60 *  が出力できるように,メッセージの量を制限するという理由もある.
     61 *
     62 *  周期ハンドラは,三つの優先度(HIGH_PRIORITY,MID_PRIORITY,
     63 *  LOW_PRIORITY)のレディキューを回転させる.プログラムの起動直後は,
     64 *  周期ハンドラは停止状態になっている.
     65 *
     66 *  メインタスクは,シリアルI/Oポートからの文字入力を行い(文字入力を
     67 *  待っている間は,並列実行されるタスクが実行されている),入力された
     68 *  文字に対応した処理を実行する.入力された文字と処理の関係は次の通り.
     69 *  Control-Cまたは'Q'が入力されると,プログラムを終了する.
     70 *
     71 *  '1' : 対象タスクをTASK1に切り換える(初期設定).
     72 *  '2' : 対象タスクをTASK2に切り換える.
     73 *  '3' : 対象タスクをTASK3に切り換える.
     74 *  'a' : 対象タスクをcTask_activateにより起動する.
     75 *  'A' : 対象タスクに対する起動要求をcTask_cancelActivateによりキャンセルする.
     76 *  'e' : 対象タスクにexitTaskを呼び出させ,終了させる.
     77 *  't' : 対象タスクをcTask_terminateにより強制終了する.
     78 *  '>' : 対象タスクの優先度をHIGH_PRIORITYにする.
     79 *  '=' : 対象タスクの優先度をMID_PRIORITYにする.
     80 *  '<' : 対象タスクの優先度をLOW_PRIORITYにする.
     81 *  'G' : 対象タスクの優先度をcTask_getPriorityで読み出す.
     82 *  's' : 対象タスクにsleepを呼び出させ,起床待ちにさせる.
     83 *  'S' : 対象タスクにsleepTimeout10秒)を呼び出させ,起床待ちにさせる.
     84 *  'w' : 対象タスクをcTask_wakeupにより起床する.
     85 *  'W' : 対象タスクに対する起床要求をcTask_cancelWakeupによりキャンセルする.
     86 *  'l' : 対象タスクをcTask_releaseWaitにより強制的に待ち解除にする.
     87 *  'u' : 対象タスクをcTask_suspendにより強制待ち状態にする.
     88 *  'm' : 対象タスクの強制待ち状態をcTask_resumeにより解除する.
     89 *  'd' : 対象タスクにdelay(10秒)を呼び出させ,時間経過待ちにさせる.
     90 *  'x' : 対象タスクにraiseTerminateにより終了要求する.
     91 *  'y' : 対象タスクにdisableTerminateを呼び出させ,タスク終了を禁止する.
     92 *  'Y' : 対象タスクにenableTerminateを呼び出させ,タスク終了を許可する.
     93 *  'r' : 3つの優先度(HIGH_PRIORITY,MID_PRIORITY,LOW_PRIORITY)のレ
     94 *        ディキューを回転させる.
     95 *  'c' : 周期ハンドラを動作開始させる.
     96 *  'C' : 周期ハンドラを動作停止させる.
     97 *  'b' : アラームハンドラを5秒後に起動するよう動作開始させる.
     98 *  'B' : アラームハンドラを動作停止させる.
     99 *  'z' : 対象タスクにCPU例外を発生させる(タスクを終了させる).
     100 *  'Z' : 対象タスクにCPUロック状態でCPU例外を発生させる(プログラムを
     101 *        終了する).
     102 *  'V' : fetchHighResolutionTimerで高分解能タイマを2回読む.
     103 *  'v' : 発行したシステムコールを表示する(デフォルト).
     104 *  'q' : 発行したシステムコールを表示しない.
     105 * 呼び口関数 #_TCPF_#
    145106 * require port: signature:sKernel context:task
    146107 *   ER             getExtendedInformation( intptr_t* p_exinf );
     
    246207
    247208/*
    248  *  サービスコールのエラーのログ出力
     209 *  サービスコールのエラーのログ出力
    249210 */
    250211Inline void
     
    259220
    260221/*
    261  *  並行実行されるタスクへのメッセージ領域
     222 *  並行実行されるタスクへのメッセージ領域
    262223 */
    263224char    message[3];
    264225
    265226/*
    266  *  ループ回数
    267  */
    268 ulong_t task_loop;              /* タスクå†
    269 ã§ã®ãƒ«ãƒ¼ãƒ—回数 */
    270 
    271 /*
    272  *  並行実行されるタスク
     227 *  ループ回数
     228 */
     229ulong_t task_loop;              /* タスク内でのループ回数 */
     230
     231/*
     232 *  並行実行されるタスク
    273233 */
    274234void eSampleTask_main(int_t subscript)
     
    330290
    331291/*
    332  *  CPU例外ハンドラ
    333  */
    334 
    335 ID      cpuexc_tskid;           /* CPU例外を起こしたタスクのID */
     292 *  CPU例外ハンドラ
     293 */
     294
     295ID      cpuexc_tskid;           /* CPU例外を起こしたタスクのID */
    336296
    337297#ifdef CPUEXC1
     
    373333
    374334/*
    375  *  周期ハンドラ
    376  *
    377  *  HIGH_PRIORITY,MID_PRIORITY,LOW_PRIORITY の各優å
    378 ˆåº¦ã®ãƒ¬ãƒ‡ã‚£ã‚­ãƒ¥ãƒ¼
    379  *  を回転させる.
     335 *  周期ハンドラ
     336 *
     337 *  HIGH_PRIORITY,MID_PRIORITY,LOW_PRIORITY の各優先度のレディキュー
     338 *  を回転させる.
    380339 */
    381340/* #[<ENTRY_FUNC>]# eiCyclicHandler_main
     
    393352
    394353/*
    395  *  アラームハンドラ
    396  *
    397  *  HIGH_PRIORITY,MID_PRIORITY,LOW_PRIORITY の各優å
    398 ˆåº¦ã®ãƒ¬ãƒ‡ã‚£ã‚­ãƒ¥ãƒ¼
    399  *  を回転させる.
     354 *  アラームハンドラ
     355 *
     356 *  HIGH_PRIORITY,MID_PRIORITY,LOW_PRIORITY の各優先度のレディキュー
     357 *  を回転させる.
    400358 */
    401359/* #[<ENTRY_FUNC>]# eiAlarmHandler_main
     
    412370}
    413371/*
    414  *  例外処理タスク
     372 *  例外処理タスク
    415373 */
    416374/* #[<ENTRY_FUNC>]# eExceptionTask_main
     
    424382}
    425383/*
    426  *  メインタスク
    427  */
    428 /* 属性の設定 *//* #[<ENTRY_FUNC>]# eMainTask_main
     384 *  メインタスク
     385 */
     386/* 属性の設定 *//* #[<ENTRY_FUNC>]# eMainTask_main
    429387 * name:         eMainTask_main
    430388 * global_name:  tSample2_eMainTask_main
     
    447405        } else {
    448406                /*
    449                  *  シリアル出力ができない場合、ログメッセージをå
    450 ¨ã¦
    451                  *  低レベル出力により出力する。
     407                 *  シリアル出力ができない場合、ログメッセージを全て
     408                 *  低レベル出力により出力する。
    452409                 */
    453410                SVC_PERROR(cSysLog_mask(LOG_UPTO(LOG_INFO), LOG_UPTO(LOG_DEBUG)));
     
    456413
    457414        /*
    458          *  シリアルポートの初期化
     415         *  シリアルポートの初期化
    459416         *
    460          *  システムログタスクと同じシリアルポートを使う場合など,シリアル
    461          *  ポートがオープン済みの場合にはここでE_OBJエラーになるが,支障は
    462          *  ない.
     417         *  システムログタスクと同じシリアルポートを使う場合など,シリアル
     418         *  ポートがオープン済みの場合にはここでE_OBJエラーになるが,支障は
     419         *  ない.
    463420         */
    464421
     
    473430
    474431        /*
    475          *  ループ回数の設定
     432         *  ループ回数の設定
    476433         *
    477          *  並行実行されるタスクå†
    478 ã§ã®ç©ºãƒ«ãƒ¼ãƒ—の回数(task_loop)は,空ルー
    479          *  プの実行時間が約0.4秒になるように設定する.この設定のために,
    480          *  LOOP_REF回の空ループの実行時間を,その前後でget_timを呼ぶことで
    481          *  測定し,その測定結果から空ループの実行時間が0.4秒になるループ回
    482          *  数を求め,task_loopに設定する.
     434         *  並行実行されるタスク内での空ループの回数(task_loop)は,空ルー
     435         *  プの実行時間が約0.4秒になるように設定する.この設定のために,
     436         *  LOOP_REF回の空ループの実行時間を,その前後でget_timを呼ぶことで
     437         *  測定し,その測定結果から空ループの実行時間が0.4秒になるループ回
     438         *  数を求め,task_loopに設定する.
    483439         *
    484          *  LOOP_REFは,デフォルトでは1,000,000に設定しているが,想定したよ
    485          *  りé
    486 ã„プロセッサでは,サンプルプログラムの実行開始に時間がかか
    487          *  りすぎるという問題を生じる.逆に想定したより速いプロセッサでは,
    488          *  LOOP_REF回の空ループの実行時間が短くなり,task_loopに設定する値
    489          *  の誤差が大きくなるという問題がある.
     440         *  LOOP_REFは,デフォルトでは1,000,000に設定しているが,想定したよ
     441         *  り遅いプロセッサでは,サンプルプログラムの実行開始に時間がかか
     442         *  りすぎるという問題を生じる.逆に想定したより速いプロセッサでは,
     443         *  LOOP_REF回の空ループの実行時間が短くなり,task_loopに設定する値
     444         *  の誤差が大きくなるという問題がある.
    490445         *
    491          *  そこで,そのようなターゲットでは,target_test.hで,LOOP_REFを適
    492          *  切な値に定義するのが望ましい.
     446         *  そこで,そのようなターゲットでは,target_test.hで,LOOP_REFを適
     447         *  切な値に定義するのが望ましい.
    493448         *
    494          *  また,task_loopの値を固定したい場合には,その値をTASK_LOOPにマ
    495          *  クロ定義する.TASK_LOOPがマクロ定義されている場合,上記の測定を
    496          *  行わずに,TASK_LOOPに定義された値を空ループの回数とする.
     449         *  また,task_loopの値を固定したい場合には,その値をTASK_LOOPにマ
     450         *  クロ定義する.TASK_LOOPがマクロ定義されている場合,上記の測定を
     451         *  行わずに,TASK_LOOPに定義された値を空ループの回数とする.
    497452         *
    498          * ターゲットによっては,空ループの実行時間の1回目の測定で,本来よ
    499          * りも長めになるものがある.このようなターゲットでは,MEASURE_TWICE
    500          * をマクロ定義することで,1回目の測定結果を捨てて,2回目の測定結果
    501          * を使う.
     453         * ターゲットによっては,空ループの実行時間の1回目の測定で,本来よ
     454         * りも長めになるものがある.このようなターゲットでは,MEASURE_TWICE
     455         * をマクロ定義することで,1回目の測定結果を捨てて,2回目の測定結果
     456         * を使う.
    502457         */
    503458#ifdef TASK_LOOP
     
    521476
    522477        /*
    523          *  タスクの起動
     478         *  タスクの起動
    524479         */
    525480
     
    529484
    530485        /*
    531          *  メインループ
     486         *  メインループ
    532487         */
    533488        if (is_cSerialPort_joined()) {
  • azure_iot_hub/trunk/asp3_dcre/sample/tSample2.cdl

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    11/*
    2  *              サンプルプログラム(2)のコンポーネント記述ファイル
     2 *              サンプルプログラム(2)のコンポーネント記述ファイル
    33 *
    44 *  $Id$
    55 */
    66/*
    7  *  カーネルオブジェクトの定義
     7 *  カーネルオブジェクトの定義
    88 */
    99import("kernel.cdl");
    1010
    1111/*
    12  *  ターゲット非依存のセルタイプの定義
     12 *  ターゲット非依存のセルタイプの定義
    1313 */
    1414import("syssvc/tSerialPort.cdl");
     
    1818
    1919/*
    20  *  ターゲット依存部の取り込み
     20 *  ターゲット依存部の取り込み
    2121 */
    2222import("target.cdl");
    2323
    2424/*
    25  *  「セルの組上げ記述」とは,"cell"で始まる行から,それに対応する"};"
    26  *  の行までのことを言う.
    27  */
    28 
    29 /*
    30  *  システムログ機能の組上げ記述
    31  *
    32  *  システムログ機能を外す場合には,以下のセルの組上げ記述を削除し,コ
    33  *  ンパイルオプションに-DTOPPERS_OMIT_SYSLOGを追加すればよい.ただし,
    34  *  システムログタスクはシステムログ機能を使用するため,それも外すこと
    35  *  がå¿
    36 è¦ã§ã‚る.また,システムログ機能のアダプタも外さなければならな
    37  *  い.tecsgenが警告メッセージを出すが,無視してよい.
     25 *  「セルの組上げ記述」とは,"cell"で始まる行から,それに対応する"};"
     26 *  の行までのことを言う.
     27 */
     28
     29/*
     30 *  システムログ機能の組上げ記述
     31 *
     32 *  システムログ機能を外す場合には,以下のセルの組上げ記述を削除し,コ
     33 *  ンパイルオプションに-DTOPPERS_OMIT_SYSLOGを追加すればよい.ただし,
     34 *  システムログタスクはシステムログ機能を使用するため,それも外すこと
     35 *  が必要である.また,システムログ機能のアダプタも外さなければならな
     36 *  い.tecsgenが警告メッセージを出すが,無視してよい.
    3837 */
    3938cell tSysLog SysLog {
    40         logBufferSize = 32;                                     /* ログバッファのサイズ */
     39        logBufferSize = 32;                                     /* ログバッファのサイズ */
    4140        initLogMask = C_EXP("LOG_UPTO(LOG_NOTICE)");
    42                                                                                 /* ログバッファに記録すべき重要度 */
     41                                                                                /* ログバッファに記録すべき重要度 */
    4342        initLowMask = C_EXP("LOG_UPTO(LOG_EMERG)");
    44                                                                                 /* 低レベル出力すべき重要度 */
    45 
    46         /* 低レベル出力との結合 */
     43                                                                                /* 低レベル出力すべき重要度 */
     44
     45        /* 低レベル出力との結合 */
    4746        cPutLog = PutLogTarget.ePutLog;
    4847};
    4948
    5049/*
    51  *  シリアルインタフェースドライバの組上げ記述
    52  *
    53  *  シリアルインタフェースドライバを外す場合には,以下のセルの組上げ記
    54  *  述を削除すればよい.ただし,システムログタスクはシリアルインタフェー
    55  *  スドライバを使用するため,それも外すことがå¿
    56 è¦ã§ã‚る.また,シリア
    57  *  ルインタフェースドライバのアダプタも外さなければならない.
     50 *  シリアルインタフェースドライバの組上げ記述
     51 *
     52 *  シリアルインタフェースドライバを外す場合には,以下のセルの組上げ記
     53 *  述を削除すればよい.ただし,システムログタスクはシリアルインタフェー
     54 *  スドライバを使用するため,それも外すことが必要である.また,シリア
     55 *  ルインタフェースドライバのアダプタも外さなければならない.
    5856 */
    5957cell tSerialPort SerialPort1 {
    60         receiveBufferSize = 256;                        /* 受信バッファのサイズ */
    61         sendBufferSize    = 256;                        /* 送信バッファのサイズ */
    62 
    63         /* ターゲット依存部との結合 */
     58        receiveBufferSize = 256;                        /* 受信バッファのサイズ */
     59        sendBufferSize    = 256;                        /* 送信バッファのサイズ */
     60
     61        /* ターゲット依存部との結合 */
    6462        cSIOPort = SIOPortTarget1.eSIOPort;
    65         eiSIOCBR <= SIOPortTarget1.ciSIOCBR;    /* コールバック */
    66 };
    67 
    68 /*
    69  *  システムログタスクの組上げ記述
    70  *
    71  *  システムログタスクを外す場合には,以下のセルの組上げ記述を削除すれ
    72  *  ばよい.
     63        eiSIOCBR <= SIOPortTarget1.ciSIOCBR;    /* コールバック */
     64};
     65
     66/*
     67 *  システムログタスクの組上げ記述
     68 *
     69 *  システムログタスクを外す場合には,以下のセルの組上げ記述を削除すれ
     70 *  ばよい.
    7371 */
    7472cell tLogTask LogTask {
    75         priority  = 3;                                  /* システムログタスクの優å
    76 ˆåº¦ */
    77         stackSize = LogTaskStackSize;   /* システムログタスクのスタックサイズ */
    78 
    79         /* シリアルインタフェースドライバとの結合 */
     73        priority  = 3;                                  /* システムログタスクの優先度 */
     74        stackSize = LogTaskStackSize;   /* システムログタスクのスタックサイズ */
     75
     76        /* シリアルインタフェースドライバとの結合 */
    8077        cSerialPort        = SerialPort1.eSerialPort;
    8178        cnSerialPortManage = SerialPort1.enSerialPortManage;
    8279
    83         /* システムログ機能との結合 */
     80        /* システムログ機能との結合 */
    8481        cSysLog = SysLog.eSysLog;
    8582
    86         /* 低レベル出力との結合 */
     83        /* 低レベル出力との結合 */
    8784        cPutLog = PutLogTarget.ePutLog;
    8885};
    8986
    9087/*
    91  *  カーネル起動メッセージ出力の組上げ記述
    92  *
    93  *  カーネル起動メッセージの出力を外す場合には,以下のセルの組上げ記述
    94  *  を削除すればよい.
     88 *  カーネル起動メッセージ出力の組上げ記述
     89 *
     90 *  カーネル起動メッセージの出力を外す場合には,以下のセルの組上げ記述
     91 *  を削除すればよい.
    9592 */
    9693cell tBanner Banner {
    97         /* 属性の設定 */
     94        /* 属性の設定 */
    9895        targetName      = BannerTargetName;
    9996        copyrightNotice = BannerCopyrightNotice;
     
    10198
    10299/*
    103  *  サンプルプログラムの定義
     100 *  サンプルプログラムの定義
    104101 */
    105102[singleton]
    106103celltype tSample2 {
    107         require tKernel.eKernel;                        /* 呼び口名なし(例:delay)*/
    108         /*require cKernel = tKernel.eKernel;/* 呼び口名あり(例:cKernel_delay)*/
    109         require ciKernel = tKernel.eiKernel;/* 呼び口名あり(例:ciKernel_)*/
    110 
    111         call sTask                  cTask[4];           /* タスク操作 */
     104        require tKernel.eKernel;                        /* 呼び口名なし(例:delay)*/
     105        /*require cKernel = tKernel.eKernel;/* 呼び口名あり(例:cKernel_delay)*/
     106        require ciKernel = tKernel.eiKernel;/* 呼び口名あり(例:ciKernel_)*/
     107
     108        call sTask                  cTask[4];           /* タスク操作 */
    112109        call sTask                      cExceptionTask;
    113110        call sCyclic        cCyclic;
    114111        call sAlarm         cAlarm;
    115112
    116         [optional] call sSerialPort     cSerialPort;/* シリアルドライバとの接続 */
    117         call sSysLog            cSysLog;                /* システムログ機能との接続 */
     113        [optional] call sSerialPort     cSerialPort;/* シリアルドライバとの接続 */
     114        call sSysLog            cSysLog;                /* システムログ機能との接続 */
    118115       
    119         entry sTaskBody         eMainTask;              /* Mainタスク */
    120         entry sTaskBody         eSampleTask[3]; /* 並行実行されるタスク */
    121         entry sTaskBody         eExceptionTask; /* 例外処理タスク */
     116        entry sTaskBody         eMainTask;              /* Mainタスク */
     117        entry sTaskBody         eSampleTask[3]; /* 並行実行されるタスク */
     118        entry sTaskBody         eExceptionTask; /* 例外処理タスク */
    122119       
    123         entry siHandlerBody eiCyclicHandler;/* 周期ハンドラ*/
    124         entry siHandlerBody eiAlarmHandler; /* アラームハンドラ */
    125 };
    126 
    127 /*
    128  *  組み上げ記述
    129  */
    130 
    131 /* Sample2のプロトタイプ宣言 */
     120        entry siHandlerBody eiCyclicHandler;/* 周期ハンドラ*/
     121        entry siHandlerBody eiAlarmHandler; /* アラームハンドラ */
     122};
     123
     124/*
     125 *  組み上げ記述
     126 */
     127
     128/* Sample2のプロトタイプ宣言 */
    132129cell tSample2 Sample2;
    133130
     
    136133
    137134cell tTask MainTask {
    138         /* 呼び口の結合 */
     135        /* 呼び口の結合 */
    139136        cTaskBody = Sample2.eMainTask;
    140         /* 属性の設定 */
     137        /* 属性の設定 */
    141138        attribute = C_EXP("TA_ACT");
    142139        priority = C_EXP("MAIN_PRIORITY");
     
    145142
    146143cell tTask Task1 {
    147         /* 呼び口の結合 */
     144        /* 呼び口の結合 */
    148145        cTaskBody = Sample2.eSampleTask[0];
    149           /* 属性の設定 */
     146          /* 属性の設定 */
    150147        priority = C_EXP("MID_PRIORITY");
    151148        stackSize = C_EXP("STACK_SIZE");
     
    153150
    154151cell tTask Task2 {
    155         /* 呼び口の結合 */
     152        /* 呼び口の結合 */
    156153        cTaskBody = Sample2.eSampleTask[1];
    157         /* 属性の設定 */
     154        /* 属性の設定 */
    158155        priority = C_EXP("MID_PRIORITY");
    159156        stackSize = C_EXP("STACK_SIZE");
     
    161158
    162159cell tTask Task3 {
    163         /* 呼び口の結合 */
     160        /* 呼び口の結合 */
    164161        cTaskBody = Sample2.eSampleTask[2];
    165         /* 属性の設定 */
     162        /* 属性の設定 */
    166163        priority = C_EXP("MID_PRIORITY");
    167164        stackSize = C_EXP("STACK_SIZE");
     
    169166
    170167cell tTask ExceptionTask {
    171         /* 呼び口の結合 */
     168        /* 呼び口の結合 */
    172169        cTaskBody = Sample2.eExceptionTask;
    173         /* 属性の設定 */
     170        /* 属性の設定 */
    174171        priority = C_EXP("EXC_PRIORITY");
    175172        stackSize = C_EXP("STACK_SIZE");
     
    177174
    178175cell tCyclicHandler CyclicHandler {
    179         /* 呼び口の結合 */
     176        /* 呼び口の結合 */
    180177        ciHandlerBody = Sample2.eiCyclicHandler;
    181         /* 属性の設定 */
     178        /* 属性の設定 */
    182179        cycleTime = 2000000;
    183180};
     
    188185
    189186cell tSample2 Sample2 {
    190         /* 呼び口の結合 */
     187        /* 呼び口の結合 */
    191188        cTask[ 0 ] = MainTask.eTask;
    192189        cTask[ 1 ] = Task1.eTask;
  • azure_iot_hub/trunk/asp3_dcre/sample/tSample2.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    11/*
    2  *              サンプルプログラム(2)のシステムコンフィギュレーションファイル
     2 *              サンプルプログラム(2)のシステムコンフィギュレーションファイル
    33 *
    44 *  $Id$
  • azure_iot_hub/trunk/asp3_dcre/sample/tSample2.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    99 *              Graduate School of Information Science, Nagoya Univ., JAPAN
    1010 *
    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 è²¬ã™ã‚‹ã“と.
     11 *  上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
     12 *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
     13 *  変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
     14 *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
     15 *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
     16 *      スコード中に含まれていること.
     17 *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
     18 *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
     19 *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
     20 *      の無保証規定を掲載すること.
     21 *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
     22 *      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
     23 *      と.
     24 *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
     25 *        作権表示,この利用条件および下記の無保証規定を掲載すること.
     26 *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
     27 *        報告すること.
     28 *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
     29 *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
     30 *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
     31 *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
     32 *      免責すること.
    4733 *
    48  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    49 ãŠ
    50  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    51  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    52  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    53  *  の責任を負わない.
     34 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     35 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     36 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     37 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     38 *  の責任を負わない.
    5439 *
    5540 *  $Id$
     
    5742
    5843/*
    59  *              サンプルプログラム(2)のヘッダファイル
     44 *              サンプルプログラム(2)のヘッダファイル
    6045 */
    6146
    6247/*
    63  *  ターゲット依存の定義
     48 *  ターゲット依存の定義
    6449 */
    6550#include "target_test.h"
    6651
    6752/*
    68  *  各タスクの優å
    69 ˆåº¦ã®å®šç¾©
     53 *  各タスクの優先度の定義
    7054 */
    7155
    72 #define EXC_PRIORITY    1               /* 例外処理タスクの優å
    73 ˆåº¦ */
    74 #define MAIN_PRIORITY   5               /* メインタスクの優å
    75 ˆåº¦ */
    76                                                                 /* HIGH_PRIORITYより高くすること */
     56#define EXC_PRIORITY    1               /* 例外処理タスクの優先度 */
     57#define MAIN_PRIORITY   5               /* メインタスクの優先度 */
     58                                                                /* HIGH_PRIORITYより高くすること */
    7759
    78 #define HIGH_PRIORITY   9               /* 並列に実行されるタスクの優å
    79 ˆåº¦ */
     60#define HIGH_PRIORITY   9               /* 並列に実行されるタスクの優先度 */
    8061#define MID_PRIORITY    10
    8162#define LOW_PRIORITY    11
    8263
    8364/*
    84  *  ターゲットに依存する可能性のある定数の定義
     65 *  ターゲットに依存する可能性のある定数の定義
    8566 */
    8667
    8768#ifndef STACK_SIZE
    88 #define STACK_SIZE              4096            /* タスクのスタックサイズ */
     69#define STACK_SIZE              4096            /* タスクのスタックサイズ */
    8970#endif /* STACK_SIZE */
    9071
    9172#ifndef LOOP_REF
    92 #define LOOP_REF                ULONG_C(1000000)        /* 速度計測用のループ回数 */
     73#define LOOP_REF                ULONG_C(1000000)        /* 速度計測用のループ回数 */
    9374#endif /* LOOP_REF */
    9475
    9576/*
    96  *  関数のプロトタイプ宣言
     77 *  関数のプロトタイプ宣言
    9778 */
    9879#ifndef TOPPERS_MACRO_ONLY
Note: See TracChangeset for help on using the changeset viewer.