プログラムのデバッグ

Similar documents
Kermitの設定

Eclipse&gcc install and tutorial

Eclipse&gcc install and tutorial

Visual DSP++ install and tutorial

CrossCore Embedded Studio install and tutorial

Visual DSP++ install and tutorial

Application Note Application Note No. ESC-APN Document No.: ESC-APN adviceluna Linux デバッグ手順 (MIPS コア編 ) はじめに adviceluna Linux デバッグ手順 ( 以

TOPPERS/JSP for Blackfin ユーザーズ・マニュアル

(Microsoft Word - \203C\203\223\203X\203g\201[\203\213\203}\203j\203\205\203A\203\213version1.0 rev1.doc)

PowerPoint Presentation

GettingStartedTK2

発環境を準備しよう2 章開Eclipseをインストールしようそれでは Eclipseをセットアップしましょう Eclipseは Eclipse Foundationのサイトからダウンロードできます ダウンロードのページを開くと いく

Notes and Points for TMPR454 Flash memory

目 次 1. All-In-One プリンタユーティリティ概要 All-In-One プリンタユーティティについて 対応プリンタ機種 システム要件 セットアップ方法 All-In-One プリンタユーティリテ

AN1609 GNUコンパイラ導入ガイド

Maple 12 Windows版シングルユーザ/ネットワークライセンス

adviceシリーズスタートアップガイド(Cortex-M3編)

SimLab Plugins for SketchUp 評価版インストールおよびアクティベート方法 注意事項 評価版をお使い頂くには 評価用ライセンスでのアクティベートが必要です 評価用ライセンスファイルの取得を行い 手動でアクティベートする必要があります 各 SimLab プラグインは 評価用とし

ADempiere (3.5)

TWE-Lite R 取扱説明書

MF mypresto インストールガイド 目次 新規インストールの手順 (Windows 版 )... 2 MF mypresto の起動 (Windows 版 )... 7 新規インストールの手順 (Mac 版 )... 8 MF mypresto の起動 (Mac 版 ) 新規イン

PowerPoint Presentation

Windows ログオンサービス インストールマニュアル 2018/12/21 1

Microsoft Word - BJ-Trans_JW_SXFInstallguide.doc

PCL6115-EV 取扱説明書

2. 生田仮想デスクトップ PC の接続方法 生田仮想デスクトップ PC に接続する方法は 次の 2 通りです 1. HTML アクセス Internet Explorer や Safari などのブラウザを用います PC に特別なソフトウェアをインストールす る必要が無いので 管理者権限をもってい

adviceシリーズスタートアップガイド(ARM9編)

Maple 12 Windows版シングルユーザ/ネットワークライセンス

SimLabプラグインは各機能を15回分評価版として試用できます

RW-5100 導入説明書 Windows7 用 2017 年 7 月 シャープ株式会社

目次 1. 動作環境チェック 動作必要環境 Java のインストール Java のインストール Firebird のインストール Firebird のインストール Adobe Reader のインストール

内容 1 はじめに インストールの手順 起動の手順 Enterprise Architect のプロジェクトファイルを開く 内容を参照する プロジェクトブラウザを利用する ダイアグラムを開く 便利な機能.

SIRCADをVISTAで使用する場合の注意点

Welcome-Kit ~STM32L4-Nucleo~

目次 1 はじめに アンインストール前の注意点 Sophos アンインストール手順 アンインストーラの場所を確認する アンインストーラの実行 F-Secure Client Security for Mac インストー

改訂履歴 改訂日付 改訂内容 2014/11/01 初版発行 2017/01/16 Studuino web サイトリニューアルに伴う改訂 2017/04/14 Studuino web サイトリニューアルに伴うアクセス方法の説明変更 2018/01/22 Mac 版インストール手順変更に伴う改訂

RW-4040 導入説明書 Windows 7 用 2017 年 7 月 シャープ株式会社

Microsoft Word JA_revH.doc

Studuino ライブラリ環境設定Windows編

Studuinoソフトウェアのインストール

Microsoft Word - RefApp7インストールガイド.doc

Mobile Access簡易設定ガイド

2. 生田仮想デスクトップ PC の接続方法 生田仮想デスクトップ PC に接続する方法は 次の 2 通りです 1. HTML アクセス Internet Explorer や Safari などのブラウザを用います PC に特別なソフトウェアをインストールす る必要が無いので 管理者権限をもってい

利用者

インテル(R) Visual Fortran コンパイラ 10.0

Microsoft Word - ALT0982_program_epcs_by_niosii_v10.doc

InstallShiled FAQ デバイスドライバーのインストール 注 ) このドキュメントは InstallShield 2011 Premier Edition を基に作成しています InstallShield 2011 以外のバージョンでは設定名などが異なる場合もあります 概要 Instal

