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

ビルドが通るよう更新

File:
1 edited

Legend:

Unmodified
Added
Removed
  • azure_iot_hub/trunk/asp3_dcre/tecsgen/tecslib/plugin/HRP2TaskPlugin.rb

    • Property svn:mime-type changed from text/x-ruby to text/x-ruby;charset=UTF-8
    r388 r389  
    66#   Copyright (C) 2008-2014 by TOPPERS Project
    77#--
    8 #   ä¸Šè¨˜è‘—作権è€
    9 ã¯ï¼Œä»¥ä¸‹ã®(1)~(4)の条件を満たす場合に限り,本ソフトウェ
    10 #   ã‚¢ï¼ˆæœ¬ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ã‚’改変したものを含む.以下同じ)を使用・複製・改
    11 #   å¤‰ãƒ»å†é
    12 å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
    13 #   (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
    14 #       æ¨©è¡¨ç¤ºï¼Œã“の利用条件および下記の無保証規定が,そのままの形でソー
    15 #       ã‚¹ã‚³ãƒ¼ãƒ‰ä¸­ã«å«ã¾ã‚Œã¦ã„ること.
    16 #   (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
    17 #       ç”¨ã§ãã‚‹å½¢ã§å†é
    18 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é
    19 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
    20 #       è€
    21 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—作権表示,この利用条件および下記
    22 #       ã®ç„¡ä¿è¨¼è¦å®šã‚’掲載すること.
    23 #   (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
    24 #       ç”¨ã§ããªã„形で再é
    25 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
    26 #       ã¨ï¼Ž
    27 #     (a) 再é
    28 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€
    29 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—
    30 #         ä½œæ¨©è¡¨ç¤ºï¼Œã“の利用条件および下記の無保証規定を掲載すること.
    31 #     (b) 再é
    32 å¸ƒã®å½¢æ
    33 ‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
    34 #         å ±å‘Šã™ã‚‹ã“と.
    35 #   (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
    36 #       å®³ã‹ã‚‰ã‚‚,上記著作権è€
    37 ãŠã‚ˆã³TOPPERSプロジェクトをå
    38 è²¬ã™ã‚‹ã“と.
    39 #       ã¾ãŸï¼Œæœ¬ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ã®ãƒ¦ãƒ¼ã‚¶ã¾ãŸã¯ã‚¨ãƒ³ãƒ‰ãƒ¦ãƒ¼ã‚¶ã‹ã‚‰ã®ã„かなる理
    40 #       ç”±ã«åŸºã¥ãè«‹æ±‚からも,上記著作権è€
    41 ãŠã‚ˆã³TOPPERSプロジェクトを
    42 #       å
    43 è²¬ã™ã‚‹ã“と.
     8#   上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
     9#   ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
     10#   変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
     11#   (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
     12#       権表示,この利用条件および下記の無保証規定が,そのままの形でソー
     13#       スコード中に含まれていること.
     14#   (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
     15#       用できる形で再配布する場合には,再配布に伴うドキュメント(利用
     16#       者マニュアルなど)に,上記の著作権表示,この利用条件および下記
     17#       の無保証規定を掲載すること.
     18#   (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
     19#       用できない形で再配布する場合には,次のいずれかの条件を満たすこ
     20#       と.
     21#     (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
     22#         作権表示,この利用条件および下記の無保証規定を掲載すること.
     23#     (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
     24#         報告すること.
     25#   (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
     26#       害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
     27#       また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
     28#       由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
     29#       免責すること.
    4430
    45 #   æœ¬ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ã¯ï¼Œç„¡ä¿è¨¼ã§æä¾›ã•ã‚Œã¦ã„るものである.上記著作権è€
    46 ãŠ
    47 #   ã‚ˆã³TOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    48 #   ã«å¯¾ã™ã‚‹é©åˆæ€§ã‚‚含めて,いかなる保証も行わない.また,本ソフトウェ
    49 #   ã‚¢ã®åˆ©ç”¨ã«ã‚ˆã‚Šç›´æŽ¥çš„または間接的に生じたいかなる損害に関しても,そ
    50 #   ã®è²¬ä»»ã‚’負わない.
     31#   本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     32#   よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     33#   に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     34#   アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     35#   の責任を負わない.
    5136
    5237#   $Id$
     
    5540#require "HRP2KernelObjectPlugin"
    5641require_tecsgen_lib "HRP2KernelObjectPlugin.rb"
    57 #== celltype プラグインのå
    58 ±é€šã®è¦ªã‚¯ãƒ©ã‚¹
     42#== celltype プラグインの共通の親クラス
    5943class HRP2TaskPlugin < HRP2KernelObjectPlugin
    6044    # @@ep = [:eActivateTask, :eControlTask, :eManageTask, :eReferTask ]
    61     # ATT_MODを生成済みかどうか
     45    # ATT_MODを生成済みかどうか
    6246    @@generate_memory_module = false
    6347
     
    7155        #val[:id] = val[:id].gsub( /(^|[^\$])\$id\$/, "\\1#{@celltype.get_name.to_s}_#{cell.get_global_name.to_s}" )
    7256        #val[:id] = @celltype.subst_name( val[:id], @celltype.get_name_array( cell ) )
    73         # $cbp$の代わり
     57        # $cbp$の代わり
    7458        index = cell.get_id - @celltype.get_id_base
    7559        #cell_CB_name = "#{@celltype.get_global_name}_pCB_tab[#{index}]"
    7660        cell_CB_name = "#{index}"
    77         # CRE_XXX/DEF_XXXの生成
     61        # CRE_XXX/DEF_XXXの生成
    7862        dbgPrint "assign task plugin\n"
    7963        domainOption = cell.get_region.get_domain_root.get_domain_type.get_option
     
    8165# cell.show_tree 1
    8266        if domainOption != "OutOfDomain"
    83             # 保護ドメインに属する場合
     67            # 保護ドメインに属する場合
    8468            if domainOption == "trusted"
    85                 # カーネルドメイン
     69                # カーネルドメイン
    8670                if val[:userStackSize] != "OMIT"
    8771                    raise "system task cannot have user stack."
     
    9276EOT
    9377            else
    94                 # ユーザドメイン
     78                # ユーザドメイン
    9579                if val[:userStackSize] == "OMIT"
    9680                    raise "user task must have user stack."
     
    10993            end
    11094        else
    111             # 無所属の場合
     95            # 無所属の場合
    11296            raise "task #{val[:id]} must belong to a domain."
    11397        end
    11498   
    115         # 例外用のを生成
     99        # 例外用のを生成
    116100        file.print <<EOT
    117101#{tab}DEF_TEX(#{val[:id]}, { #{val[:exceptionAttribute]}, tTask_start_exception });
     
    124108
    125109=begin
    126     #tTaskの受け口リスト
     110    #tTaskの受け口リスト
    127111    def get_entry_ports_name_list()
    128112        @@ep
     
    130114=end
    131115    #
    132     #  ATT_MODの生成
    133     #  gen_factory実行時には,すべてのセルタイププラグインを生成済みのはずなので,
    134     #  カーネルAPIコードのメモリ保護を省略できる.
     116    #  ATT_MODの生成
     117    #  gen_factory実行時には,すべてのセルタイププラグインを生成済みのはずなので,
     118    #  カーネルAPIコードのメモリ保護を省略できる.
    135119    #
    136120    def gen_factory file
     
    140124
    141125            Cell.get_cell_list2.each { |cell|
    142                 # すべてのセルを走査してセルタイプをチェック
     126                # すべてのセルを走査してセルタイプをチェック
    143127                ct = cell.get_celltype
    144128                if ct.class == Celltype && check_celltype_list.include?( ct ) == false
    145                     # チェック済みセルタイプに登録
     129                    # チェック済みセルタイプに登録
    146130                    check_celltype_list << ct
    147131
    148                     # 未チェックのセルタイプだった場合
     132                    # 未チェックのセルタイプだった場合
    149133                    # puts "check for ATT_MOD : #{ct.classget_global_name}"
    150134                    puts "check for ATT_MOD : #{ct.get_global_name}"
    151135                       
    152                     # カーネルAPIのコード,データはメモリ保護しない
     136                    # カーネルAPIのコード,データはメモリ保護しない
    153137                    next if HRP2KernelObjectPlugin.include_celltype?( ct )
    154138
    155                     # å¿
    156 è¦ã®ãªã„セルタイプのコード,データはメモリ保護しない
     139                    # 必要のないセルタイプのコード,データはメモリ保護しない
    157140                    next if ! ct.need_generate?
    158141
    159                     # HRP2のドメインリージョンを取得
     142                    # HRP2のドメインリージョンを取得
    160143                    regions = ct.get_domain_roots
    161144                    regions_hrp2 = regions[ :HRP2 ]
     
    166149                    puts ""
    167150
    168                     # セル管理ブロックとスケルトンのメモリ保護
    169                     # gen_celltype_names_domain 相当の処理
     151                    # セル管理ブロックとスケルトンのメモリ保護
     152                    # gen_celltype_names_domain 相当の処理
    170153                    if regions_hrp2.include?( Region.get_root ) == false && regions_hrp2.length > 1
    171                         # ドメインが複数で,OutOfDomainにセルが存在しないセルタイプの場合
    172                         # å
    173 ±æœ‰ã®ã‚»ãƒ«ç®¡ç†ãƒ–ロックとスケルトンコードを登録する
     154                        # ドメインが複数で,OutOfDomainにセルが存在しないセルタイプの場合
     155                        # 共有のセル管理ブロックとスケルトンコードを登録する
    174156                        file = AppFile.open( "#{$gen}/tecsgen.cfg" )
    175157                        file.print "ATT_MOD(\"#{ct.get_global_name}_tecsgen.o\");\n"
     
    188170                    }
    189171
    190                     # セルタイプコードがない場合はスキップ
     172                    # セルタイプコードがない場合はスキップ
    191173                    next if ct.is_all_entry_inline? && ! ct.is_active?
    192174
    193                     # セルタイプコードのメモリ保護
    194                     # gen_celltype_names_domain2 相当の処理
     175                    # セルタイプコードのメモリ保護
     176                    # gen_celltype_names_domain2 相当の処理
    195177                    if regions_hrp2.include?( Region.get_root ) == true || regions_hrp2.length > 1
    196                         # OutOfDomainにセルが存在するセルタイプの場合
    197                         # または,複数のドメインにセルが存在するセルタイプの場合
    198                         # セルタイプコードをå
    199 ±æœ‰ã™ã‚‹ã‚ˆã†ã«ç™»éŒ²ã™ã‚‹
     178                        # OutOfDomainにセルが存在するセルタイプの場合
     179                        # または,複数のドメインにセルが存在するセルタイプの場合
     180                        # セルタイプコードを共有するように登録する
    200181                        file = AppFile.open( "#{$gen}/tecsgen.cfg" )
    201182                    else
    202                         # OutOfDomainでない単一のドメインにセルが存在するセルタイプの場合
    203                         # セルタイプコードを専有するように登録する
     183                        # OutOfDomainでない単一のドメインにセルが存在するセルタイプの場合
     184                        # セルタイプコードを専有するように登録する
    204185                        file = AppFile.open( "#{$gen}/tecsgen_#{regions_hrp2[0].get_namespace_path.get_global_name}.cfg" )
    205186                    end
     
    208189                    file.close
    209190                else
    210                     # 何もしない
     191                    # 何もしない
    211192                end
    212193            }
     
    214195            @@generate_memory_module = true
    215196        else
    216             # 何もしない
     197            # 何もしない
    217198        end
    218199    end
Note: See TracChangeset for help on using the changeset viewer.