« 2006年6月 | トップページ | 2006年8月 »

2006.07.31

PCI Expressの基板と本が届く

金曜日にXILINX Online Storeで注文したSpartan-3 PCI Express Starter Kitが、月曜日に届きました。
国内代理店は軒並み3-4週間との回答でしたので、XILINX Online Storeは驚くべき速さです。

箱をあけてみて2度ビックリ。
基板以外に何もありません。

ISEのCD-ROMはあるのですが、回路図とかマニュアルとかそういう情報がありません。
回路図とマニュアルはWebからダウンロードできるのでいいのですが。
で、これを動かすにはPCI Expressのコネクタがあるマザーボードがなければいけなさそうですので、
まずはパソコンを調達するところから始めなければいけなさそうです。

それから、Amazonで購入した本も届きました。1000ページ超。
やはり、書籍にはWebには載っていない情報が満載ですね。
トランザクション層のパケットの形式など、ちゃんと載っています。

というわけで、しばらくはPCI Expressの研究をすることにしましょう。

| | コメント (0)

2006.07.29

XILINX Online Store早い!

この「Spartan-3 PCI Express Starter Kit - Japanese Version」が欲しかったのですが、数社の代理店に見積依頼したところ、みんな3週間とか4週間という回答でした。
ところが、XILINX Online Storeにオンラインで注文したところ、その日のうちに発送してくれました。およそ1週間で届くそうです。

このボードは、PCI ExpressのPHYチップと、DDR SDRAM、RS232C、VGAポートなどが乗っています。
評価版(90日制限)のPCI Express IPコアもついてくるそうです。

不意に聞いた噂によれば、デバイスドライバとかソフトウェア関係は全く入っていないとか!?
デモアプリケーションもサンプルアプリケーションも、そういうのはないとか!?
「ただ単に部品が載った基板があるだけ」だと覚悟したほうがいいだろうと聞いています。

回路図くらいはあるでしょうから、何とかなるでしょうか。

Amazonで"Pci Express System Architecture (PC System Architecture)"という本を買いましたので、そのうち届くでしょう。
PCI Expressのトランザクション層ってどんなアーキテクチャかなぁ。楽しみです。

| | コメント (0)

2006.07.28

SH2用JTAG ICEのサポートページ開設

簡単ではありますが、SH2用JTAG ICEのサポートページを開設いたしました。

URLは、http://www.nahitech.com/jtag/cq7144a.htmlです。

そういえば、このSH2基板って、ユーザの意思でリセットをかけられないんですよね。

というのは、基板に乗っているリセットICはオープンドレイン出力のものじゃなくて、なぜか「常に出力」のタイプのものが使われているんです。CPUのリセット端子は常にリセットICがドライブしてしまって、ユーザがリセット端子を'L'にできないのです。リセットICには外部からリセット信号を入力できるわけでもないですし。

CPUをリセットしたければ、電源をOFF/ONしなければならないなんて・・・どうしろと。

そんな電気的にはリセットがかけられないSH2マイコン基板ですが、JTAGを使えばリセットがかけられるようになります。これもJTAGならではの強力なメリットだと思います。

SH2用JTAG ICEの最新版ソフトウェアは、Interface9月号に収録されています。

SH2基板を買ったけど動かしていないという方も、そうでない方も、JTAG ICEがあればきっと新たな発見があります。
夏休みのお供に、SH2はいかがですか?

| | コメント (0)

2006.07.27

PCI Expressのセミナーに行ってきました

今日は○ルテックさんが開催する、PCI Expressのセミナーを聞きに新横浜までいってきました。

セミナーの内容は、PCI Expressの物理層に関する話が40%、
IPコアに関する話が40%、その他が20%という感じでした。

PCI Expressというのは、一応バスなんですけど、通信をパケット化して流しています。
TCP/IPのウィンドウサイズみたいなことや、ATMでのVC/VPみたいな技術を取り入れています。
さらに、それらを使ってQOSが実現されるようです。
まぁ、どこかで見たような通信方式がちらほら散見されます。
(QoSとかVC/VPみたいな機能は滅多に使われないようですが。)

そんで、ご存知のとおり、PCI Expressは、物理層、データリンク層、トランザクション層、
アプリケーションと、階層構造になっています。

