やっぱARMっしょ2at DENKI
やっぱARMっしょ2 - 暇つぶし2ch150:774ワット発電中さん
09/07/09 02:37:26 PzmOue4g
P2.10 LOW is disabled if a valid user code is present in flash sector 0.


151:774ワット発電中さん
09/07/09 09:50:19 BZG86Sd7
>>144
おらのプログラムにあった一文

SCS |= 1; // P0,P1を高速にする



152:129
09/07/10 12:00:28 SZioDRDm
あれから外部バスピンをGPIOでピコピコと制御したら外部メモリにアクセスできたので
取り合えずホッとしたけど、 >>135 >>136 に書かれていた事を思うと、イマイチ腑に落ちなくて
いろいろと確認したところ、GPIOじゃなくて、普通に外部バスモードが使えるようになりました。
そう、最初に書いた外部バスのコードで正解だったんです。 では、なぜ使えないと思ったのか?

結論を書くと、EWARHのJ-LINK(ICE)を使ったデバッガのメモリダンプ/エディタに不具合がある事が原因だった。
ICEなどデバッガを使った人なら当然使っているメモリダンプ機能。これが原因だったんです。

一昨日、作成したプログラムをステップ実行して EMC の初期化が終わった行で、メモリダンプをして、
なんとなくメモリがダンプできたので、何バイトか手動で書き換えたけど、変化しない。 ん? 
EMCの使い方を間違えたのかと思って、NXPのサイトでドキュメントを探していたら、例のエラッタを発見。
それで、外部バスが使えないと思ったんです。 

しかし、ICEのメモリダンプではなく、自分のプログラムでアクセスすると、読み書きとも正常だったんです。
えええっっ、、そんな馬鹿な! って思ったけど、何度やってもICEのメモリダンプで外部バスをアクセスすると
おかしな結果になってしまいます。

ということで、デバッガの不具合でした。 お騒がせしました。





153:774ワット発電中さん
09/07/10 19:17:06 eCEcr/gG
TOPPERS/ASP, とりあえず sample が動くようになった(・∀・)
OpenOCD はあいかわらずだけど…

154:774ワット発電中さん
09/07/11 11:42:18 BDB3q/jt
LeopardBoard,国内で買えるとこある?

155:774ワット発電中さん
09/07/11 14:03:26 zr9LIof3
>>154
バチモン買うのか。勇気あるな。

156:た
09/07/12 03:47:11 cM386ybJ
>>153
ソースもらえると嬉しいな(^^)

157:774ワット発電中さん
09/07/12 10:01:49 x7ucegRc
面白そうだな
URLリンク(search.digikey.com)


