Efinity TrionへのJTAG書き込みに再チャレンジ
MITOUJTAGでEfinity TrionへのJTAG書き込みに再チャレンジしています。
これまでもT120には書き込めるたですが、なぜかT20には書き込みできません。T20に書き込みをしようとすると、NSTATUSのランプが消えて書き込みエラーとなってしまいます。
TrionはBSDLに異常があったりしていろいろおかしかったのですが、いままでわかっていることを整理します。
- メーカーが提供しているT120用のBSDLファイルのdisvalの値が逆。バウンダリスキャンで入力ピンと出力ピンが逆になってしまう
- T20では書き込み時にCRESET_NとSS_Nの操作が必要。CRESET_Nが立ち上がるときのSS_Nの値を見て、HだったらSPIコンフィグが起動してしまう。そのためSS_NをLにしてSPIコンフィグを止める必要がある。
- TESTピンは常にHにしておく
ということでした。
アプリケーションノートを読み返していて、あることに気が付きました。
T20ではデータを送信している間にPAUSE_DRやIDLEステートに入れてはいけないのです。
SVFファイルで表現すると、下の図のように3000とか適当なサイズで分割してはいけません。これはEfinity Programmerで出力したSVFファイルですが3000bitで区切っているので、これをPlayしても書き込みはできません。
ENDDR SHIFT_DRにしておけばいいのかもしれません。
ようやく原因がつかめてきました。
T120では適当なサイズで分割しても良いのですが、T20ではだめなようです。
| 固定リンク
コメント