PCI Expressのアドインカードを作るには、それぞれの層の機能をもったモノをつくってやらねばなりません。

物理層は、専用のチップが各社から発売されているので、いろんな選択肢があるでしょう。シグナルインテグリティを気にしなければそれほど難しくはないでしょう。

私が一番知りたかったのは、2層3層の仕組みです。

このセミナーではPCI Expressの機能を高価なIPコアを使って実現するような流れになっていて
2層3層の仕組みについては全く触れられていませんでした。
この層については全部IPコアにおまかせということです。

仕方がないので、Amazonで本を買いました。
届いたら読んでみることにします。
で、PCIExpressの評価に使うボードは、XILINXの純正ボードを使う予定です。
早速、XILINXのOnlineショップから注文しました。
在庫があるようなので、来週中には来るでしょう。

で、気になった点がいくつかあります。
・PCI Expressって、意外と遅いんじゃないの!?
・レイテンシが致命的?

ある測定結果を見たのですが、シングル転送だと数MByte/sしかでないそうです。
   数MByte/sですよ。

つまり、1回のトランザクションにマイクロ秒のオーダーがかかるってことです。
これって、遅すぎません?

PCI Expressはデータをパケット化して送るのですが、デスクトップ機では1つのパケットのペイロード(データ部の大きさ)はだいたい128Byteだそうです。そんで、PCI Expressを採用したマシンでは、CPUの下にルートコンプレックスというスイッチがあって、その下にまたスイッチがあって、またスイッチやブリッジが・・という感じになっています。
128バイトのデータはそのまま流れていくのではなく、どうやらスイッチのたびに蓄積されるようなのです。
勉強してないからわかりませんが、普通に考えれば蓄積して最後まで見ないと、エラーチェックができないでしょう。

それに、スイッチのたびにSERDESやらエラーチェックなんかをやっていたら、それは凄くおそくなりそうな・・

例えば、CPUからアドインカードまで、2個のブリッジやスイッチを通ったとしましょう。
PCI Expressのデータの転送速度は2Gbit/sですから、128バイトのデータを蓄えるのに0.5μ秒くらいはかかってしまいます。これがバケツリレーのようにPCI Expressスイッチ間を流れていくんですよね!?
2個のスイッチを通ったらレイテンシは片道で1μ秒かかります。

つまり、CPUが128バイトのデータを書き込みたいと思っても、そのデータがEndpointに伝わるのは1μ秒後のことなのではないか、と思うわけです。

さらに、前述の測定結果によれば、PCIExpress x1では、バースト転送しても毎秒150MByte/sだそうです。つまり、1.2Gbps相当です。普通のPCIに毛が生えた程度の速度しかでないってことでしょうか。
PCI Expressはx4とかx16とか、束ねなければ実力が発揮できないということでしょう。

来週、本が届いたら詳しく勉強してみることにします。

私としては”規格にきちんと準拠しない「なんちゃってコア」”でいいから、
PCI Expressの機能のトランザクション層やデータリンク層のコアを自分で作りたい。

| | コメント (0)

2006.07.26

Interface9月号にSH2JTAGデバッガが掲載されました

If9今月発売のInterface誌9月号に、SH2用JTAGデバッガが掲載されました。

掲載されたSH2デバッガは、現在、ダウンロード可能になっているバージョンよりも新しいVersion1.2となっています。

V1.1からV1.2で更新された箇所は、以下のとおりです。
・ 「ヘルプ」メニューからサポートURLを開くことができるようになった。
・ トラ技の5月号にあるRS232C-JTAG変換アダプタを通じてでも、JTAGデバッグできるようになった。
(DWMのARM基板か、トラ技のR8C基板をRS232C-JTAG変換アダプタが必要)
・ キーコード未設定だと内蔵ROMが消去されてしまうが、消去するたびにメッセージを出すようにした。
・ ライセンスに「量産適用不可、日本国外持ち出し不可」を追加。

どうぞ雑誌付録の最新バージョンをご利用ください。

| | コメント (0)

2006.07.23

新USB2.0-JTAGケーブル PocketJTAG

新しいUSB2.0-JTAGケーブルを鋭意開発中です。
今度のUSB-JTAGケーブルは、「PocketJTAG」といいます。

PocketJTAG