158:774ワット発電中さん
09/07/12 10:35:15 BmAh5sGh
AVRやPICでよさげな気も(´・ω・`)

159:774ワット発電中さん
09/07/12 11:46:48 dUg6lvcA
>158
RAMサイズあたりの値段にするとAVRやPICは高いからね。


160:774ワット発電中さん
09/07/12 12:26:19 Rt+J+WOr
>>157
28pinパッケージでもJTAGなんですね。
既存のツールがそのまま利用可能そう。
あとそのチップの会社ってTIに買収されてたんだ。


161:774ワット発電中さん
09/07/12 12:32:22 Ou9M/EuR
つ 1ワイヤシリアルデバッグ

162:774ワット発電中さん
09/07/12 13:55:10 G0Hz/3tR
>>156
あやしいソースでよければw (・∀・)
URLリンク(www.geocities.jp)

163:た
09/07/13 06:04:40 qPSH4dn/
>>162
ありがとね。
Toppers は RTOSサポートする時の対象にする予定
なので、サンプルとして使わせてもらいます(^^)


164:774ワット発電中さん
09/07/13 17:28:19 7iHXYrky
DAIICE for PC-UNIX も期待してるよw (・∀・)

165:た
09/07/13 18:02:52 wbD6rrSc
ほぃ

gnomeの資料読み始めたよん。

166:774ワット発電中さん
09/07/14 00:34:06 CYXvRZRp
144です。
その後chan氏のサンプルソース(mci_oled)を修正すると18MHzでgpioパタパタできることがわかりました。
インタフェースのサンプルソース(gcc_sample.zip)ではウェイトの設定がないため非常に低速で動作していたため
うまくgpioパタパタできていなかったようです。
ありがとうございました。>146 147 151

167:774ワット発電中さん
09/07/15 16:51:22 yeEV37Dx
ARMを始めようと、LPC23xxをターゲットにJTAGケーブルを作ろうとして、
URLリンク(micom.hamazo.tv)
あたりを参考にしてあれやこれや考えているのですが、TRSTとSRSTに入っている
74HC125の部分は必要なんでしょうか?

どこで見たのか探しだせないのですが、TRST1本(SRSTは無視)だけという
FT2232から完全に直結しただけという回路図も見た気がしまして。

168:774ワット発電中さん
09/07/15 18:07:17 2mkaQSiU
リセットがぶつかる可能性がある(たとえばリセットボタン押したとか)
のでODなバッファの74HC125は必要っす。

169:774ワット発電中さん
09/07/15 19:13:10 yeEV37Dx
LPC2388だとTRSTとRESETは別ピンになっているようですが、
TRSTピンにスイッチをつなぐようなことがあるんでしょうか?

データシート見て探しているのですが、SRSTはそもそも
接続する必要がない???

170:774ワット発電中さん
09/07/16 00:18:20 CgDNSot1
TRST、SRSTあたりはまるごと省略しても大概動く。
SRSTはsystem resetの略で、繋ぐならRESETピンに。

上記理由もあってTRSTはIOピンと共通になってることがあり、
ARM汎用のケーブルではODになってないと困る。
SRSTも同様。コントローラが周辺にリセット発行できる奴がある。

ターゲットが一つだけで未来永劫衝突しないことが明確なら125は無くても良いよ。


171:774ワット発電中さん
09/07/16 00:58:49 wvIyj6wa
ありがとうございます。
FT2232側でなぜSRST出力が戻っているのかわかりませんでしたが、
そういうことですか。

試してみます。

172:774ワット発電中さん
09/07/16 11:49:21 cWLPVOwU
すみません、質問です
InterfaceのLPC2388基板でフラッシュの書き込みができるようになったのですが
以下のWarningはどう言った意味でしょう?

gdb側ログ
>load mcitest.elf
Loading section .text, size 0x17d78 lma 0x0
Loading section .data, size 0x4 lma 0x17d78
Start address 0x0, load size 97660
Transfer rate: 9 KB/sec, 976 bytes/write.
>compare-sections
Section .text, range 0x00000000 -- 0x00017d78: MIS-MATCHED!
Section .data, range 0x00017d78 -- 0x00017d7c: matched.
warning: One or more sections of the remote executable does not match
the loaded file

OpenOCD側ログ(Amontec Jtagkey-tiny)
Warn : Verification will fail since checksum in image(0x00000000) written to fla
sh was different from calculated vector checksum(0xb8a06f60).
Warn : To remove this warning modify build tools on developer PC to inject corre
ct LPC vector checksum.

上の方でチェックサムがあっている、間違っているという話が出ていたので
このチェックサムを治せばいいのかと思ったのですが検索してもわからず、お手上げ状態です

対策方法が判る方がいたら教えていただけないでしょうか

173:774ワット発電中さん
09/07/16 12:17:19 wquoJa5B
>>172
> すみません、質問です
> InterfaceのLPC2388基板でフラッシュの書き込みができるようになったのですが
> 以下のWarningはどう言った意味でしょう?

もしかすると、>>55 >>59 の件だったりして。



174:774ワット発電中さん
09/07/16 13:48:31 cWLPVOwU
くっ…確かにこれでした…コンパイラが書いてくれていないのかorz

arm-elf-objdump -d --start-address=0x0 --stop-address=0x1f mcitest.elf
mcitest.elf: file format elf32-littlearm

Disassembly of section .text:

00000000 <Trap-0x3c>:
0: e59ff018 ldr pc, [pc, #24] ; 20 <B_Thumb>
4: e59ff018 ldr pc, [pc, #24] ; 24 <VIC_SWPriorityMask>
8: e59ff018 ldr pc, [pc, #24] ; 28 <VIC_SWPriorityMask+0x4>
c: e59ff018 ldr pc, [pc, #24] ; 2c <VIC_SWPriorityMask+0x8>
10: e59ff018 ldr pc, [pc, #24] ; 30 <VIC_SWPriorityMask+0xc>
14: 0000 .short 0x0000
16: 00 .byte 0x00
17: 00 .byte 0x00
18: e59ff014 ldr pc, [pc, #20] ; 34 <VIC_SWPriorityMask+0x10>
1c: e59ff014 ldr pc, [pc, #20] ; 38 <VIC_SWPriorityMask+0x14>


175:774ワット発電中さん
09/07/20 00:04:48 VRRLyE9x
LPC2388で勉強中なんですが、LEDチカチカプログラム作成、コマンド
ラインでmake、シリアル経由での書き込みまではできるようになりました。
今度はJTAG経由にしようとJTAG接続して、OpenOCDでメモリダンプ等までは
できるのですが、書き込むと書き込み自体は成功しているようなのですが、
ダンプすると0番地から ffff になっていてだめです。
OpenOCDは勉強のため、telnet 接続で手打ちです。
なすすべなくてどこから手をつけてよいのかわからないのですが、
どのあたりを確認すればよいでしょうか?

ところで、ffff なまま reset run させるとハードリセットかけても、
JTAG応答がなくなってしまうのですが、暴走させるとJTAG
応答もなくなるのですが、そういうものですか?
電源切ってシリアルからまともなプログラムを書き込むと復活するのですが。

176:774ワット発電中さん
09/07/20 00:36:04 e5RQiW7U
書けたかどうか位は確認したほうが良いのでは…
FFFFってことはEraseしただけって気がするんだけどw

177:774ワット発電中さん
09/07/20 00:48:34 VRRLyE9x
確認のため mdw すると ffff なので、verify するまでもないという状態です。
>flash write_image erase ledtest.hex 0 ihex
auto erase enabled
wrote 32052 byte from file ledtest.hex in 8.687000s (3.603175 kb/s)
>mdw 0 256
0x00000000: ffffffff fffffffff ....


178:774ワット発電中さん
09/07/20 17:51:55 XOFK1Zor
ベクタ領域だけなら >>55 >>59 の件じゃねーのって事を言いたかったんだ。
OpenOCDでconfigファイルのflash設定にcalc_checksumってのがある
みたいなんだけど。

179:774ワット発電中さん
09/07/20 18:53:56 VRRLyE9x
どうもです。
あっちこっちダンプしてますが、見事に ffff なんで erase だけ成功してるようです。
55,59の件もリンカがやらなきゃ誰がやってるんだ?と疑問に
思ってましたが、calc_checksum を見て疑問が解けました。
該当行は、
flash bank lpc2000 0x0 0x7D000 0 0 0 lpc2000_v2 12000 calc_checksum
です。
12000の部分は、ぐぐると4000だったりいろいろで、正解がよくわかりません。
4000のときは書き込むと ffff だったんですが、12000 だと何か書けていますが、
微妙に違います。ビット化けしてるような感じです。(化けてる
ならなぜベクタ部の書き込みが成功するのか謎ですが…)

ところで、hexファイルの0番地見ると e59ff018 なんですが、
これはどこ向いているのでしょうか?


180:774ワット発電中さん
09/07/20 19:16:20 XOFK1Zor
12000のとこは外部クロック使ってるならそれにあわせる…かもしれん
確かKHz単位指定

0番地はおそらくブランチ命令ではないかと(コードみないとわからん)

181:た
09/07/20 21:03:23 5KYMmsci
>>179
CQ付録なら 18000 だーよ。

182:774ワット発電中さん
09/07/20 22:15:32 DDmnz9mu
OpenOCDはどんどん仕様変わっていってるから
それにおっつくのだけでも大変ね

>>181
どんなクロック状況でも確実に書き込みするためにJIM-TCLスクリプトで
一旦内蔵4MHzに切り替えてからやってます
多分4000(=4000kHz)でやってる人たちは皆そうしてるんだと思う…


183:774ワット発電中さん
09/07/20 23:55:26 VRRLyE9x
>>181
うまくいきました…。
lpc21isp だと 12000 でうまくいくので 12000 で正解だと
思い込んでました。

>>182
拾ってきたサンプルでは4000だったんですが、確かにTCLとかJIMとか
コメントが入っているところがありました。
PLL触ってるようなので何やってるんだろうかと疑問でしたが、
その謎も解けました。

みなさまありがとうございます。

暴走させるとJTAG応答なくなる件もお願いします。
これまではハードウェア不良も疑っていましたが、それは
なさそうなので。

184:774ワット発電中さん
09/07/21 11:26:18 l3EEJQrY
Olimex ARM-USB-OCDでDaiice動かない~と言ってたものです
4dで認識されることを確認しました。

最初またつながらなくておかしいなと思ったらAmontec JTAGKEY-Tinyがぷらぷらぶら下がってたw
そっち抜いてターゲットに接続しているOlimexだけにしたらちゃんと認識されました


185:た
09/07/22 10:18:43 qYMB6qjN
>>184
動作レポートありがと~

186:774ワット発電中さん
09/07/22 15:49:02 R/j00r58
URLリンク(www.siwawi.arubi.uni-kl.de)

知っている方がいたら教えてください。
WinARMのページのUpdates and Add-Ons:にある上記のURLのMakefile generaorの
MakeFile_Armというソフトですが、これの最新バージョンがあるところをご存じの方ませんか?

chanさんのfatfsのサンプル等で24. Aprl 2007に最終アップデートされているようなのですが
上のページとリンク先を探しまわっても見つかりませんでした

どなたかご存知の方がいたらお願いします

187:774ワット発電中さん
09/07/23 09:12:11 9W5XI66G
Daiiceでスタートメニューから起動すると普通に起動するけど
拡張し関連付けのdaiファイルを開くとruntime error…

いったいなんなんだw


188:774ワット発電中さん
09/07/23 09:39:29 9W5XI66G
ついでにもう一つDaiice4d…ってまずDaiiceの報告ってこのスレでいいのかしらん?

LPC2388のInterface基板は認識するのですが、Embedded ArtistsのLPC2468評価基板だと認識できなくなります。
URLリンク(www.embeddedartists.com)

給電を兼ねているこのUSBポートに引っかかっちゃってる?
- USB-to-serial bridge on UART #0 (FT232R) and ISP functionality

UARTのアクセスランプピコピコしてるしな~

189:774ワット発電中さん
09/07/23 09:43:47 9W5XI66G
>>188
USBからの給電ではなくExternal DCからの給電なら問題なく認識します
ちなみにOpenOCDだとUSBでも外部電源でもどちらでも問題ないです

190:た
09/07/23 10:55:05 8mmW2Wnz
>>187-189
バグレポありがとう(^^)

次のリリースで修正しますね。

191:774ワット発電中さん
09/07/23 16:00:01 9W5XI66G
OpenOCD+WinARMとLPC2388で質問です

flash bank lpc2000 0x0 0x80000 0 0 0 lpc2000_v2 18000 calc_checksum
OpenOCDで↑のコマンドでフラッシュの書き込みを行うと0x14のチェックサムを
OpenOCDが計算して、正しいチェックサムを0x14に書き込んでくれますよね

しかし、その場合、元のelfファイルの0x14のところには0が書き込まれています
これを
load main.elf
compare-sections
すると0x14のチェックサムのところが一致しないため必ずmismatchになってしまいます

スタートアップルーチンの0x14のリザーブしてある領域に手動でフラッシュに書き込まれている
チェックサムと同じ値を記述すれば確かにmatchするのですが、これはコンパイラやリンカでは
計算して書き込むことはできないのでしょうか?

IAR EWARMは計算しているみたいなのですが
URLリンク(supp.iar.com)

gccだとこれは出来ないのでしょうか?



192:774ワット発電中さん
09/07/23 18:30:47 7G+70T2q
NXP専用だろうし、やるならパッチ当てるしかないんじゃない?

パッチ当ててgccビルドするくらいなら、チェックサムを計算して
バイナリを直接書き換えるプログラム書いて、Makefileでやった
方が楽じゃねーかなぁ。

193:774ワット発電中さん
09/07/23 21:44:42 SZ4u9KXu
objdumpあたりがすべき仕事になるだろうけど、入ってないっぽい?
まあプログラム書くってか、openocdのチェックサム計算コードを
もってくるだけだけど。

しかし、ベリファイ通したければアセンブラにチェックサムコード書いとけ、
というなげやりさはどうなのよ↓
URLリンク(www.siwawi.arubi.uni-kl.de)


194:774ワット発電中さん
09/07/23 21:59:29 KlKIVhsZ
値なんてほとんど決まってるだろうし書いておけでもいい

195:774ワット発電中さん
09/07/24 07:01:02 0/wkt0cu
binutils + gcc + newlib をオプションかえて再構築ができない(・∀・)
なんで空のMakefileができてるの…

196:た
09/07/24 12:20:27 sXdvI+6h
>>195
バージョン変えるかパッチさがすといいかもね。

197:774ワット発電中さん
09/07/24 15:14:16 43IolTgc
>>195
YAGARTOが-finput-charsetと-fexec-charset受け付けないから
MingWでビルドしなおしてみたけどえらい苦労したお(´・ω・`)

