arm/Versaloon対応OpenOCDの作成
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
[[FrontPage]]
#contents
2011/10/02からのアクセス回数 &counter;
** SWD対応オープンソースのJTAG Versaloon [#w2cf96a1]
Versaloonは、ARM Coretex-M3シリーズで最近よく使われている...
SWDをサポートするオープンソースのJTAGです。
[[STM32マイコン評価ボードSTM32VLDISCOV...
やARMマイコンパーフェクト学習基板で採用されているLPC1343...
が開発環境とボードに組み込まれたSWDデバッガでとても簡単に...
((これらを使うときには、VMWareを使ってバーチャルマシンでW...
[[arm/CodeBaseを使ったARMマイコンパーフェクト学習基板の使...
プログラムのセットができても、オープンソースのデバッガOpe...
((Ver. 6以降はサポートされているみたい))
ので、とても悔しい思いをしていました。
*** Versaloonとの出会い [#yf65c24e]
はじめてVersaloonの存在を知ったのは、
[[ねむいさんのぶろぐ>http://nemuisan.blog.bai.ne.jp/?eid=...
を見たときでした。世の中にはすごい人がいるものだと感動し...
さっそく、STM8S-Discoveryはじめ必要な部品を揃えSTM8S-Disc...
ハンダ技術にとぼしい私には、MCUのピンにハンダ付けをするこ...
そこで、
[[Versaloonのサイト>http://www.versaloon.com/]]
から完成品のVersaloon Miniを購入し、OpenOCDを作ろうとしま...
開発途中のためパッチとソースのバージョンが合わず上手くい...
Windowsの方は、ねむいさんが
[[OpenOCDの作成手順>http://nemuisan.blog.bai.ne.jp/?eid=1...
を紹介されていますので、そちら参照するとよいでしょう。
この他に
[[LPC1343 QuickStart Board>http://www.embeddedartists.com...
を販売しているサイトから
[[10-pin to 20-pin JTAG Adpater Kit>http://www.embeddedar...
を合わせて購入すると便利です。
&ref(versaloon.png);
*** 再度挑戦しようと思ったわけ [#d6e77a12]
それでももう一度Versaloon対応のOpenOCDを作ってみようと思...
[[Bingo氏のサイト>http://www.mikrocontroller.net/topic/20...
で紹介されている
[[STM32 DiscoveryのVersaloon化の手順書>http://www.mikroco...
を見たときです。
これならトラ技のオフ会でもらったSTM32L-Dsicoveryを使って...
をVersaloon化することができると気づきました。
((私の方法は、Bingo氏の方法よりも簡単です))
その前に、Versaloon用のOpenOCDを作成する必要があります。...
** Mac OSXで動作するSWD対応OpenOCD [#tb95f149]
Bingo氏は、VersaloonのForumでだれでも再現できるようにな
[[スクリプトと必要なパッチ>http://www.versaloon.com/bbs/d...
をまとめてくれました。
Bingo氏は、Versaloonの著者Simon氏の配布ファイルにあるopen...
- Simon氏が作成したOpenOCDと同じバージョンのソースを取得...
- Coretex M3の例外処理を修正するパッチを提供
しています。
*** MacOSXでのmake [#tfa22322]
上記配布ファイルを使ってMac OSXでmakeをする場合、準備と若...
- [[MacPort]]を使ってVer. 0.4のOpenOCDを作成し、必要なラ...
#pre{{
$ sudo port install openocd
}}
- 順序は逆転しますが、openocd_updateのを以下のように修正
9行目
#pre{{
SUDO=sudo
}}
81行目
#pre{{
./configure --enable-vsllink --enable-ft2232_libftdi --en...
--enable-ft2232 --enable-libftdi
}}
*** openocd_updateの実行 [#f514216b]
準備ができれば、後は簡単です。
- 配布ファイルの展開(私はホームのlocalディレクトリに展開...
#pre{{
$ cd local
$ tar xzvf ~/Downloaded/openocd-force-10-mar-2011.tar.gz
}}
- openocd_updateの実行
#pre{{
$ cd openocd-force-10-mar-2011
$ ./openocd_update
途中でsudoからパスワードの要求がありますので、ユーザのロ...
}}
** Versaloonのファームウェアの更新 [#ee8bcba4]
私が購入したVersaloon Miniのファームウェアが古く、これをo...
- Versaloon_IAR.hex
と入れ替えなくてはならないことが分かりました。
*** ファームウェアの更新 [#l330b84a]
ファームウェアの更新には、STMの提供するFlash Loader Demon...
- [[ストロベリーリナックスサイト>http://strawberry-linux....
((STマイクロのウェブページの構成が悪いのだと思います。))
- この他に、STM関連のツールの場所をまとめた
[[Embedded newbie>http://embeddednewbie.blogspot.com/2011...
も便利です。
Versaloonにファームウェアを書き込むには、ボタンを押しなが...
これで、シリアル通信ができるようになります。
Flash Loader Demonstratorを起動し、
&ref(flash_loader_demo1.png);
指示に従いながら進んでVeraloon_IAR.hexを指定して書き込み...
&ref(flash_loader_demo4.png);
** OpenOCDのコンフィグファイル [#yd919d73]
OpenOCDを使う場合、JTAGインターフェースの定義ファイル、タ...
OpenOCDでは、インストール時によく使われているものについて...
- /usr/local/share/openocd/scripts/
にセットされていますが、versaloonやSWD対応MPUであるLPC111...
提供されていません。
いろいろ探してみると流石
[[ねむいさんのぶろぐ おきば>http://nemuisan.blog.bai.ne....
にありました。
- OpenOCD(0.5.0)Flash書き込み・デバッグ用のカスタムcfgフ...
-- [[LPC2388,STM32用等の詰め合わせ>http://cid-36f4d1230f8...
を使用しました。
ねむいさん、ありがとうございます。
私の使ったコンフィグと最新は、少し違うみたいです。
- &ref(OpenOcd_cfgs.zip);
*** 定義ファイルのコピー [#o39e52d2]
ダウンロードした定義ファイルを解凍し、以下のようにコピー...
#pre{{
$ cd OpendOcd_cfgs
$ sudo cp tcl/interface/* /usr/local/share/openocd/script...
$ sudo cp tcl/target/* /usr/local/share/openocd/scripts/t...
}}
** OpenOCDを使って書き込みのテスト [#k6e7b444]
*** MacOSX固有の前処理 [#y4c3186b]
Mac OSXでは、VersaloonのCDCがOSのドライバーに取られしまう...
#pre{{
$ sudo kextunload /System/Library/Extensions/IOUSBFamily....
}}
もとに戻すには、
#pre{{
sudo kextload /System/Library/Extensions/IOUSBFamily.kext...
}}
*** プロジェクトの準備 [#t314b48c]
書き込みのテストには、ねむいさんの作られたkick startのプ...
- LPC13xx(LPC1343/LPCXPresso互換回路)
[[KickStart>http://cid-36f4d1230f8a673c.office.live.com/b...
ファイルを展開したら、
#pre{{
$ cd LPC1343_with_KickStarts_20100901
$ /usr/local/bin/openocd -f interface/vsllink_swd.cfg -f ...
Open On-Chip Debugger 0.5.0-dev-00783-g0123985-dirty (201...
Licensed under GNU GPL v2
For bug reports, read
http://openocd.berlios.de/doc/doxygen/bugs.html
Warn : must select a transport.
Info : OpenOCD runs in SWD mode
adapter_nsrst_delay: 200
jtag_ntrst_delay: 200
trst_and_srst separate srst_gates_jtag trst_push_pull srs...
Info : OpenOCD runs in SWD mode
Error: Fail to receive usb data, error string is Operatio...
Info : Versaloon(0x15)by Simon(compiled on Jan 29 2011)
Info : USB_TO_XXX abilities: 0x0000024F:0x010001EF:0xC000...
Info : RCLK (adaptive clock speed)
Info : lpc1343.cpu: hardware has 6 breakpoints, 4 watchpo...
target state: halted
target halted due to debug-request, current mode: Thread
xPSR: 0x21000000 pc: 0x000004b4 msp: 0x10001fc8
flash 'lpc2000' found at 0x00000000
auto erase enabled
wrote 4096 bytes from file main.elf in 0.409816s (9.760 K...
verified 2968 bytes in 0.119172s (24.321 KiB/s)
requesting target halt and executing a soft reset
target state: halted
target halted due to breakpoint, current mode: Thread
xPSR: 0x01000000 pc: 0x000000c0 msp: 0x10001fe0
shutdown command invoked
}}
と無事、書き込みに成功しました。
&ref(versaloon-QuickStart1343.png);
*** ARMマイコンパーフェクト学習基板でためしてみる [#j522d...
次にARMマイコンパーフェクト学習基板で、SWDIO, GND, SWCLK...
試してみます。
ARMマイコンパーフェクト学習基板のP1ピンコネクタ
#pre{{
2 SWDIO
3 DWCLK
8 GND
}}
これをVersaloonの
#pre{{
7 SWDIO
9 SWCLK
(4~20の偶数ピン) GND
}}
に接続します。
結線は以下のようになります。
&ref(versaloon-TR-connect.png);
** コメント [#p2e46e45]
#vote(おもしろかった[12],そうでもない[0],わかりずらい[0])
皆様のご意見、ご希望をお待ちしております。
#comment_kcaptcha
終了行:
[[FrontPage]]
#contents
2011/10/02からのアクセス回数 &counter;
** SWD対応オープンソースのJTAG Versaloon [#w2cf96a1]
Versaloonは、ARM Coretex-M3シリーズで最近よく使われている...
SWDをサポートするオープンソースのJTAGです。
[[STM32マイコン評価ボードSTM32VLDISCOV...
やARMマイコンパーフェクト学習基板で採用されているLPC1343...
が開発環境とボードに組み込まれたSWDデバッガでとても簡単に...
((これらを使うときには、VMWareを使ってバーチャルマシンでW...
[[arm/CodeBaseを使ったARMマイコンパーフェクト学習基板の使...
プログラムのセットができても、オープンソースのデバッガOpe...
((Ver. 6以降はサポートされているみたい))
ので、とても悔しい思いをしていました。
*** Versaloonとの出会い [#yf65c24e]
はじめてVersaloonの存在を知ったのは、
[[ねむいさんのぶろぐ>http://nemuisan.blog.bai.ne.jp/?eid=...
を見たときでした。世の中にはすごい人がいるものだと感動し...
さっそく、STM8S-Discoveryはじめ必要な部品を揃えSTM8S-Disc...
ハンダ技術にとぼしい私には、MCUのピンにハンダ付けをするこ...
そこで、
[[Versaloonのサイト>http://www.versaloon.com/]]
から完成品のVersaloon Miniを購入し、OpenOCDを作ろうとしま...
開発途中のためパッチとソースのバージョンが合わず上手くい...
Windowsの方は、ねむいさんが
[[OpenOCDの作成手順>http://nemuisan.blog.bai.ne.jp/?eid=1...
を紹介されていますので、そちら参照するとよいでしょう。
この他に
[[LPC1343 QuickStart Board>http://www.embeddedartists.com...
を販売しているサイトから
[[10-pin to 20-pin JTAG Adpater Kit>http://www.embeddedar...
を合わせて購入すると便利です。
&ref(versaloon.png);
*** 再度挑戦しようと思ったわけ [#d6e77a12]
それでももう一度Versaloon対応のOpenOCDを作ってみようと思...
[[Bingo氏のサイト>http://www.mikrocontroller.net/topic/20...
で紹介されている
[[STM32 DiscoveryのVersaloon化の手順書>http://www.mikroco...
を見たときです。
これならトラ技のオフ会でもらったSTM32L-Dsicoveryを使って...
をVersaloon化することができると気づきました。
((私の方法は、Bingo氏の方法よりも簡単です))
その前に、Versaloon用のOpenOCDを作成する必要があります。...
** Mac OSXで動作するSWD対応OpenOCD [#tb95f149]
Bingo氏は、VersaloonのForumでだれでも再現できるようにな
[[スクリプトと必要なパッチ>http://www.versaloon.com/bbs/d...
をまとめてくれました。
Bingo氏は、Versaloonの著者Simon氏の配布ファイルにあるopen...
- Simon氏が作成したOpenOCDと同じバージョンのソースを取得...
- Coretex M3の例外処理を修正するパッチを提供
しています。
*** MacOSXでのmake [#tfa22322]
上記配布ファイルを使ってMac OSXでmakeをする場合、準備と若...
- [[MacPort]]を使ってVer. 0.4のOpenOCDを作成し、必要なラ...
#pre{{
$ sudo port install openocd
}}
- 順序は逆転しますが、openocd_updateのを以下のように修正
9行目
#pre{{
SUDO=sudo
}}
81行目
#pre{{
./configure --enable-vsllink --enable-ft2232_libftdi --en...
--enable-ft2232 --enable-libftdi
}}
*** openocd_updateの実行 [#f514216b]
準備ができれば、後は簡単です。
- 配布ファイルの展開(私はホームのlocalディレクトリに展開...
#pre{{
$ cd local
$ tar xzvf ~/Downloaded/openocd-force-10-mar-2011.tar.gz
}}
- openocd_updateの実行
#pre{{
$ cd openocd-force-10-mar-2011
$ ./openocd_update
途中でsudoからパスワードの要求がありますので、ユーザのロ...
}}
** Versaloonのファームウェアの更新 [#ee8bcba4]
私が購入したVersaloon Miniのファームウェアが古く、これをo...
- Versaloon_IAR.hex
と入れ替えなくてはならないことが分かりました。
*** ファームウェアの更新 [#l330b84a]
ファームウェアの更新には、STMの提供するFlash Loader Demon...
- [[ストロベリーリナックスサイト>http://strawberry-linux....
((STマイクロのウェブページの構成が悪いのだと思います。))
- この他に、STM関連のツールの場所をまとめた
[[Embedded newbie>http://embeddednewbie.blogspot.com/2011...
も便利です。
Versaloonにファームウェアを書き込むには、ボタンを押しなが...
これで、シリアル通信ができるようになります。
Flash Loader Demonstratorを起動し、
&ref(flash_loader_demo1.png);
指示に従いながら進んでVeraloon_IAR.hexを指定して書き込み...
&ref(flash_loader_demo4.png);
** OpenOCDのコンフィグファイル [#yd919d73]
OpenOCDを使う場合、JTAGインターフェースの定義ファイル、タ...
OpenOCDでは、インストール時によく使われているものについて...
- /usr/local/share/openocd/scripts/
にセットされていますが、versaloonやSWD対応MPUであるLPC111...
提供されていません。
いろいろ探してみると流石
[[ねむいさんのぶろぐ おきば>http://nemuisan.blog.bai.ne....
にありました。
- OpenOCD(0.5.0)Flash書き込み・デバッグ用のカスタムcfgフ...
-- [[LPC2388,STM32用等の詰め合わせ>http://cid-36f4d1230f8...
を使用しました。
ねむいさん、ありがとうございます。
私の使ったコンフィグと最新は、少し違うみたいです。
- &ref(OpenOcd_cfgs.zip);
*** 定義ファイルのコピー [#o39e52d2]
ダウンロードした定義ファイルを解凍し、以下のようにコピー...
#pre{{
$ cd OpendOcd_cfgs
$ sudo cp tcl/interface/* /usr/local/share/openocd/script...
$ sudo cp tcl/target/* /usr/local/share/openocd/scripts/t...
}}
** OpenOCDを使って書き込みのテスト [#k6e7b444]
*** MacOSX固有の前処理 [#y4c3186b]
Mac OSXでは、VersaloonのCDCがOSのドライバーに取られしまう...
#pre{{
$ sudo kextunload /System/Library/Extensions/IOUSBFamily....
}}
もとに戻すには、
#pre{{
sudo kextload /System/Library/Extensions/IOUSBFamily.kext...
}}
*** プロジェクトの準備 [#t314b48c]
書き込みのテストには、ねむいさんの作られたkick startのプ...
- LPC13xx(LPC1343/LPCXPresso互換回路)
[[KickStart>http://cid-36f4d1230f8a673c.office.live.com/b...
ファイルを展開したら、
#pre{{
$ cd LPC1343_with_KickStarts_20100901
$ /usr/local/bin/openocd -f interface/vsllink_swd.cfg -f ...
Open On-Chip Debugger 0.5.0-dev-00783-g0123985-dirty (201...
Licensed under GNU GPL v2
For bug reports, read
http://openocd.berlios.de/doc/doxygen/bugs.html
Warn : must select a transport.
Info : OpenOCD runs in SWD mode
adapter_nsrst_delay: 200
jtag_ntrst_delay: 200
trst_and_srst separate srst_gates_jtag trst_push_pull srs...
Info : OpenOCD runs in SWD mode
Error: Fail to receive usb data, error string is Operatio...
Info : Versaloon(0x15)by Simon(compiled on Jan 29 2011)
Info : USB_TO_XXX abilities: 0x0000024F:0x010001EF:0xC000...
Info : RCLK (adaptive clock speed)
Info : lpc1343.cpu: hardware has 6 breakpoints, 4 watchpo...
target state: halted
target halted due to debug-request, current mode: Thread
xPSR: 0x21000000 pc: 0x000004b4 msp: 0x10001fc8
flash 'lpc2000' found at 0x00000000
auto erase enabled
wrote 4096 bytes from file main.elf in 0.409816s (9.760 K...
verified 2968 bytes in 0.119172s (24.321 KiB/s)
requesting target halt and executing a soft reset
target state: halted
target halted due to breakpoint, current mode: Thread
xPSR: 0x01000000 pc: 0x000000c0 msp: 0x10001fe0
shutdown command invoked
}}
と無事、書き込みに成功しました。
&ref(versaloon-QuickStart1343.png);
*** ARMマイコンパーフェクト学習基板でためしてみる [#j522d...
次にARMマイコンパーフェクト学習基板で、SWDIO, GND, SWCLK...
試してみます。
ARMマイコンパーフェクト学習基板のP1ピンコネクタ
#pre{{
2 SWDIO
3 DWCLK
8 GND
}}
これをVersaloonの
#pre{{
7 SWDIO
9 SWCLK
(4~20の偶数ピン) GND
}}
に接続します。
結線は以下のようになります。
&ref(versaloon-TR-connect.png);
** コメント [#p2e46e45]
#vote(おもしろかった[12],そうでもない[0],わかりずらい[0])
皆様のご意見、ご希望をお待ちしております。
#comment_kcaptcha
ページ名:
SmartDoc