intra-mart e-Builder ver 5

サーバセキュリティサービスアップグレード手順書 Deep Security 9.6SP1 (Windows) NEC 第 1 版 2017/08/23

<4D F736F F F696E74202D20834A815B836C838B835C815B835882CC95E082AB95FB F4B2E B8CDD8AB B83685D>

03 Podium Walkerのインストール方法およびアンインストール .docx

MAHO Dialer について MAHO Dialer は MAHO-PBX を経由し PC にて着信時に発信者情報をポップアップしたり 着信履歴などから発信操作を行うためのソフトウエアです このガイドでは MAHO Dialer のインストール アップデート 初期設定 使用方法 および アンイン

Microsoft Word - 補足説明_Win7_Server2008R2__R1.doc

MSP430 CCSv5 を使い Flash Memory 内容と version 情報を確認する方法 ( テクニック編 ) Rev: PIC Trout 今回は 下記の2 件について説明します 1) CCSv5 を使用して MSP430 の Flash Memory 内容を

2. インストールの方法 インストールの手順は まずインストーラーをサイトからダウンロードし イールドブック カリキュレーターと Java Web Start をインストールします 次にイールドブック カリキュレーターを起動してサーバー接続し Java のファイルをダウンロードします 以下の手順に従

Alfa-Products_installguide

株式会社日新テクニカ USB シリアル CAN 変換器 /8/22 ホームページ : メール

<4D F736F F D B9689C291D282BF817A30332D E B838B90DD92E8837D836A B B

GNU_Tools_dwl_Plagin

もくじ 2 はじめに... 3 概要... 4 動作環境... 4 利用制限モードについて... 4 本マニュアルの見かた... 4 HOME アプリマネージャの基本操作... 5 HOME アプリマネージャをインストールする... 6 HOME アプリマネージャを起動する... 8 HOME アプ

目次 2 1 PC Control Utility PD 1 について 動作環境

らくらくメニューVer2.70E9<セットアップガイド>

ST-LINK/V2-1 への Upgrade V /10/07 ST-LINK/V2-1 USB driver のインストールおよび ST-LINK/V2-1 の Upgrade について説明します ST-LINK/V2-1 USB driver をインストールしてから ST-LIN

How to Install and Configure Panorama Panorama のインストールと設定 Panorama は Palo Alto Networks のサポートサイトからダウンロード可能な VMware イメージです 本書は Panorama のインストールと Panora

PSIM(Ver10 & Ver11) HASP キートラブルシューティングガイド PSIM (Ver10 & Ver11)HASP キートラブルシューティングガイド Doc A2-057C 1/11 Myway プラス株式会社

1. 開発ツールの概要 1.1 OSS の開発ツール本書では OSS( オープンソースソフトウェア ) の開発ツールを使用します 一般に OSS は営利企業ではない特定のグループが開発するソフトウェアで ソースコードが公開されており無償で使用できます OSS は誰でも開発に参加できますが 大規模な

著作権および商標 この文書には が所有権を持つ機密事項が含まれます この資料のいかなる部分も許 可無く複製 使用 公開することを固く禁じます 本書は の従業員および許可された 取引先だけに使用が認められています 本書で提供されたデータは正確で信頼性の高いものですが このデータの使用について株式会社

ATDEインストールガイド

AP-RZA-1A シリアルFlashROMの書き込み方法

<4D F736F F D ED CC4C6F67696E20936F985E95FB964082C B838B A

Autodesk Softimage 7.5 スタンドアロン インストール ガイド

Microsoft PowerPoint - RemoteGuide pptx