gdbはtexinfoのエラーが修正出来なかったからそのまま(・∀・)

198:774ワット発電中さん
09/07/24 16:00:03 EyZb4VdW
?URLリンク(trac.nslu2-linux.org)

199:774ワット発電中さん
09/07/24 20:57:36 0/wkt0cu
>>196-197
LPC2388のための binutils + gcc + newlib で configure オプションで何をつけるのが基本なんだろ(・∀・)
何も考えずに --with-newlib で作ったら、TOPPERS/ASP + FatFs のコンパイルで
undefined reference to `__adddf3'
undefined reference to `__floatsidf'
undefined reference to `__muldf3'
undefined reference to `__adddf3'
undefined reference to `__fixdfsi'
undefined reference to `__ltdf2'
undefined reference to `__ltdf2'
なんてエラーが出たので多分再構築が必要だろうとトライしてるんだけど…
URLリンク(www.jstuber.net) を真似して試してるんだけど
gcc の残りのコンパイル部分で空の Makefile があるディレクトリでエラーになってます
再構築が必要なのか, 正しい構築手順は…ハード屋には敷居が高くてよくわかってないんだよね(・∀・)テヘ

200:774ワット発電中さん
09/07/24 21:15:56 EyZb4VdW
# gcc rest

cd $prefix/build-gcc
make all install

これやった?

201:774ワット発電中さん
09/07/24 22:11:05 0/wkt0cu
>>200
undefined reference to が出た環境ではやってない(・∀・)
binutils, gcc, newlib の順番で make と make install をしただけ

再構築にトライして空の Makefile があるディレクトリでエラーになるのは、
# gcc rest

cd $prefix/build-gcc
make all install
これを実行時です…o...rz

202:774ワット発電中さん
09/07/24 22:45:47 EyZb4VdW
pushd ${srcdir}/gcc-${gcc_version}
ln -s ${srcdir}/newlib-1.14.0/newlib
popd
rm -fr build-gcc <ーー消したほうがいいかも
mkdir build-gcc
cd build-gcc
${srcdir}/gcc-${gcc_version}/configure なんたら
make
make install

これだと、gcc構築時にnewlibも構築され、make install時にnewlibもインストールされる。

203:774ワット発電中さん
09/07/25 06:40:34 AsoX95nT
とりあえず余計なオプションはやめて >>202 の手順で gcc のコンパイルはできた(・∀・)
--with-float=soft をいれたときに空の Makefile 問題がでてるような気がする
最終的に --enable-multilib --enable-interwork --with-float=soft で再構築をめざしてるんだけど
これってやらなくてもいいのかな?
サイトによって gcc/config/arm/t-arm-elf を編集して MULTILIB_*** を有効にするとかしてるところ
もあって multilib と interwork の扱いが特にわかんない(・∀・)テヘ

204:774ワット発電中さん
09/07/25 20:55:33 AsoX95nT
やっぱりだめだった(・∀・)
TOPPERS/ASP + FatFs のコンパイルであいかわらず
/usr/local/src/gcc-4.3.2/obj/arm-elf/newlib/libc/stdlib/../../../../../newlib/libc/stdlib/dtoa.c:356: undefined reference to `__adddf3'
などとでる
えー、コンパイルしたソースディレクトリなどずっと残しておかないとだめなの?

