10.16 コンフィギュレーション データベースの拡張

デフォルトでは、プラットフォーム コンフィギュレーション エディタは、メインのコンフィギュレーション データベースで既に使用可能になっているコンポーネントを自動検出します。components.xml ファイルを作成して、Configuration Database フォルダの Components フォルダに追加することにより、自動検出されるコンポーネントの数を増やすこともできます。

要約すると、コンポーネント自動検出機能を拡張するには、以下の手順を実行します。

  1. components.xml を作成し、このファイルに部品の詳細情報を追加します。
  2. カスタム コンフィギュレーション データベース フォルダに、Components という名前のフォルダを作成します。
  3. カスタム components.xml ファイルを Components フォルダに置きます。

components.xml ファイルの構造

components.xml は、関連する属性をもついくつかの要素で構造的に構成されます。例えば、

<componentDatabase version="1.0">

  <manufacturer>      <!-- 製造元名、製造元の JEP コード、1 つ以上の部品を含む製造元要素。-->

    <name>ARM</name>      <!-- 部品の製造元名。-->

      <jepcode>0x43B</jepcode>     <!--製造元の JEDEC JEP-106 製造元 ID コード。
          <part>    <!--部品の宣言。-->

               <number>0x9D7</number>      <!-- 部品 ID。部品が正常に検出されるために必要です。-->

               <name>CSPMU</name>	     <!-- 部品名。ある部品のファームウェア テンプレートが存在しない場合には、CoreSight REG テンプレートがその部品に使用されます。-->

               <description>New CoreSight PMU part</description>      <!--部品の簡単な説明。-->

               <DEVTYPE>0x16</DEVTYPE>     <!-- 部品の種類。これはオプションです。部品番号が複数のコンポーネントに共有されている場合、<DEVTYPE> を使用して
                                                異なる部品を区別します。-->

               <DEVARCH>0x16</DEVARCH>	<!-- 開発アーキテクチャ。これはオプションです。部品番号が複数のコンポーネントに共有されている場合、DEVARCH を使用して
                                                異なる開発アーキテクチャを区別します。-->

               <uses_template>CSPMU</uses_template>     <!--部品の代替テンプレート。ファームウェア テンプレートをオーバーライドするには、この要素を使用します。-->

         </part>

  </manufacturer>

</componentDatabase>

表 10-1 components.xml ファイルで使用される要素

要素名 [Description]
<componentDatabase>

components.xml ファイルの定義。<componentDatabase version="1.0"> のように、version 属性を使用してファイル バージョンを定義します。

<manufacturer>

製造元名、製造元の JEP コード、1 つ以上の部品を含む製造元要素。

<name>

部品の製造元名。

<jepcode>

製造元の JEDEC JEP-106 製造元 ID コード。JEP106 は、7 ビットの "識別コード" と、"継続コード" の使用によってコードの範囲を拡張するメカニズムを提供します。

JEDEC JEP-106 製造元 ID コードの詳細については、「What is the JEDEC JEP-106 Manufacturer ID Code and how is it used?」を参照してください。

<part>

コンポーネント部品の宣言。

<number>

部品 ID。部品が正常に検出されるために必要です。

部品に複数の ID がある場合、セミコロン (;) で区切って列挙できます。たとえば、「<number>0x9D7;0xD14</number>」のように表します。

<DEVTYPE>

部品の種類。これはオプションです。

複数のコンポーネントが部品番号を共有している場合には、<DEVTYPE> を使用して異なる部品を区別します。

<DEVARCH>

開発アーキテクチャ。これはオプションです。

複数のコンポーネントが部品番号を共有している場合には、DEVARCH を使用して異なる開発アーキテクチャを区別します。

<name>

部品名。ある部品のファームウェア テンプレートが存在しない場合には、CSREG テンプレートがその部品に使用されます。

<uses_template>

部品の代替テンプレート。ファームウェア テンプレートをオーバーライドするには、この要素を使用します。

<description>

部品の簡単な説明。

<core_definition>

コアの定義。どの DS-5 コンフィギュレーション データベース コアの定義を使用する必要があるかを示すために使用されます。

これが使用できない場合、値 <name> がコアの定義に使用されます。

<family>

プロセッサ コア ファミリの名前。

