Changes between Initial Version and Version 1 of tips/configuration_class


Ignore:
Timestamp:
Mar 10, 2015, 7:30:49 PM (9 years ago)
Author:
fujisft-shigihara
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • tips/configuration_class

    v1 v1  
     1{{{
     2#!html
     3<div style="border:3px solid black;text-align:center;font-size:30pt;width:600px;">
     4コンフィギュレーションクラス
     5</div>
     6}}}
     7[[BR]]
     8
     9= はじめに =
     10* BSWモジュールの各コンフィギュレーションパラメータには、コンフィギュレーションクラスが規定されている
     11* コンフィギュレーションクラスは大きく3つ存在する
     12  * プレコンパイルタイム
     13  * リンクタイム
     14  * ポストビルドタイム(ポストビルドはさらに以下2つに分類される)
     15    * ローダブル(loadable)
     16    * セレクタブル(selectable)
     17
     18----
     19= プレコンパイルタイム =
     20* 概要図:[http://www.autosar.org/fileadmin/files/releases/4-0/methodology-templates/templates/standard/AUTOSAR_TPS_ECUConfiguration.pdf#page=21&view=fitv AUTOSAR_TPS_ECUConfiguration.pdf(Figure 2.2)]
     21* 対象パラメータのコンフィギュレーションが変わると、BSWモジュールの再コンパイルが必要となる
     22* BSWモジュールのコンパイル時にジェネレータで生成したヘッダファイルが必要になる
     23* プレコンパイルタイムのコンフィギュレーション情報は、{{{<Module name>_Cfg.h}}}(必要なら{{{<Module name>_Cfg.c}}})に出力される
     24  * [http://www.autosar.org/fileadmin/files/releases/4-0/software-architecture/general/standard/AUTOSAR_SRS_BSWGeneral.pdf#page=64&view=fitv AUTOSAR_SRS_BSWGeneral.pdf(BSW00346)]参照
     25  * Osの例
     26    * {{{OsScalabilityClass}}}、{{{OsStackMonitoring}}}など
     27    * {{{Os_Cfg.h}}}に出力する
     28  * Comの例
     29    * {{{ComConfigurationUseDet}}}、{{{ComVersionInfoApi}}}など
     30    * {{{Com_Cfg.h}}}に出力する
     31----
     32= リンクタイム =
     33* 概要図:[http://www.autosar.org/fileadmin/files/releases/4-0/methodology-templates/templates/standard/AUTOSAR_TPS_ECUConfiguration.pdf#page=23&view=fitv AUTOSAR_TPS_ECUConfiguration.pdf(Figure 2.3)]
     34* ジェネレータが生成したコードを別途コンパイルして生成したオブジェクトファイルをリンクすることで、コンフィギュレーションを変更する
     35* 対象パラメータのコンフィギュレーションが変わっても、BSWモジュールの静的コードの再コンパイルは必要ない
     36  * コンフィギュレーション情報を含むファイルの再コンパイルが必要
     37* コンフィギュレーション情報は、{{{<Module name>_Lcfg.h}}}、{{{<Module name>_Lcfg.c}}}に出力される
     38  * [http://www.autosar.org/fileadmin/files/releases/4-0/software-architecture/general/standard/AUTOSAR_SRS_BSWGeneral.pdf#page=64&view=fitv AUTOSAR_SRS_BSWGeneral.pdf(BSW00346)]参照
     39* Osの例
     40  * {{{OsTaskActivation}}}、{{{OsTaskPriority}}}など
     41  * {{{Os_Lcfg.h}}}、{{{Os_Lcfg.c}}}に出力する
     42    * TOPPERS/ATK2では、プレコンパイルタイムと規定されているパラメータであっても、一部ライブラリ提供のためにリンクタイムとしている
     43* Comの例
     44  * {{{ComIPduHandleId}}}、{{{ComPduIdRef}}}など
     45  * {{{Com_Lcfg.h}}}、{{{Com_Lcfg.c}}}に出力する
     46----
     47= ポストビルドタイム =
     48== ローダブル(1) ==
     49* 概要図:[http://www.autosar.org/fileadmin/files/releases/4-0/methodology-templates/templates/standard/AUTOSAR_TPS_ECUConfiguration.pdf#page=25&view=fitv AUTOSAR_TPS_ECUConfiguration.pdf(Figure 2.4)]
     50* ジェネレータが生成したコードを別途コンパイルして生成した.hexファイルをECUに配置し、別途ECUに配置したBSWモジュールからアクセスする
     51* 複数の.hexファイルを用意し、配置する.hexを変更することで、動的にコンフィギュレーションを変更できる
     52* コンフィギュレーション情報は、{{{<Module name>_PBcfg.h}}}、{{{<Module name>_PBcfg.c}}}に出力される
     53  * [http://www.autosar.org/fileadmin/files/releases/4-0/software-architecture/general/standard/AUTOSAR_SRS_BSWGeneral.pdf#page=64&view=fitv AUTOSAR_SRS_BSWGeneral.pdf(BSW00346)]参照
     54* Osは該当パラメータが無い
     55* Comの例
     56  * {{{ComIPduDirection}}}、{{{ComBitPosition}}}など
     57  * {{{Com_PBcfg.h}}}、{{{Com_PBcfg.c}}}に出力する
     58    * TOPPERS/A-COMでは、リンクタイムと規定されているパラメータであっても、実装容易性のためにポストビルドタイムとしている
     59== ローダブル(2) ==
     60* 概要図:[http://www.autosar.org/fileadmin/files/releases/4-0/methodology-templates/templates/standard/AUTOSAR_TPS_ECUConfiguration.pdf#page=26&view=fitv AUTOSAR_TPS_ECUConfiguration.pdf(Figure 2.5)]
     61* ジェネレータによって直接.hexファイルを生成する
     62== セレクタブル ==
     63* 概要図:[http://www.autosar.org/fileadmin/files/releases/4-0/methodology-templates/templates/standard/AUTOSAR_TPS_ECUConfiguration.pdf#page=27&view=fitv AUTOSAR_TPS_ECUConfiguration.pdf(Figure 2.6)]
     64* ジェネレータによって複数のコンフィギュレーション情報を含むファイルを生成し、BSWモジュールの初期化時に使用するコンフィギュレーションを選択する
     65* コンフィギュレーション情報をどういった命名規則で複数のファイルに出力するかは未規定
     66----
     67= コンフィギュレーションクラスの指定 =
     68* ECUコンフィギュレーションではモジュール毎に、{{{<IMPLEMENTATION-CONFIG-VARIANT>}}}タグでコンフィギュレーションクラスを指定する
     69  * {{{VARIANT-PRE-COMPILE}}}、{{{VARIANT-LINK-TIME}}}、{{{VARIANT-POST-BUILD}}}の3種類
     70* このどれを指定されたかによって、パラメータをどのように使用するかがパラメータ毎に規定されている
     71  * 例えばプレコンパイルタイムのパラメータは以下のように、どれを選ばれてもプレコンパイルタイムとする、とされている
     72  * {{{Pre-compile time:X | All Variants}}}
     73* 以下のパラメータの場合、{{{VARIANT-PRE-COMPILE}}}ならプレコンパイルタイムでいいが、{{{VARIANT-LINK-TIME}}}か{{{VARIANT-POST-BUILD}}}を指定されたらリンクタイムとする、という意味となる
     74  * [http://www.autosar.org/fileadmin/files/releases/4-0/software-architecture/communication-stack/standard/AUTOSAR_SWS_COM.pdf#page=128&view=fitv AUTOSAR_SWS_COM.pdf(COM175_Conf)]