面倒なLAN接続ではなくUSBを採用したので、邪魔なACアダプタは不要。
SVFファイルを生成しなくても、すぐにFPGAやCPLDやコンフィグROMにプログラミングができます。

ちょいと、ちょいと。
XILINX FPGAの開発で、iMPACTから解放されますよー

それにXILINXだけではなく、(一部の)ALTERAデバイスにだって書き込めます。
もちろん対応デバイスは今後もどんどん増やしていきます。

FPGAだけではなく、ARM7やSH2のデバッグにもご利用いただけます。
 ※ARM7はMITOUJTAGを、SH2はSH2用JTAG ICEを使用。

MITOUJTAGと一緒に使えば、バウンダリスキャンを使った強力なデバッグツールにもなります。

申し遅れましたが、PocketJTAGの特徴は、
 ・USB2.0により高速・高レスポンスを達成。
 ・90mm×70mm、高さ26mmのコンパクトボディ。
 ・清潔感あふれるアイボリー色。
 ・ターゲット電源電圧は1.8V~5.0Vに対応。新時代の低電圧FPGAにも対応できます。
 ・JTAG信号の出力電圧は、ターゲット電源に合わせて可変です。
 ・最高24MHzまでのTCKクロック。
 ・専用の「FPGA/CPLD/コンフィグROM書き込みソフト」も準備中。
 ・XILINXの9ピンフライリードワイヤーや、14ピンケーブルに対応したコネクタ。

PocketJTAG

上の写真のように、XILINXのParallelIVやPlatformUSBで使われている、フライリードワイヤーや14ピンケーブルが使用できます。(※同時に使用できるのはどちらか一方です。)

したがって、お使いの基板上に14ピンの2mmピッチコネクタを設けておけば、PocketJTAGケーブルからフラットケーブルで接続でき、デバッグをすることができます。

PocketJTAGとAVNETの評価ボードをJTAGで接続

この新しいPocketJTAGケーブルは、来週からサンプル出荷開始の予定です。
3万円でおつりが来るおトクな価格を目指しています。
ご期待ください!


| | コメント (0)

2006.07.21

Spartan3Eで320Mbpsの通信!

Spartan3EのふつうのI/Oで、320MbpsのLVDS通信をやってみました。

ある仕事で、320Mbpsで送られてくるLVDSの信号を特別なチップを使うことなしに汎用のFPGAのI/Oポートで扱うことができるようにする必要がありました。その信号はシリアル通信なのでI/OからFPGAの中へ入れた後、パラレルに変換し、後はFPGAの中で数十MHzで処理するというものです。
FPGAの中の信号処理の部分は数十MHzでいいのですが、通信だけはめちゃ速いのです。

問題なのは、Spartan3EのI/Oが320MHzについてこれるかどうかです。
データシート上は320MHzでも大丈夫です。
ためしにWebPACK7.1で3ビットのカウンタを作ってみると、363MHzという数字をはじき出します。

4ビットでも362MHzですが、5ビットになると273MHz、6ビットなら228MHz、7ビットなら224MHz、16bitなら195MHz、32ビットで160MHzと、どんどん下がっていきます。
これはSpartan3Eの論理演算が4入力1出力を基本とするLUTでできているからです。そのため、4ビット以上の入力が出てくる論理式があるとそこがボトルネックとなって、速度が遅くなってしまいます。

Spartan3Eは、おそらく150~160MHzがちょうどよい速度なのでしょうか。

320Mbpsで動かすのはシリアル信号を入力する部分だけなので、入力に直結したシフトレジスタだけをすごく単純に作って320Mbpsで動いてくれればいいのですが、そのモジュールを何個もFPGAに入れて、そのほかにもSDRAMアクセス回路やいろんな演算回路を入れると、ちゃんと作ったモジュールがそのままの形で維持されるかどうかは不安です。

ちなみに、WebPACKがSpartan3Eでは260MHzだよとレポートした回路でも、Virtex2PやVirtex4でコンパイルしてみると700MHz台を出しました。すごいですねVirtexシリーズ。しかも、Virtex4には全入力にシリパラ変換機能が埋め込まれているとか。私が欲しいのはまさにそれですよ、ISERDES!

でも、今回使うFPGAはSpartan3Eにもう決まっているので、デシリアライザーみたいなのを自分で作らなければなりません。どうしたもんか、と考えていて、思いつきました。