ch2_android_2pri.indd

SLCONFIG の操作 JF1PYE Ⅰ. PC と slconfig の通信設定 Ⅱ. Slconfig の操作 Ⅲ. 端末ソフトによる Command 機能 Ⅳ. slconfig 実行形式プログラムの作成 Ⅴ. 端末ソフト Tera Term のダウンロード インストー

Microsoft Word - Mac版 Eclipseの導入と設定.docx

CentreCOM VT-Kit2 plus リリースノート

<4D F736F F D CC82BD82DF82CC50438AC28BAB90DD92E82E646F63>

< F F D815B B408EED95CA C815B83678FEE95F13F7C3F C815B A896E282A28D8782ED82B93F7C3F57494C4C4

目次 本書の取り扱いについて... 3 事前準備... 4 MultiPoint Server 2011 OEM 版のインストール (OS リカバリー用のディスク領域を使う場合の起動方法 )... 5 MultiPoint Server 2011 OEM 版のインストール (OS リカバリー用のメデ

WindowsEmbeddedStandard7 IBW によるクイックスタートガイド 東京エレクトロンデバイス株式会社 CN 事業統括本部 エンベデッド ソリューション部 Apr2012 本資料の著作権は 東京エレクトロンデバイス株式会社に帰属します 許可なく 転載 複製することを禁止します

パソコンバンクWeb21 操作マニュアル[導入・事前設定編]

動作環境設定

FA/LAインストールガイド(トライアル版)

Cuoreテンプレート

Transcription:

TJBN005 プログラムのデバッグ TOPPERS/JSP for Blackfin プロジェクト最終更新 : 2012/Aug/27 Rev 1.0 この文書はクリエイティブ コモンズ表示 3.0 非移植ライセンスの下に提供されています プログラムのデバッグ 1

1. GDB によるデバッグ GNU ツールチェーンでビルドしたアプリケーション ソフトウェアは GDB でデバッグすることができます 以下では GDB をつかって Blackfin 上の TOPPERS/JSP アプリケーションをデバッグする方法を説明します 1.1. ツールバージョンなど 説明に使用するソフトウェアやハードウェアは以下のとおりです ホスト OS : Ubuntu 12.04 LTS 32bit ( Windows 7 64bit 上の VMware Workstation 8 で検証 ) GNU Toolchain : Blackfin 2012R1 RC4 JTAG ICE : gnice+ ツールチェーンは TOPPERS/JSP for Blackfin プロジェクトが供給しているスクリプトを通してインストールしていると仮定します インストール方法については TJBN002 ユーザーズマニュアル を参照してください 1.2. JTAG ICE Blackfin のデバッグには JTAG ICE を使うことができます JTAG ICE には Bluetechnix : gnice+ もなみソフトウェア : 刺身包丁 などがあります 以下では gnice+ を使用する場合について説明します gnice+ は Blakfin Koop で紹介されている ICE であり 回路図等も公開されています また 日本からは digi-key 経由で購入することができます http://docs.blackfin.uclinux.org/doku.php?id=hw:jtag:gnice-plus この ICE は FTDI 社の USB シリアル変換 LSI を使用したもので Linux や Windows から手軽に使うことができます また ARM 系 ICE と異なりターゲットからの電源供給を必要としません 詳細は Blackfin Koop を参照してください 1.3. GDB Proxy gnice+ は Blackfin 専用ハードウェアであり GDB から直接使うことができません そこで 両者の仲 立ちをする GDB Proxy が GNU Toolchain に含まれています GDB Proxy には まず ICE をホスト PC に接続し シェル コマンドラインから以下のコマンドで起動します $ bfin gdbproxy bfin TOPPERS/JSP for Blackfin プロジェクト供与のインストーラを使用してインストールした場合には 起動は以上で終わりです 手作業でインストールした場合にはルート権限で起動する必要があるかもしれません プログラムのデバッグ 2

正常に起動した場合には 図 1-1 のような表示が現れます 図 1-1: GDB Proxy 表示される情報の中には ターゲット ( この場合にはプロセッサ ) の JTAG 情報や プロキシのポート番号情報が含まれます 最後の行に GDB プロキシが GDB による接続をポート 2000 番地で待っていることが表示されています 1.4. GDB GDB はツールチェーンに含まれているため そのまま呼ぶことができます ターゲット DSP の製品名を指定する必要はありません 単に引数としてデバッグしたいアプリケーションのファイル名を指定します TOPPERS/JSP の場合 アプリケーションのファイル名は常に JSP です ファイルフォーマットは ELF です 起動時には 待状態にある GDB Proxy と接続し ターゲットをリセットしてアプリケーションをターゲットの SRAM にロードしなければなりません これら一連の作業は面倒なので.gdbinit ファイルに格納してスクリプトとして動かすことをお勧めします 以上の動作を行うスクリプトは次のようになります target remote localhost:2000 set *( unsigned short * ) 0xFFC00100 = 0x07 set *( unsigned short * ) 0xFFC00100 = 0x00 load 最初の行はデバッグターゲットとして localhost ( 自アドレス ) のポート 2000 番地を選ぶよう指示して います このポートでは GDB Proxy が待機中ですので 結果的に GDB Proxy 経由でターゲット DSP と接続することになります プログラムのデバッグ 3

次の行で 0xFFC0 0100 番地にある SWRST レジスタを通し Blackfin をリセットしています このリセットはシステムリセットであり コアはリセットしませんがそれで構いません 続く行で 0x00 を SWRST に書き込んでいますが これはリセット シーケンスで要請されていることです 詳しくは Blackfin Processor Programming Reference の SWRST レジスタに関する説明を参照してください GDB の起動コマンド名は bfin-elf-gdb です 図 1-2 に GDB 起動時の状態を示します 図 1-2: GDB 起動時の表示 この状態からプログラムを実行するには C コマンドを発行してください 直ちに実行が始まります ブレークポイントや変数の表示に関しては GDB のマニュアルを参照してください 1.5. MMR へのシンボル アクセス Blackfin アーキテクチャでは一部のコア レジスタを覗いて 多くのコア コントロール レジスタや全てのペリフェラル レジスタをメモリ空間に配置しています これを MMR( Memory Mapped Registers ) と呼びます MMR を採用したため Blackfin の制御は高級言語からも行いやすくなっています 一方で アセンブリ言語を始めとするツールはそれらのレジスタ アドレスを知りません 当然デバッガも知りません 何らかの方法でデバッガにペリフェラル アドレスを教えてやる必要があります TOPPERS/JSP for Blackfin プロジェクトは 一部の Blackfin DSP 用に MMR のシンボル ファイルを提供しています これらのファイルは genmmrsyms としてプロジェクトからダウンロード可能です (git リポジトリは util-genmmrsyms) 対応している DSP は以下のとおりです ADSP-BF533 ADSP-BF537 ADSP-BF518 ADSP-BF592 プログラムのデバッグ 4

これらの DSP 用にシンボルファイルを生成するには ソースコードを展開したディレクトリの中で Make を実行してください mmr_bf*.out ファイルが生成されますので 自分が使用するプロセッサの名前の.out ファイルを GDB から読み込んで使います 例えば ADSP-BF592 に関するシンボル ファイルを読み込むには 次のコマンドを gdb 上で実行します (gdb) Add symbol file mmr_bf592.out 0 MMR の名前にはすべて接頭語 mmr がついています 例えば IPEND は mmripend SIC_IAR0 は mmrsic_iar0 です MMR の名前は変数名として GDB に認識されます ですので 以下のようにして MMR に読み書きできます (gdb) print/x mmrimask (gdb) set mmrimask = 0 プログラムのデバッグ 5

2. Eclipse によるデバッグ (Ubuntu 12.04) Eclipse の GDB 連携機能を使うと Eclipse IDE 上で Blackfin のデバッグを行うことができます この章では Ubuntu 12.04 にパッケージされている Eclipse Indigo について説明します なお ツール類のインストーラーは TOPPERS/JSP for Blackfin プロジェクト供与のインストーラを使っていると仮定します インストーラの使い方については TJBN-002 ユーザーズ マニュアル を参照してください 2.1. GDB Hardware Debugging プラグインのインストール TOPPERS/JSP for Blackfin が提供するインストーラは Ubuntu が提供しているパッケージをインストールするだけです その後の構成はユーザーが行う必要があります 組み込み開発環境のデバッグでは GDB Hardware Debugging プラグインをインストールする必要がありますが これは Ubuntu によるパッケージ管理対象外なので ユーザーがインストールします GDB Hardware Debugging プラグインをインストールするには まずメニューバーから Help Install new software... を選んでください Install ダイアログが現れますので Work with: プルダウンから Indigo Update Site を選びます 次にフィルタ文字列として hard をタイプします しばらくすると C/C++ GDB Hardware Debugging プラグインが現れますので チェックしてインストールしてください ( 図 2-1) 図 2-1: GDB Hardware Debugging プラグインのインストール プログラムのデバッグ 6

2.2. デバッグ セッションの設定 デバッグをはじめるには デバッグセッションの設定をしなければなりません この設定で ターゲットの情報や デバッガの種類 初期動作などを指定します プロジェクトを選択し メニューバーから Program Debug Configurations... を選択します ダイアログが現れたら GDB Hardware Debugging を選択し 新しい設定を作ってください 図 2-2 の例では sample1 Default が 新しく作った設定です このとき C/C++ Application: 欄が JSP になっていることを確認します この欄はターゲットにダウンロードする ELF ファイルを指定します 次に Debugger タブをクリックします ( 図 2-3) 図 2-2: デバッギ アプリケーションの指定 このタブでは 使用するデバッガと その接続先を指定します 使用するデバッガは bfin-elf-gdb です デフォルトでは gdb となっていますが これは x86 の GDB ですので気をつけてくださいまた ターゲットは localhost のポート 2000 を指定します 次に Startup タブをクリックします ( 図 2-4) 図 2-3: Debugger タブ プログラムのデバッグ 7

このタブでは デバッギとの接続直後に行う処理を指定します このタブに関しては 幾分手探り的な麺もありますが 図を参考にして設定してみてください カスタム的に与えているコマンドは MMR アドレスを読み込むためのものですが 後で説明するようにこれはなくても結構です 2.3. Eclipse でペリフェラル レジスタを読む すでに説明したように genmmrsyms プロジェクトが生成する実行ファイルのシンボルを読み込むと Blackfin の MMR を変数としてデバッガから読み書きできます この方法は Eclipse でも通用します 一方 Blackfin Koop は GDB ではなく Eclipse そのものにペリフェラル レジスタへのアクセス方法を追加するプラグインを公開しています このプラグインを使えば genmmrsyms は不要です プログラムのデバッグ 8

この節ではそのプラグインを利用する方法を説明します Blackfin 対応プラグインは GUI からインストールできます まず Eclipse のメニューバーから Help- >Install New Software... を選びます ダイアログが現れますので Work with フィールドに http://blackfin.uclinux.org/eclipse/ を入力してください しばらくすると下のリストにインストール可能なフィーチャーが現れますので Memory Mapped Registers View Feature を選んでインストールします ( 図 2-4) 図 2-4: Eclipse への Blackfin サポートのインストール インストールが終了し Eclipse を再立ち上げしたら デバッギと接続してください 接続が完了したらメインメニューの Window Show View Others... を選び ダイアログで Memory と打ち込んで検索します ( 図 2-5) Memory Mapped Register が現れますので 選択して表示してください プログラムのデバッグ 9

図 2-5: Memory Browser の表示 ウインドウ内でのレジスタ表示は 右クリックしてメニューでおこなってください プログラムのデバッグ 10

3. TIPS 以下 簡単な TIPS を列挙します 実行を開始しても kermit ターミナルに文字が現れないときには USB ICE と USB シリアルポートの接続順を疑ってください インストール直後の状態ではは USB シリアルポートが /dev/ttyusb0 でなければ 正常動作しません ターゲットにプログラムをロードする前 あるいは直後には必ずターゲットのリセットをおこなってください プログラムのデバッグ 11

4. 文献 履歴など 4.1. 参考文献 Blackfin Processor Programming Reference http://docs.blackfin.uclinux.org/doku.php?id=toolchain:eclipse:install 4.2. 履歴 2012/Aug/27 : Rev 1.0 プログラムのデバッグ 12