<class> コンポーネントのデバイス クラス。これには TraceSinkTraceSourceTraceLink、または CoreExecutable を使用できます。
<architecture> コアのアーキテクチャ。ARMv7-AARMv7-RARMv7-MARMv8-AARMv8-RARMv8-M など。
<MPCore> このコンポーネントが、対称型マルチプロセッサ (SMP) 対応のコアであることを示します。
<device_info_list> 一連の device_info 項目で、PCE が正しい DTSL オブジェクトを作成し設定できるようにするために必要な情報 (キーと値のペア) を含みます。
<Option> device_info 項目の値のオプション。指定されたコンポーネントの種類に対して固定されています。つまり、新しいオプションを追加することはできず、既存のオプションを削除するとエラーが発生します。
<topology_info> 一連のトポロジ リンク制約情報の項目。ATBCTI_TriggerCoreTrace など、特定のインタフェース型への最大 / 最小およびマスタ / スレーブ インタフェース接続を記述します。
<atb_link> ATB インタフェースへの最小 / 最大接続の情報。
<core_trace_link> CoreTrace インタフェースへの最小 / 最大接続の情報。
<cti_link> CTI インタフェースへの最小 / 最大接続の情報。

部品定義の例

以下の例は、いくつかのサンプル設定を示します。

例 10-1 CoreSight パフォーマンス モニタ ユニット (PMU) の追加 (1)

    <part>
      <number>0x9D7</number>
      <name>CSPMU</name>
      <description>New CoreSight PMU part</description>
      <DEVTYPE>0x16</DEVTYPE>
      <DEVARCH>0x16</DEVARCH>
    </part>

例 10-2 CoreSight パフォーマンス モニタ ユニット (CSPMU) の追加 (2)

    <part>
      <number>0x999</number>
      <name>MyNewPart</name>
      <description>New PMU Type</description>
      <DEVTYPE>0x16</DEVTYPE>
      <DEVARCH>0x16</DEVARCH>
      <uses_template>CSPMU </uses_template>
    </part>

例 10-3 コアの追加

    <part>
      <number>0xD13;0xD14</number>
      <name>MyNewCore</name>
      <description>My new core type</description>
      <DEVTYPE>0x15</DEVTYPE>
      <DEVARCH>0x15</DEVARCH>
      <uses_template>V8A-Generic</uses_template>	
      <core_definition>MyNewCoreDefinition<core_definition>
      <family>Cortex</family>
      <class>CoreExecutable</class>
      <architecture>ARMv8-A</architecture>
      <MPCore>True</MPCore>
    </part>

例 10-4 CoreSight 組み込みトレース マクロセルの追加

    <part>
      <number>0x9B6</number>
      <name>CSETM</name>
      <description>CoreSight Embedded Trace Macrocell</description>
      <device_info_list>
        <device_info name="VERSION" description="ETM Version" type="string" value="4.0">
          <Option>3.0</Option>
          <Option>3.1</Option>
          <Option>3.2</Option>
          <Option>3.3</Option>
          <Option>3.4</Option>
          <Option>3.5</Option>
          <Option>4.0</Option>
          <Option>4.2</Option>
        </device_info>
        <device_info name="SUPPORTS_CONTEXT_IDS" description="Context IDs supported" type="bool" value="True"/>
        <device_info name="SUPPORTS_CYCLE_ACCURATE" description="Cycle-Accurate tracing supported" type="bool" value="True"/>
        <device_info name="SUPPORTS_DATA_VALUE_TRACE" description="Data Value trace supported" type="bool" value="True"/>
        <device_info name="SUPPORTS_DATA_ADDRESS_TRACE" description="Data Address trace supported" type="bool" value="True"/>
        <device_info name="SUPPORTS_DATA_ONLY_MODE" description="Data-Only tracing supported" type="bool" value="True"/>
        <device_info name="SUPPORTS_TIMESTAMPS" description="Timestamps are supported" type="bool" value="True"/>
        <device_info name="SUPPORTS_TRACE_RANGES" description="Trace Ranges are supported" type="bool" value="True"/>
      </device_info_list>
      <topology_info>
        <atb_link position="master" minSlaves="1" numMasterInterfaces="1"/>
        <core_trace_link position="slave" minMasters="1" maxMasters="1"/>
        <cti_link position="master" minSlaves="0" maxSlaves="1" devices="CSCTI"/>
      </topology_info>
    </part>
非機密扱いPDF file icon PDF 版ARM DUI0446ZJ
Copyright © 2010–2016 ARM.All rights reserved.