205:774ワット発電中さん
09/07/25 22:24:07 AsoX95nT
えー解決したよ(・∀・)アハ

206:774ワット発電中さん
09/07/25 22:29:22 kjNGeucF
どう解決したか報告ヨロ!

207:774ワット発電中さん
09/07/26 12:03:13 jsHdvaSz
--enable-interwork指定できるconfigureってあるんかいな?

208:774ワット発電中さん
09/07/26 20:49:43 hcgYmgca
>>206
-lc と -lgcc の順番を入れ替えただけ(・∀・)テヘ
Makefile, Makefile.chip, や Makefile.target とかあちこちでオプション指定してるから
順番がくるってましたw

>>207
ないの? あちこちのサイトで -enable-interwork 指定してるみたいだけど…

209:774ワット発電中さん
09/07/26 22:03:57 jsHdvaSz
-nostdlib止めればいいじゃね?

210:774ワット発電中さん
09/07/26 22:10:14 hcgYmgca
asp/doc/poarting.txt に次のように書いてあるから止めないほうがいいような気がする(・∀・)

また,標準のスタートアップモジュール(crt0.o)をリンクしないように,LDFLAGSに-nostdlibを追加
する必要がある.さらに,-nostdlibをつけることで標準ライブラリがリンクされなくなるため,LIBSに
-lgccを追加しなければならない.

