14.3.3 project_types.xml について

project_types.xml ファイルは、プラットフォームについてサポートされているプロジェクトタイプを定義しています。プロジェクトタイプごとに、プラットフォームディレクトリ内の他のファイルを参照するデバッグ操作およびアクティビティが定義されています。
次は、Keil MCBSTM32E プラットフォームの project_types.xml ファイルのコードの一部です。
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!--Copyright (C) 2009-2013 ARM Limited.All rights reserved.-->
<platform_data xmlns="http://www.arm.com/project_type" xmlns:peripheral="http://com.arm.targetconfigurationeditor" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" type="HARDWARE" xsi:schemaLocation="http://www.arm.com/project_type ../../../Schemas/platform_data-1.xsd">
 <flash_config>CDB://keil-mcbstm32e_flash.xml</flash_config>
 <project_type_list>
  <project_type type="BARE_METAL">
   <name language="en">Bare Metal Debug</name>
   <description language="en">This allows a bare-metal debug connection.</description>
   <execution_environment id="BARE_METAL">
    <name language="en">Bare Metal Debug</name>
    <description language="en">This allows a bare-metal debug connection.</description>
    <param default="CDB://mcbstm32e.rvc" id="config_file" type="string" visible="false"/>
    <param default="CDB://mcbstm32e.py" id="dtsl_config_script" type="string"
             visible="false"/>
    <xi:include href="../../../Include/hardware_address.xml"/>
    <activity id="ICE_DEBUG" type="Debug">
     <name language="en">Debug Cortex-M3</name>
     <xi:include href="../../../Include/ulinkpro_activity_description.xml"/>
     <xi:include href="../../../Include/ulinkpro_connection_type.xml"/>
     <core connection_id="Cortex-M3" core_ref="Cortex-M3" soc="st/stm32f103xx"/>
     <param default="DebugOnly" id="dtsl_config" type="string" visible="false"/>
     <xi:include href="../../../Include/ulinkpro_browse_script.xml"/>
     <xi:include href="../../../Include/ulinkpro_setup_script.xml"/>
    </activity>
    <activity id="ICE_DEBUG" type="Debug">
     <name language="en">Debug Cortex-M3</name>
     <xi:include href="../../../Include/dstream_activity_description_bm.xml"/>
     <xi:include href="../../../Include/dstream_connection_type.xml"/>
     <core connection_id="Cortex-M3" core_ref="Cortex-M3" soc="st/stm32f103xx"/>
     <param default="DSTREAMDebugAndTrace" id="dtsl_config" type="string" visible="false"/>
     <param default="options.traceBuffer.traceCaptureDevice" id="dtsl_tracecapture_option"
              type="string" visible="false"/>
     <param default="ITM" id="eventviewer_tracesource" type="string" visible="false"/>
    </activity>
   </execution_environment>
  </project_type>
 </project_type_list>
</platform_data>
XML ファイルには、BARE_METAL プロジェクトタイプの宣言が含まれています。BARE_METAL とは、デバッグ接続がコアを完全制御する、OS が実行されないシステムを表す用語です。このファイルでは、プロジェクトタイプ内部に実行環境の宣言が含まれ、また、その実行環境内部にデバッグアクティビティの宣言が含まれています。上記のコードで示しているのはデバッグアクティビティ 1 つだけですが、実行環境ごとに複数のデバッグアクティビティの宣言ができるようになっています。ここに示すデバッグアクティビティは、DSTREAM ターゲット接続を使用したデバッグおよびトレースセッションです。
DS-5 でデバッグセッションランチャダイアログが表示されると、configdb 全体がスキャンされ、サポートされている製造元およびボードとサポートされているプロジェクトタイプおよびデバッグアクティビティのリストが作成され、ユーザは使用する項目を選択することができます。次の例では、ユーザが強調表示されているデバッグアクティビティを選択しているものとします。DS-5デバッガ がデバッグセッションを起動すると、DTSL コンフィギュレーションが作成され、{config_file, dtsl_config_script, dtsl_config} プロパティセットに渡されます。これらのパラメータの使用方法は次のとおりです。
config_file
この値は RDDI-DEBUG 接続 DLL などに渡されます(DS-5 は RDDI-DEBUG をそのターゲット接続インタフェースとして使用し、RDDI-DEBUG は、ターゲットシステム内にどのデバイスがあるかを示すためにこのファイルを必要とします)。
dtsl_config_script
この値は、デバッガが使用する DTSL コンフィギュレーションを作成するためにどの Jython スクリプトを使用すべきかを DTSL に指示します。
dtsl_config
DTSL Jython スクリプトには、Jython クラス名によって定義された複数のシステムコンフィギュレーションを含めることができます。Jython クラス名は DTSLv1 オブジェクトから生成されます。この値は、DTSL に対してどのクラスを作成するのかを指示します。MCBSTM32E Jython スクリプトには、2 つのクラス、つまり、1 つはデバッグおよびトレースコンフィギュレーションのクラス、もう 1 つはデバッグ専用コンフィギュレーションのクラスを含めることができます。上記の強調表示されている例で使用されているクラス名は DSTREAMDebugAndTrace です。そのため、この例では DSTREAMDebugAndTrace という Jython クラスは、dtsl_config_script 内に存在していなければなりません。
これらのエントリの中には、ファイルの場所を示す接頭文字 CDB:// が付いているものもあります。これは、ファイルの場所が、コンフィギュレーションデータベースのプラットフォームディレクトリ内にあることを示します。
DTSL は、参照先である Jython クラスのインスタンスを作成します。これによって、def __init__(self, root) コンストラクタが実行されます。このコンストラクタの実行後、デバッガは、デバッグアクティビティのコア設定で指定された名前と同じ名前を持つ DTSL Device オブジェクトを見つけようとします。そのため、この例では、デバッガは「Cortex-M3」という名前の DTSL オブジェクトを見つけ、すべてのデバッグ操作要求をこのオブジェクトに指定します。
非機密扱いPDF file icon PDF 版ARM DUI0446VJ
Copyright © 2010-2015 ARM.All rights reserved.