見出し画像

【TRACE32 Tips】Python からの TRACE32 リモート操作

Python モジュール 「lauterbach.trace32.rcl」をリリースしています。(2020/09 のバージョンより)
この Python モジュールを利用して、TRACE32 をリモート操作する方法を紹介します。

WSL 上でのインストール

Windows 10 の WSL (Ubuntu18.04.6 LTS)の、Bash にインストールしてみます。(Python 3.6.1 以上が動作していれば、コマンドプロンプトでも OK です。)
Windows マシン上に TRACE32 ソフトウェアをインストール済み(C:\T32 下)の場合、「python -m pip install ./lauterbach_trace32_rcl-latest-py3-none-any.whl」でインストールします。

> cd /mnt/c/T32/demo/api/python/rcl/dist/lauterbach
> ls
lauterbach-trace32-rcl-latest.tar               lauterbach_trace32_rcl-latest-py3-none-any.whl
> python -m pip install ./lauterbach_trace32_rcl-latest-py3-none-any.whl
Defaulting to user installation because normal site-packages is not writeable
Processing ./lauterbach_trace32_rcl-latest-py3-none-any.whl
Installing collected packages: lauterbach-trace32-rcl
Successfully installed lauterbach-trace32-rcl-1.0.4
> 

上記のように「Successfully installed lauterbach-trace32-rcl-1.0.4」が表示されたら、インストール成功です。

TRACE32 設定、起動(シミュレータ)

TRACE32 の設定ファイル「t32.cmm」に以下の行を追加して、TRACE32 を起動します。
 注意:以下の行の前後に、空行を挿入する必要があります。



RCL=NETASSIST
PORT=20000
PACKLEN=1024

RCL=NETTCP
PORT=20000

注意:TRACE32 の起動時、通信ポートの接続要求を行うため、Windows の警告が表示される場合があります。(警告内容を確認してから、OK してください。)

TRACE32 起動(ARM シミュレータ版)


簡単な動作確認

起動した TRACE32 にアタッチして、コマンドを実行してみます。
最初に、「import lauterbach.trace32.rcl as t32」で、モジュールをインポートします。
「t32.connect()」で、TRACE32 のインスタンスにアタッチします。

> python
Python 3.6.9 (default, Mar 15 2022, 13:55:28)
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import lauterbach.trace32.rcl as t32
>>> dbg = t32.connect()
>>> print(dbg)
<lauterbach.trace32.rcl.Debugger object at 0x7fba7d289a20>

「fnc('CPU( )')」  で 、設定されているCPU 名を取り出してみます。

>>>  print(dbg.fnc('CPU()'))
CortexA8

「cmd( )」を利用して、インスタンス上にダンプ表示をしてみます。

>>> dump_flags = dbg.cmd('data.dump flags')


data.dump  ウィンドウの表示

関連ドキュメント/動画

TRACE32 インストールフォルダ以下に、ドキュメントがあります。

  • C:\T32\demo\api\python\rcl\doc\html\index.html

    • インストール方法、簡単なチュートリアルも記載されています。

  • C:\T32\pdf\app_python.pdf

    • Python 利用のための基本的なドキュメントです。

  • C:\T32\pdf\api_remote_c.pdf

    • Python モジュールで利用している、TARCE32 Remote API の資料です。

また、以下は、簡単なデモ動画になりますので、併せてご覧ください。