211:774ワット発電中さん
09/07/26 22:15:24 jsHdvaSz
-nostartfilesってのがあるんだけどね。

212:774ワット発電中さん
09/07/27 16:03:29 v/vdrsA1
苺にSTM32 Primer2キタコレ

213:774ワット発電中さん
09/07/27 16:16:01 m3tKreLO
>>212
おおお、いいね(・∀・)

214:774ワット発電中さん
09/07/27 16:17:35 40O8Zg+X
\6,300か・・・送料\400足すと\6,700
DigiKeyだと\6,452
微妙な値付けしてきたなぁ。

215:774ワット発電中さん
09/07/28 20:59:52 nsa+2eOD
あ、ASP + FatFS 動かない(・∀・)
今度こそ OpenOCD でデバックできる環境にしないと…

216:774ワット発電中さん
09/07/29 12:37:22 oERDEVgF
LPC2388でアセンブラ部分を理解しようとしてるのですが、命令セットや実行サイクルが
書かれたマニュアルはどこにありますか?
nxpのサイトで探してはいるんですが見つけられなくて。

217:た
09/07/29 12:47:09 eVsqdQN0
>>216
ARMのサイトに和文ドキュメントがあるのと、
LPC2388のドキュメントのフラッシュ関係の頁をみると
わかるよ。

