V850ES用JTAG-ICEの開発
先月から始めたV850ES/JG2用のJTAG-ICですが、ちょっとづつちょっとづつやりながら、ようやく開発が進んできました。ステップ実行機能やハードウェアブレークポイント機能を実装し、実用的なJTAGデバッガとなりつつあります。
先週から今日にかけては、V850の内蔵フラッシュROMへのデータの書き込みルーチンを作っていました。JTAG経由でV850内蔵のフラッシュにあと少しでプログラムの書き込みができるというところまでいきました。
好きなプログラムを作るのって、楽しい時は楽しいですね。ついつい時間を忘れてのめりこんでしまいます。
現在、消去やブランクチェック、テスト用データの書き込みは成功しています。
あとはブランクチェックや、ELFファイルをダウンロードして、それをフラッシュROMに転送するというルーチンがあれば、ひととおり使えるようになるでしょう。
このJTAG-ICEは、XILINXのパラレルケーブルを使ってV850ES/JG2と接続できます。
ところが、XILINXのパラレルケーブルには汎用ポート出力がありません。
V850ESの仕様では、内蔵フラッシュに書き込む時にはFLMD0端子(付録基板のJ1)を操作しなければなりませんが、パラレルケーブルからはそれ用の信号が出ていないため、ジャンパJ1を手動でカチカチする必要があります。ですが、JTAG経由でフラッシュに書き込めれば、かなり開発が快適になるはずです。
あとは、GDBと接続する機能もほしいですね。
もしV850設計コンテスト出場予定の方や、各種ロボコン、その他いろいろな理由でこのデバッガを早く試してみたいという方がいらっしゃいましたら、ぜひご連絡ください。
| 固定リンク



コメント
JTAGに使う信号線は、DCK、DMS、DDI、DDO、DRST、+3.3V、グランドに使う信号だと考えているが、兼用のピンの使用も考えれば、MINICUBE2を使った方が、又はPCとの送信に使っている調歩式シリアルAのインタフェースを使ってモニター式のデバッグで、ダブルクリック一つで、ブレークポイント設定、実行が出来るのです。ソフト式ブレークポイント式が多いので問題ではと云うけれど、これは実行ファイルの中で、ブレークポイントになるプログラムアドレスの所に、ソフト割り込みを使ってのプログラムを挿入してブレークポイントを作っているのであって、実際上、実機の上での動作になるから、クロックも実機の上での動作クロックとなり、時間上の割込やAD変換などのタイミングの問題は、問題にならないと考えられる。勿論
但し、このモニターによるデバッガーは、調歩式のシリアルA端子を使っているから、使える端子の数が減る問題があるが、其れは、JTAGで使ってしまった端子で、機能を減るよりは、機能減少はない。JTAGによって使われる端子の方が、V850ES/JG2の中での重要な機能端子が減ってしまう。調歩式シリアルは、他の端子にもあって、調歩的シリアルは、合計で3つの内の一つ使われただけである。一緒に同期式のシリアルとか、一つの外部割り込み端子が減るけれど、これは、基板上、USB・シリアル変換で使ってしまったから、元々使える見込みはない。
上でJTAGが使っている端子の兼用機能は、
DCKの場合は、
P54(ポート機能)、SOB2(同期式シリアル2のデータ出力端子)、KR4(キーボード端子)、RTP04(リアルタイム出力機能)である。ポート機能は、5V電圧で使える数少ない端子の一つである。これはJTAG端子の3.3V電圧、グランドを除いて全て共通の端子の意味がある。
DMSの場合は、
P55(ポート機能)、SCKB2(同期式シリアル2のクロック端子)、KR5(キーボード)、RTP05(リアルタイム出力機能)である。
DDIの場合は、
P52(ポート機能)、TIQ03(イベントタイマTMQの入力3端子)、KR2(キーボード)、TOQ03(イベントタイマTMQの出力3端子)、RTP02(リアルタイム出力機能)である。
DDOの場合は、
P53(ポート機能)、SIB2(同期式シリアル2のデータ入力端子)、KR3(キーボード)、TIQ00(イベントタイマTMQの入力0端子)、TOQ00(イベントタイマTMQの出力0端子)、RTP03である。
上の兼用端子の機能を見れば、このV850ES/JG2の重要な機能がある事は分かるでしょう。特に貴重な同期式シリアルが無くなる事を意味して、其れは3線式のシリアル機能が無くなる事を意味して、其れはSPI通信方式が一つ出来なくなる意味している。
又イベントタイマ機能でV850ES/JG2の中では、最も豊富なイベント・タイマ機能を持っているTMQタイマの機能縮小を意味している。更にリアルタイマ出力機能は、基本的にステップモーターの出力機能として使えるようになっている。そして、このヘッダーピン(CON3)の中には、少ないグランドも使えるし、3.3Vの電圧端子として使えるのである。更に、CON3には、LEDが繋がっているPCT6のポートの端子も使える。これはものすごく重要な意味していて、吉田さんが、このPCT6に何故、lEDを繋げたのか分からない。この重要な意味は、このPCT6の兼用端子の意味をインターフェースの雑誌には、説明していないが、アドレスストロープ端子の意味で、このV850ES/JG2の端子が少ない事から重要な意味を持っている。メモリ接続には、セパレード(アドレスとデータを区別して接続する方法)とマルチプレクス(アドレスとデータを兼用する端子接続)の2種類がある。このマルチプレクス接続に重要な端子が、PCT6の兼用端子であるアドレスストロープである。この接続を行えば、アドレス端子のA0からA15の端子を、兼用の機能端子として使える事が出来る。このA0からA15の端子は、兼用機能でも重要なロボット制御等に重要な端子機能を持っている。特にタイマの入力・出力端子には、このアドレス端子も兼用で、更に5Vの入出力ポートとして使えるのである。この説明は、インターフェースは省略しているし、更にコネクタの信号の解説は、この兼用の機能説明はしていない不十分な説明である。そして、リセットの時の初期値には、マルチプレクスの外部メモリ接続となっている。
このV850ES/JG2は、3.3V動作の電子機械(家電)を作る目的でマイコンが作られている。大量データの入出力は、この上のバージョンであるE1バージョンのV850で作られるべきである。其れには端子の数も増えるし、外部メモリも積めるようになる。兼用の機能端子が十分に使える事が、V850ES/JG2にとって重要な意味をしている。
投稿: 愛 | 2007.08.05 12:18
よくわかりませんが、要約すると、V850ES/JG2のJTAG信号線は他の重要な信号線とマルチプレクスされているからJTAGよりもシリアルデバッガのほうがいい、ということでしょうか。
投稿: なひたふ | 2007.08.07 09:36
んー.ソフト屋から見ると,MINICUBE2でも割といいカンジにデバッグできちゃうというのは,言えなくもないです.
とはいえ,デバッグの手段は多ければ多い程良い(ROMデバッガには限界もある)ですし,ツールは増えたに越したことはないと思います.
趣味用途でも手が届く価格帯のESコア搭載評価ボードもいくつかあるようですし,V850も選択肢として広がっていくとよいですね.
投稿: もなか | 2007.08.07 12:45
>MINICUBE2でも割といいカンジにデバッグできちゃうというのは,言えなくもないです.
なるほど。
>趣味用途でも手が届く価格帯のESコア搭載評価ボードもいくつかあるようですし,V850も選択肢として広がっていくとよいですね.
そうですね。
私もそこにJTAGがある限り、開発を進めていくつもりです。
投稿: なひたふ | 2007.08.07 13:43