Spartan3EのI/Oには、DDR用のレジスタが入っています。
今回の案件では、幸いなことに320MHzで送ってくる信号の元となるクロックはFPGAが作り出しています。
(データを送る側のPLLは別なので、ジッタが心配)
それならばDDRレジスタで受ければ、FPGAの中は160MHzで動けばいいんじゃないか、と。

そこで、やってみました。
手元にSpartan3E のSample Packがありました。
Sp3eの基板

このSample Packにのっているクロック発振ICはジッタが多いので、24MHz水晶発振器を外付けしました。FPGAの中のDLLで320MHzに逓倍します。

まず、FPGAのODDRプリミティブをつかって、320Mbps相当の信号を作り出しました。
FPGAの中は160MHzで動作していますが、オシロで観測すると確かに320Mbps相当です。
320MHzの信号をオシロで見る


DDRすごい。
100MHz帯域のオシロなので波形は綺麗に取れていませんが、ちゃんと見えます。
 1(同期用ビット)→0(同期用ビット)→0(フラグ)→0(フラグ)→ランダムデータ(8bit)
という繰り返しがはっきりと見えます。

受信のモジュールは下のイメージ図のように、DDRで受けて中は160MHzで動かします。
入力デシリアライザー

送信側で擬似乱数のデータを送って、それを受信して乱数の系列に誤りがないことを確かめたところ、30分くらい動かしてみましたが、全く問題はなさそうでした。通信のレートは320Mですが、12bitで出来た1つのフレーム内で8ビットのデータを送っているので、毎秒26.6Mフレーム送ることになり、チェック対象データは1秒間に213Mビット送られます。30分動かしたので、送ったビットのうちチェック対象の部分は383Gbit。エラーは一つもありませんでした。

FPGAがデコードしたデータを、MITOUJTAG BASIC 1.2.4のBLOGANA機能で見てみます。BLOGANAというのは、MITOUJTAGに内蔵されているChipScopeみたいな機能です。

iMPACTに代わってMITOUJTAGでFPGAに書き込み、ChipScopeに代わってMITOUJTAGでFPGAの内部信号を観察します。160MHzの動作クロックでも余裕で動き、データの取り逃しもありません。最近のMITOUJTAGは、ウン百MHzの信号もちゃんと見えるんですよ。
Blogana_iserdes

なお、上の基板の写真の左側に映っている2本のひょろっとした線が、LVDSの配線です。
高周波的なことを考えれば劣悪な環境でしょうけど、ちゃんと通信できるのですから、LVDSってすごいですね。

もうちょっと頑張ってFPGAの中を240MHzで動かせば、通信を480Mbpsで動かせそうですね。
すると、普通のFPGAだけでUSB2.0HighSpeedを実現できる可能性が・・
目指せ、480M!

| | コメント (1)

2006.07.20

PCI Expressのお仕事

PCI-XをすっとばしてPCI Expressのお仕事をやることになってしまった。
どのくらい大変な仕事なのかを見積もらないと・・

幸いなことに、昔うちで設計したRocketIOを8ch備えたVirtex2Proの基板が手元にある。
PHY層だけならこれでいけそうだが、その上の層のことを考えると、やっぱり自分で作るのは大変なようだ。できれば、PCI Expressの自作は避けたい。

PHYは専用のチップを買って、その上のプロトコルのやりとりはIPコアを買ってくるか。
XILINXやALTERAや、各社の代理店がどのようなIPコアを出しているかも調べないといけない。

毎週、某代理店からIPコアだとかセミナー開催だとかのメールマガジン送られてくるけど、今まで読み飛ばしていました。今度からはちょっと注意して読んで見よう。

それよりも、まずは規格のお勉強から始めないといけない。あいたた、大変だー

でも、こういう難易度の高い設計の仕事でいざFPGAの設計を始めると、それをできるだけ簡単にこなそうとするため、JTAGを使った新しいデバッグ方法を考えつくから、いろいろありがたいものです。

| | コメント (0)

2006.07.19

MITOUJTAG1.2.4Aリリース