218:774ワット発電中さん
09/07/29 19:37:42 oERDEVgF
えぇと、これ意外と大変なんですね。

MAMもあるんで、もはや何ステートとかすぱっとわからないCPU
になってるんで、目安程度に考えろってことですかね。

219:た
09/07/30 01:25:29 mU1IDYGk
>>218
うん、結構大変だと思うよ。

220:774ワット発電中さん
09/07/30 12:11:27 XVdBlbwY
NAMもあるけど、分岐無しなら概ね1クロックだと思って
ビデオ出力やったら痛い目に合いました。
I/Oでも足を引っ張るのかな…

221:た
09/07/30 12:16:41 mU1IDYGk
>>220
ポート動かして計った方が早いよね。
たぶん。

222:774ワット発電中さん
09/08/03 15:33:42 Qi+VozQ4
TI OMAP3530搭載の超小型コンピュータ Beagle Board 国内販売
URLリンク(japanese.engadget.com)

223:774ワット発電中さん
09/08/03 16:16:50 hQfizrkv
2万とかぼったもいいとこだろ。

224:774ワット発電中さん
09/08/03 18:00:55 VNzy8gtw
5千円ならほしい

225:774ワット発電中さん
09/08/03 20:00:16 TKtG7+UO
PicoITXマザーの方が使いであるんでね?
でも5000円なら買っちゃうかも

