15.9.1 接続時のカスタム アクションの実行

一部のプラットフォームでは、デバッガによるアクセスが有効になるようにシステムを設定する必要があります。たとえば、一部のプラットフォームは、スキャン チェーン コントローラ (JTAG スキャン チェーンに表示されるデバイス) を搭載しています。

他のプラットフォームでは、制御レジスタに書き込むことにより、サブシステムを起動しなければならない場合があります。DTSL コンフィギュレーションには、そのようなアクションを実行するためにオーバーライドできるいくつかのフックがあります。

それぞれの DTSL コンフィギュレーション クラスは、ペアレント クラスから派生します (通常は DTSLv1)。派生するクラスは、ペアレント クラスが実装するすべてのメソッドを取得しますが、ペアレント クラスのメソッドを置き換えて動作を変更することもできます。メソッドを置き換えた場合、元の実装を DTSLv1.<method_name>() で呼び出すことができます。

postRDDIConnect
このメソッドは、RDDI インタフェースが開いた直後に呼び出されます。この時点で、RDDI インタフェースは開いていますが、デバッグ サーバには接続されていません。このメソッドは、デバッグ デバイスが JTAG スキャン チェーンに表示されるように JTAG インタフェースを使用して TAP コントローラを設定する場合のような、低レベル コンフィギュレーションを実行するために実装される必要があります。
1.class DtslScript(DTSLv1):
2.'''デバッグとトレースをサポートするトップレベルのコンフィギュレーション クラス'''
3.
4.[snip]
5.
6.def postRDDIConnect(self):
7.DTSLv1.postRDDIConnect(self)
8.self.jtag_config()
9.
10.def jtag_config(self):
11.jtag = self.getJTAG()
12.pVer = zeros(1, 'i')
13.jtag.connect(pVer)
14.try:
15.jtag.setUseRTCLK(0)
16.jtag.setJTAGClock(1000000)
17.# ここでターゲット コンフィギュレーションの JTAG スキャンを実行する
18.finally:
19.jtag.disconnect()
postDebugConnect
このメソッドは、RDDI デバッグ インタフェースが開いた後に呼び出されます。この時点で、RDDI デバッグ インタフェースは開いていますが、いずれのデバッグにも接続されていません。このメソッドは、デバイスへのアクセスに必要な設定を実行するために実装される必要があります。たとえば、他のコンポーネントを起動するための DAP を使用した書き込みは、このメソッドで実行できます。
1.class DtslScript(DTSLv1):
2.'''デバッグとトレースをサポートするトップレベルのコンフィギュレーション クラス'''
3.
4.[snip]
5.
6.def postDebugConnect(self):
7.DTSLv1.postDebugConnect(self)
8.self.power_config()
9.
10.def power_config(self):
11.self.ahb.connect()
12.# power up cores
13.self.ahb.writeMem(0xA0001000, 1)
14.self.ahb.disconnect()
postConnect
このメソッドは、接続が実行され、管理対象デバイスのリストに含まれるすべてのデバイスが開いた後に呼び出されます。このメソッドは、トレース ピンのマルチプレキシングなど、初期の段階で実行する必要のない他の設定を実行するために実装される必要があります。
1.class DtslScript(DTSLv1):
2.'''デバッグとトレースをサポートするトップレベルのコンフィギュレーション クラス'''
3.
4.[snip]
5.
6.def postConnect(self):
7.DTSLv1.postConnect(self)
8.self.tpiu_config()
9.
10.def tpiu_config(self):
11.# select trace pins
12.self.ahb.writeMem(0xB0001100, 0xAA)
非機密扱いPDF file icon PDF 版ARM DUI0446ZJ
Copyright © 2010–2016 ARM.All rights reserved.