MITOUJTAG BASIC 1.2.4Aをリリースします。
今回の主な変更点は、ソフトウェア中に出てくる「ナヒテック」という社名を「特殊電子回路」に変更したことと、先日のサービスパックを適用したことです。サービスパックの中身は、Spartan3/3Eに対する書き込みアルゴリズムの修正と、いくつかのBGAパッケージの形状追加です。

CD-ROMのレーベルも特殊電子回路、略して「特電」に変わりました。
MITOUJTAG BASIC 1.2.4A

Version1.2.4をお使いの方は、こちらのページからサービスパックをダウンロードすることで、Version1.2.4A相当の機能にアップグレードすることができます。

本日以降出荷するMITOUJTAG BASICは、このパッチの適用されたバージョンになります。
ご期待ください。

| | コメント (0)

2006.07.18

MITOUJTAGのサポートファイルダウンロード

MITOUJTAGテクニカルサポートの一環として、MITOUJTAGのサポートファイルのダウンロードを開始しました。

サポートファイルは、CD-ROMを送付して行うメジャーなバージョンアップではなく、細かいマイナーなバージョンアップを行うものです。
また、JTAGを使った新しい試みを開発するための実験に作ったテストアプリケーションも、どんどんアップロードしていきたいと思います。

まずは、不具合対応です。
①MITOUJTAG1.2.4(以前のバージョンも含む)では、Spartan3のXC3S200に対する書き込みができませんでした。なお、XC3S200以外のSpartan3や3Eには書き込むことができます。
②Spartan3やSpartan3Eの書き込みを行う際に、既にコンフィギュレーションデータがダウンロードされているSpartan3/3Eに書き込もうとするとうまく書き込めない現象が発生することがありました。

これらの不具合は、コンフィギュレーションROMに書き込む場合は問題ありません。あくまでもFPGAに対してJTAGを使って直接書き込む場合にのみ発生する問題です。
まずはこれらの2つの問題を修正しました。

それから、各種のパッケージファイル(BGAパッケージの形状を定義したファイルのこと)の追加ファイルをアップロードしました。
追加されたパッケージファイルは下記のものです。
* 1225pin BGA (35×35)
* 652pin BGA (35×35から中心部の22×20-2を抜いた形状。ALTERA FPGA用)
* 225pin BGA (15×15)
* 324pin BGA (18×18)
* 177pin BGA (15×15から中心部の7×7を抜いた形状。NS7520用)

652ピンと324ピンのBGAはALTERAのFPGA用です。177ピンのはNS7520というネットワーク周辺回路内蔵CPU用のものです。

また、SmartJTAGの劇的な高速化を行うための「ファームウェアアップデート」のためのファイルをアップロードしました。SmartJTAGをお使いの方は、最大で約10倍の高速化を体感できます。

是非ともMITOUJTAGサポートをご利用ください。

| | コメント (0)

2006.07.16

JTAGケーブルの新製品

JTAGケーブルの新製品を開発しています。
この新しいUSB-JTAGケーブルは、MITOUJTAGから操作します。
USB2.0 HighSpeed規格に対応し、1.8V~5Vまでのデバイスに対応できるものです。
FPGA、CPLDのデバッグやプログラミングはもちろん、
SH2などのCPUのデバッグもそれなりの速度で動作します。
ご期待ください。

| | コメント (2)

2006.07.15

リアルタイム音声認識

RSコンポーネンツでは書籍も扱っているので、ためしに注文してみました。
「リアルタイム音声認識 電気情報通信学会 ISBN4885521955」

以前から音声認識には興味があったので、どんなものかと思って読んでみました。

音声認識というのは、音声を「ア」とか「サ」とかのようなカナ文字に変換してからカナ漢字変換しているのではなく、音声を直接漢字かな混じり文に変換しているそうです。

要約すると、音をフーリエ変換して、ケプストラムを作ったり数学的な処理をしてウン十次元のベクトルにして特徴量をつかんで、マルコフ過程やら統計だとかビダビとか最尤とかして、いろんなことをして「ア」とか「k」とかの音を推定して、辞書とか統計とかから最ももっともらしい言葉のつながりを推定して、音声を文章に変換しているそうです。

もちろん辞書に登録されていない単語は認識できないけど、認識できない単語は「認識できない」と判断するのではなくて、適当に誤認識されてしまうそうです。
つまり100%確実な音声認識というのはできないそうです。
精度を上げるには、ジャンルによって辞書を変えるということも大事です。

まぁ、そんなものかもしれません。
人間だって100%確実に他人の言葉を聞き取れるわけじゃないですから。
数学の話をしているときにいきなり政治の話をされたら、混乱します。

面白いと思ったのは、NHKがリアルタイム音声認識を文字放送に応用しているということです。
ニュース番組では、放送の直前まで原稿が変わることがあるし、
最終的にはアナウンサーがしゃべった言葉がアウトプットなので、
文字放送の原稿を打ち込むのが大変だったそうです。

そこで、音声認識を使って、アナウンサーの言葉を自動的に文字に変換して、
文字放送を作っているそうです。

でも、アナウンサーというのは、カツゼツもよく、しゃべる内容も原稿にしたがっているし、
ニュースという番組の性質上辞書も作りやすいので、
比較的音声認識しやすい環境だそうです。

難しいのはバラエティー番組やスポーツ中継など、複数の人がしゃべったり、
思いついた言葉をポンポンしゃべるような場合だそうです。
たとえば、それで紅白歌合戦やサッカーの試合などの場合などです。
感動詞も多いし、言葉が必ずしも文法に従っていないので、
音声認識は難しいそうです。

そのため、NHKには「リスピーカー」という専門の人がいるそうです。
リスピーカーは、生放送の音声を聞いて、複数の出演者が喋る内容を整理し、
良い発音と正しい文法で喋り直すそうです。
そんで、音声認識装置はリスピーカーの喋る内容を音声認識して、
文字放送を作るそうです。それはそれですごいかも。

やはり人間の音声認識能力って偉大なんですね。

機械で音声認識をするには、用途を絞ることが大事なようです。
そんなこんなで音声認識をFPGAに実装できたら楽しいだろうな。夢が膨らみます。

| | コメント (0)

2006.07.05

明るい蛍光灯

今年の5月に、事務所の蛍光灯を取り替えました。
入居したときからあった蛍光灯がどうも暗いので、新しい蛍光灯に取り替えたのです。

アスクルで蛍光灯を探してみると、20W型の蛍光灯が25本でなんと4700円!
なんと、1本あたり190円くらいと激安だったので、これはお買い得だと思い、買いました。
「昼光色 FL20SSD/18ーB 」
昼光色というのは、いちばん色温度が高くて、青っぽい光のはずです。

期待していたのですが、新しく来た蛍光灯に取り替えると、なんだか前より暗い感じが・・
しかもなんだか妙に緑っぽい気持ちの悪い色です。

そんな感じで1ヶ月ほど使ってはいたのですが、暗さに耐え兼ねて、
よくよく調べてみることにしました。
どうやら、25本で4700円の蛍光灯は一般形の蛍光灯でした。

蛍光灯には、1波長形(一般形)と3波長形というのがあるそうです。
3波長形というのは、RGBの3つの光を出すような蛍光物質が塗られている蛍光灯で、1波長形にくらべると、明るく演色性に優れているそうです。
家庭用の量販店で何気なく選ぶと、ほとんど3波長形ではないでしょうか。

しかし、アスクルは業務用。
何があるかわかりません。
うっかり安さにつられて一般形を選んでしまったようです。

今回発注したのは、
「昼白色 FL20SSEXN18Z 」
25本で10290円。前の1波長形に比べると2倍以上の値段ですが、明るさが全然違います。

これで作業効率UP間違いなし。
蛍光灯が暗いなと思うかたは、ぜひ調べてみて下さい。

| | コメント (2)

2006.07.03

SH2のJTAGデバッグをEclipseと連携させてみた

SH2のJTAGデバッガと、Eclipseを連携させてみました。

SHがコンパイルできるEclipseの環境をゼロから構築するのもたいへんなので、Interface誌の8月号に収録されている、もなみソフトウェアさんのPizzafactoryを使いました。詳しくはわかりませんが、PizzafactoryはEclipseをカスタマイズしたものなのでしょう。記事のとおりにインストールし、記事にかかれているとおりにコンパイルすれば、なんとかMOTファイルまで作れることはわかりました。

で、EclipseとJTAGデバッガを連携させるとはいっても、Eclipseは初めて触るものだし、使い方とかは全くわからないので、Blackfin空挺団さんの「組込みプログラミングにEclipseを使う」のページを参考にしました。