226:774ワット発電中さん
09/08/03 20:17:48 VNzy8gtw
ITXママン+適当なマイコンのがいいんだよね
linuxでUSBはいまだに苦労するし
え、ethernetないの?/(^o^)\

227:774ワット発電中さん
09/08/03 23:24:04 1XGX9WpD
これってDVI-D以外にLCDインターフェースあるの?

228:774ワット発電中さん
09/08/05 23:57:26 TJQEMzWR
ASP + FatFs 動いた(・∀・)ヤッホー

229:た
09/08/06 06:15:24 xCh/sOrw
おめ(^^)

230:774ワット発電中さん
09/08/06 10:59:24 qZN3tOhQ
ありがとう(・∀・)
また次のお勉強ネタを探し中…
実機が無くても遊べそうな SkyEye で何かやろうかな…

231:774ワット発電中さん
09/08/06 15:59:00 l+MhaGVN
JTAGとSWDの切替で教えていただきたいことがあります。

STM32F103xxxでICEを接続する際に、一般的なJTAGと省配線のSWDがありますが、
接続例を見ると両者は互換の配線みたいですから、とりあえずJTAGが可能な配線にしておいて
ICE側がSWDに対応しているならSWDモードで使用する....という使い方は可能なのでしょうか?
ICEによってはJTAGオンリーの場合もあるだろうから、その場合はJTAGで使う。
でもSWDの方が高機能みたいなので、SWDが使えればSWDモードで使用したいと思ったわけだ。

どちらのモードになるのか、その切替ピンみたいな信号はなく、リセット後はJTAGになっていて
途中でSWDに切り替わるとドキュメントに書いてあったから、ユーザーが特に何か操作をしなくても
いいみたいだけど、ということはICE側がSWDに対応していたら勝手にSWDになるって事でいいのかな?
その場合も、JTAGの配線が存在するとSWDには切り替わらずJTAGのままなのか? よく分からん。

232:た
09/08/06 20:50:01 jPX/oWE1
>>231
起動時はJTAGモードで、JTAG経由でコマンドを送ると
SWPモードになるんだよ。

233:774ワット発電中さん
09/08/06 22:54:27 lymzL1Fx
JTAGとは無関係にSWDが使えないとI/Oピンの節約にならないのでは?

URLリンク(www.jp.arm.com)


234:た
09/08/06 23:43:49 jPX/oWE1
>>233
TCKとTMSだけでSW-DPに切り替えることができる
ようになってるから、他の信号は必要ないみたいね。

235:774ワット発電中さん
09/08/06 23:54:33 msrOaDU+
>TCKとTMSだけで
別名SWDCLKとSWDIOですね。

236:た
09/08/07 00:16:54 zR/HXoxM
うん、そうだーよ。

237:231
09/08/07 09:06:33 Kxbg3jFA
みんな、ありがとう!よく理解できました。 想像していた挙動だったので安心しました。

>>233 この資料を良く読むとSWDはARMの標準機能という表現が見られるので、
ARM用のICEは全てJTAGとSWDに両対応していると考えていいのかな?

で、あるならば、"ICE側がJTAG専用の可能性がある"などという仮定は不要で、
SWDオンリーで設計すればいいのかな? IARのJ-LINKも両対応みたいだし。

ついでにもうひとつ....SWVについてなんですが、これはSWDで使用するピン以外に、
SWV用のピンを用意する必要があるという事なんでしょうか?
STのドキュメントを読んでも、↑↑のARMのWEB資料を読んでもSWVが使えるという事は書かれているけど、
それ以外の具体的な物理ピンなどについては、全く触れられていないので、よく分かりません....
SWVって、SWDに含まれる機能の一部なんでしょうか!?!?



最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch