【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 にアタッチして、コマンドを実行してみます。
最初に、「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')
関連ドキュメント/動画
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 の資料です。
また、以下は、簡単なデモ動画になりますので、併せてご覧ください。