詳しくはよくわからないものの、Zylin CDTというモジュールをインストールすればよいのだろうと思い、CDT(zylincdt-20060407.zip)をダウンロードして、展開し、pluginというフォルダが入っているので、その中身をC:\Program Files\MonamiSoftware\PizzaFactory3\pluginsの下にそのままコピーしました。
乱暴な方法かもしれませんが、インストールはこれでいいのかな?
PizzaFactoryを何度か再起動すると、CDTが認識されているようでした。

sh-elf-gdbも必要なようなのですがどうやら付録のPizzafactoryの中には入っていないようなので、Interface7月号の「山際さんGDB」をインストールし、Pizzafactoryの設定でCygwinのフォルダ中にある山際さんGDBを指定。

Pizzajtag1

それから、commandタブを開いて、target remote localhost:2159と指定。

Pizzajtag2

ソースファイルのsample1.cをコンパイルすると、testapp.motができあがります。
でも、このファイルはキーコードが埋め込まれていないので、JTAGデバッガが利用できません。
キーコードは割り込みベクタを定義する領域に書き込むのですが、どのファイルをいじればよいのかよくわからないので、できあがったMOTファイルを修正することにします。

MOTファイルの3行目、
S113001000000400000004000000040000000400CC

S1130020C91F0606000004000000040000000400CC
と書き換えます。こうして無理やりキーコードを埋め込みます。

(どうやら、C:\Program Files\MonamiSoftware\PizzaFactory3\plugins\jp.pizzafactory.toppers.kernels.jsp_1.4.202\jsp\config\sh2の中にあるstart.Sを開き、70行目を
.long 0xC91F0707 /* 8:システム予約 */
と書き換え、Project->CleanとProject->Build Allを2回をやれば、スタートアップコードがうまく書き換わるようだ。)

それから、FDTを使ってRS232C経由でMOTファイルをダウンロードします。

これでJTAG ICEを立ち上げ、PizzafactoryでDebugを起動します。
するとGDBプロトコル経由でJTAG ICEにつながります。

Pizzajtag3

つながって、ぐちゃぐちゃやっていると、ソースコードのウィンドウが開いて、デバッグができるようにはなったのですが、ここからが難しい。
思ったようにステップ実行させたり、ブレークポイントを仕掛ける方法がわかりません。
きちんとEclipseの使い方をしらべなければいけませんね。


| | コメント (0)

SH2用JTAG ICE Version1.1リリース

お待たせしました。

SH2用JTAG ICEの第3版をリリースしました。
今度のバージョンは、Version1.1となりました。

当初は試用期限を設定する予定でしたが、期限の設定をやめ、いつまでも使えるようにしました。
一応、無償版は、このバージョンが最終版となる予定です。

また、使い方などを下記のページにまとめましたので、あわせてご覧下さい。

SH2用JTAG ICEのページ

このバージョンでは、次のような改良が行われています。

まず、キーコードを設定しなくても起動するようになりました。
以前配布していたβ03というバージョンでは、JTAG ICEを使用する前にRS232Cを通じて「キーコード」と呼ばれるデータをROM上に書き込んでおかなければ動作しないような仕様になっていました。
今回のVersion1.1では、この「キーコード」が設定されていなくても起動することができます。そして、起動後に、内蔵ROMのエリア(アドレス0番地付近)を内蔵RAMでエミュレートさせることができます。
これによって、ROM上に何もプログラムが格納されていなくても、内蔵RAM(8kBytes)上に収まる規模のプログラムであれば、JTAGを通じてダウンロードして実行させることができます。

ただし、ROMが空の場合には毎回フラッシュROMを消去されてしまいます。内蔵フラッシュROMの書き込みは100回までとされているので、できればキーコードは設定したほうがいいでしょう。

他には、ThinkPADを使ってパラレルポート経由でJTAGを使用する際の動作が改善されています。ThinkPADのパラレルポートは特殊だといわれますが、今回のバージョンではデバイスドライバを新しいものに置き換えたので、安定性が向上していると思われます。
それ以外には、細かい挙動などいくつか改善されていますが、とりわけ大きな変更はキーコードの部分になります。

他の改善点については、後々紹介していきます。

| | コメント (0)

« 2006年6月 | トップページ | 2006年8月 »