Recent Entries
Archives
Search


Links
Powered by
Movable Type 2.64

2003年09月08日

OBS266のGPIO

JTAGでGPIO周辺叩いてLED眺めたので防備録


LONG $ef600700 = $00000000 ・・・ 全点灯
LONG $ef600700 = $00080000 ・・・ 1消灯
LONG $ef600700 = $00040000 ・・・ 2消灯
LONG $ef600700 = $00020000 ・・・ 4消灯

JTAG便利、便利すぎ…てことで IBM PowerPC 405GPrでも使用できました>WIGGLER

Posted by minemaz at 2003年09月08日 02:36
トラックバック
このエントリーのトラックバックURL:
http://www.lancard.com/mt/mt-tb.cgi/23

Comments

とっても助かりました。

Posted by: とくだ at 2003年09月12日 02:14

はじめまして。kuroと申します。宜しくお願いします。
最近、FPGAでPPC405を使ったシステムを作ることになりPPC405に興味を持ち、ずっと手元に置いて使えるボードが欲しくて比較的安価でJTAGをサックッと使えそうなOBS266を購入しました。
ですがJTAGが繋がらず苦戦してます。全然サクッといってません…吊ったり、落としたり、波形を見たりで。
環境は、MacraigorのOCD commander+自作wiggler互換(多分…)です。最終的にはOCDemon+gdb+自作wigglerの環境に持って行きたいと思ってます。
ですが、minemazさんの初期の状態と同じじゃないかと思われるのですが、"internal error 43"のポップアップの後、
"Error Response from INITIALIZE: 0x03 initialize_target : cable disconnected (10 : 03)"
となってtargetを認識できていないと思われる状況です。(ケーブルを繋いでなくても同じエラーになりますね)
ロジアナで見るとTCKとTDIは出力されていますがTDOが全く返ってきていません。OBS266側でJTAGをイネーブルにする必要があるのかと調べたりもしたのですがその必要があるような結果は得られませんでした。
minemazさんの書き込みを見ると他にもいろいろと気になり始めました。wigglerに謎なGALが載っているとかもその1つで、もしかしてGALにもTAP controlerが載っていて今target boardに送っているコマンドはwiggler内部で何かするためのものなのか?とか、405には対応していないというMacraigorの回答も気になるところです。targetの差はピン配置位じゃないかと鷹を括ってましたがそうでもないのかもとか…
パラレルのJTAGケーブルはいろいろな物がありますが、どれもピン配置の違いとTRSTの有無、System RESETの有無程度だと思っていたのですがこれが間違いの始まりかもしれないと思いはじめました。wiggler使ってたころにもっと調べておけば良かったと後悔してます…
長々と書いてきましたが、もし可能でしたら別の書き込みにあったMacraigorからのチェック方法というのを教えて頂けないでしょうか?
厚かましいお願いで恐縮ですが何卒宜しくお願いします。
本物のwigglerじゃないと駄目なのでしょうかね…そうなるとプロセッサが変わるたびに買わなければならないのがなんともシックリこないですが。

Posted by: kuro at 2005年12月15日 00:47

405には対応していないという件ですが、Macraigorで販売している Wiggler「IBM PPC 4xx (WPPC4xx)」は 403系のみ対応のようで、 Macraigorから DL可能な pinouts.pdf(各 CPU毎の JTAG pinoutが掲載されています)を確認いたしますと、405と403ではクッキリ異なっています。
むしろ ppc405のpinoutは MPC824xに近く、一部のpinを除くとほぼ互換です。
ちなみに 謎の GALが載ってるWigglerは残念ながら ppc403用ですので、405では”使用できません”。TV接続可能なWebセットトップボックス系のJUNK等に搭載されていることが多いヤツ用です。
でもコレだけだと救いが無いのでこの件に関するヒント的なものですが:
http://www.lancard.com/archives/000012.html
ということで、実際に MPC824x用の物が使用できてしまっています。MPC824x用のWigglerはお手元にはお持ちではないかもしれませんが、もう一点:
http://www.lancard.com/archives/000169.html
ということで、幾つかpinを差替えたり74AC244とか74LCX244入れてレベル合わせたり…は必要かもしれませんが、何故かARM用のものが使用できる場合があります。そのカラクリについては詳しく書きすぎると OCDcommander を公開してくれなくなりそうなのであまり大っぴらに流すつもりはありませんが(emailでの問合せは可)、実際に ARM用のWigglerやARM用のRAVEN互換JTAGにゲタ(pinの入替え用)履かせてMPC8245でもppc405GP、ppc405でも使用を確認しています(ただし、405系でMPC824xなJTAGを接続すると reset周りが上手く動作しなかったように記憶してます)。
# しかしなぜか玄箱の MPC8241 では上手く動作
# させきれていなかったりはします…

実はこの件、以前Macraigorと交渉したときに「間違いやすいから 405には対応していないとWebページに書いておきなさいよ」とメールしたのですが、未だに直っていないようですね(;´Д`)

Posted by: mienmaz at 2005年12月15日 01:37

ああスイマセン(;´Д`)全然読まずにコメントしてました。
「targetの差はピン配置位」はARMとMPC824xとppc405では大体そのとおりです。ウチで作った変換アダプタでは
5,11はNCでぶらぶらさせたままで、2と12,16の間に適当な抵抗入れて下げてるだけではあります。RESETはHRESETに入れてます13。
あとは TVcc周辺くらいですが、コレもARM用のTVcc直結です。
# ああ適当スギなアダプタですね(;´Д`)
# ppc4xxと ppc4xx Wigglerのドッチをリストから選択
# していたか記憶が曖昧なのですが、どちらかは
# たしか ハズレです(;´Д`)

Posted by: mienmaz at 2005年12月15日 02:03

早々の丁寧な返答ありがとうございます。
pinの処理の考え方は殆ど同じですね。電源はtrget側から取ってレベルを合わせています。4xxでは5,11に加えて2pinもNCになっていたので何の処理もしていません。(MPC824xだとQACKなのでおっしゃる通りですね)
13(SRESET)については、ロジアナでパラレル側の出力を見ても何も出てなかったようなので吊ってあります。OSが起動しているようなのでリセットは掛かってないと思われますが、明日にでも本当に出力されていないのか再確認してみます。
それでも405 coreのdatasheetにはSRESETに相当するpinが無いのでconnectはできるはずと思ったりしてます。周辺が固まろうと何しようが今はどうでもいいと…
"アチコチ"とその他のHPを見てパラレル側のTRSTの位置が違うのをもう一回疑ってみます。(openwinceのjtagソースを見て最終決定してました)
いろいろとヒントを頂けたので、全部再確認してみます。一人でやってると簡単な事に気付けなかったりすることがあるのでとても助かります。
本当にありがとうございます。では、結果は後ほど。
p.s ppc4xx Wigglerが外れに一票。

Posted by: kuro at 2005年12月15日 03:03

結果はメールでお送りしました。
ありがとうございました。

Posted by: kuro at 2005年12月16日 02:09
Post a comment









Remember personal info?