Sim's blog

電子工作はじめてみました

LPC2388のBSDLファイル?

2009-04-05 18:22:24 | その他のマイコン
mitoujtagで、LPC2388をみてやろうと少し遊んでみました。
以下の内容を書いたファイルを使ってケーブルを定義してやりました。
TDI       5
TCK       4
TMS       3
TDO       11

とりあえずIDはちゃんと読めているようです。
BSDLファイルがあると、ピンとかも見れてかっこいいと思って探してみました。
NXPのBSDLファイルダウンロードページ。残念、LPC2388のBSDLファイルはないようです。似たような名前のはLPC2378とかがあります。中を覗いてみると、VHDLファイルみたいでした。もしかすると自分で書けるのかもしれないですが、下手なことをして壊すとこわいので、ここで中断です。


LPC2388基板をJTAGデバッグ

2009-04-05 15:43:10 | その他のマイコン
LPC2388基板でLEDチカチカの続きになります。

Olimex製のJTAGケーブルを買ってきました。

うちのノートPCは古いThinkpad T42なのでパラレルケーブルのインタフェースがついています。オスメスの延長ケーブルは千石にありました。

Interfaceの4月号を見ながら、IARのembedded Workbenchをインストールしました。やはりInterfaceを見ながら、新しいプロジェクトを作成しました。Interfaceのダウンロードページからダウンロードしたサンプルプロジェクトのソースだけコピペして、コンパイルしてFlashMagicで書き込んで動作することを確認しました。最初ARMでなくThumbの方にしていて動かなかったりとかありました。設定項目はp.70にありますが、コード生成、出力コンバータ、リンカの3種類があります。

プロジェクトのオプションでデバッガを選択できます。最初Macraigorにしてwigglerを使おうとしましたが、うまくいきませんでした。ARM-JTAGはwigglerコンパチなはずなんですが謎です。
RDIにすると、なんか動いてるっぽい状態にまでいきました。RDIにすると、自分のPCの中にサーバみたいなのがいて、JTAGを直接触るのはRDIのサーバですが、IARとかのデバッガは決められたフォーマットでRDIと通信して、デバッグする方式のようです(かなりあいまいな理解です)。

RDIのサーバとして、H-JTAGというソフトを使いました(H-JTAGのホームページ)。ダウンロードして、zipを解凍してから、インストーラを起動してセットアップします。
ピン設定を、このページと同じにしました。



IARの設定の方法はH-JTAGのユーザーマニュアルの7章に載っています。デバッガをRDIにして、RDIドライバとして、H-JTAGをインストールしたときに一緒にインストールされるH-JTAG.dllを指定します。

JTAGデバッグしている様子です。


現状で変な所は、デバッグを開始した最初に一回リセットしてやらないといけないことです。一回だけリセットしてやると、その後はうまく動きます。別の変な所は内蔵オシレータ動作だと動作が変でした。具体的には、妙に動作が速いです。外部オシレータなら問題ありません。

結構、試行錯誤していたので、最初の状態や、何を変更したのかが分からなくなって、ちゃんとした報告ができませんでしたm(_ _)m
一つ分かっているのは、H-JTAGサーバーの設定でauto downloadにしておかないと、フラッシュの更新が行われないことです。

IARはどうせ32kまでしか使えないし、ちゃんとしたgccを使う方がいいです。
zusさんが「ARM LPC2388 開発環境構築方法」という素晴らしい解説ページを作ってくださっています。

当初の予定では、IARがwiggler対応のはずなので、IARだけインストールして、ちゃちゃっと動作試験しようと思っていたのが、結局RDIで動かすことになってしまいました。本格的にやるならzusさんの所を参照して、eclipseの環境を作る方がいいです。

H-JTAGだと、自分の好きなピン配置のケーブルが使えるみたいなので、もしかしてxilinxのケーブルでもいけるかなと思いましたが、FPGA用のJTAGケーブルってリセットがないので、無理っぽいと思って、やる前からあきらめてしまいました。

こういうデバッグ環境のセットアップって、すごく面倒です。誰かがうまくいったのをコピーするのが一番楽です。うまくいかないときに何をすればいいのかさっぱりです。思いつくままにチェックボタンをつけたりはずしたりして、結局ぐちゃぐちゃになってしまいます><。今回は、それっぽく動いたような気がする、くらいであきらめてzusさんの方に変えようと思います。しくしく。

デジタル・デザイン・テクノロジ付録基板の部品情報

2009-04-05 12:06:17 | FPGA
デジタル・デザイン・テクノロジ創刊号の付録はLattice FPGAボードの続きになります。

4/10に創刊号が出るデジタル・デザイン・テクノロジですが、Lattice XP2を載せた付録基板がついてきます。


(葵)ちゃんのブログにて、マルツから部品セットが発売されることが紹介されています(記事)。また、先行して、回路図も公開されています(『ディジタル・デザイン・テクノロジ』創刊号付属FPGA基板 回路図公開)。ただし、ログインしないと見れません。せっかくなのでCQ出版のメルマガ用アカウントを取るのもいいかもしれません。(葵)ちゃんの情報も元はメルマガからだそうです。

特殊そうな部品は「SPIフラッシュ・メモリ(M25P20)」と3.3V動作の水晶発振器です。LatticeXP2はフラッシュ搭載のはずなので、SPIフラッシュを何に使うのか不思議です。回路図の方ではAT25F2048Nという型番になっています。AT25F2048Nは幅が広いタイプなので、もしかするとランドにうまく載らないかもしれません。

LatticeXP2のハンドブックを見るとCFG0とCFG1の2ピンを制御することで、内部フラッシュから起動するか、外部フラッシュから起動するかが選べるようです。回路図では、ハンダジャンパで選べるようになっています。とりあえず、なくても困らなそうです。フラッシュだと書き換え回数の寿命があるので外部フラッシュも使えるようになっているといったあたりでしょうか。

回路図では28.636MHzの水晶発振器がついています。28.636MHzということは、何か映像関係の例題でもあるんでしょうか。3.3V用の発振器はラジオデパートのサンエレクトロさんが色々扱っています。秋月にも33MHzの水晶発振器があります(通販コード P-01512)。マルツでは表面実装用の10MHz、20MHz、28.636MHzの取扱いを始めるようです。
表面実装でない缶タイプはマルツにあります(型番でNOHを検索すると出てきます)。缶タイプだと、ソケットだけ実装して付けはずしできていいかもしれません。でも水晶発振器用の4ピンのソケットってあるのかな?

一つ気になるのは5Vから3.3Vを作るのにLM317Tを使っていることです。LM317TってLDOじゃないので、出力より3V以上高い入力を入れないといけなかったと思うんですが、大丈夫なんでしょうか。

FPGAのJTAG信号は、そのままコネクタに出ているだけなので、書き込みにはJTAGプログラマが必要です。shirouさんがダウンロードケーブルの情報について書かれています(記事)。なひたふさんがLattice用のJTAG書き込み器の開発をされています。

いよいよ1週間後(4/10)です。