スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Cygwin(mingw32)でOpenOCD作成

最新のOpenOCDは64bitで動作させるにはかなり大変です。また、MinGW+MSYSという構成も作るのが面倒かつ、既にCygwinを入れている場合、2つも同じような環境を作りたく無いというのが正直なところです。

そこで、CygwinでOpenOCDをコンパイルできないかチャレンジしてみました。勿論、Win32ネイティブなソフト作成です。32bit版になりますが、それは妥協です。

ググってると、既にCygwinでOpenOCDをコンパイルしている人がいました。Cygwinのgccでコンパイルできない(4.x.xから-mno-cygwinが使えなくなった)のは以前から知っていたが、実はmingw32自体は存在していた。というのが分かりました。Cygwinのインストール・パッケージ選択で"mingw-gcc-core"にチェックを入れておけば良かったのです。そうすると、i686-pc-mingw32-gcc.exeが使える様になります。

早速、試してみることに。


> git clone git://repo.or.cz/openocd.git


最新のOpenOCDを取得し、


> ./bootstrap


を実行する………

何故か jimtcl と tools/git2cl の取得に失敗するので、それぞれの提供元を調べ、git取得先を変更して個別に clone を作成しました。その後、もう一度


> ./bootstrap


……今度はうまく行きました。
./configure のオプション指定ですが、悩んだ末に STLink も入れることにしました。Libusbのインストール方法も記載されていましたし。


> ./configure --enable-maintainer-mode --disable-werror --disable-shared --enable-ft2232_ftd2xx --with-ftd2xx-win32-zipdir=ftd2xx --enable-stlink CFLAGS="-O2" --build=i686-pc-cygwin --host=i686-pc-mingw32


--host=i686-pc-mingw32 を指定することによって、gccには i686-pc-mingw32-gcc が選択されます。
jimtclのチェックで引っかかることなくMakefileが生成されまるので、実行します。


> make


何事もなければすんなりと全行程が進み、最終的に ./src/openocd.exe が生成されます。インストールしなくとも、この実行ファイルとtclフォルダ配下のファイルがあれば実行ができるのでこれらを任意の場所へ移動させます。

念の為、openocd.exe が使用するDLLを検索しました。


> objdump.exe -p ./openocd.exe | grep dll 2>&1 | tee log.txt
DLL Name: FTD2XX.dll
DLL Name: KERNEL32.dll
DLL Name: msvcrt.dll
DLL Name: msvcrt.dll
DLL Name: USER32.dll
DLL Name: WS2_32.dll


Win32ネイティブコードになっていそうです。

できあがった物は物置に置いておきました。


色々と手をつけているので、私のPCにはMinGW+MSYSやCygwinも、どのパッケージが入っていなければならないか正確にはわかりません。先のwikiにある程度記載されています。

また、insight を使ってデバッグするので、ねむいさんが紹介されているパッチも適用しています。

それと、targetフォルダ内に fm3.cfg があり、そのままでは_CHIPNAME の値が対応していない文字列(mb9bf500)が入るので、以前はこの文字列自体を変更しましたが、そうするとコンパイル→インストールする度に毎回変更しなければならなくなるので、参照元の CHIPNAME の値="mb9bfxx6"を入れる cfg を作成して使用する事にしました。


スポンサーサイト

コメントの投稿

非公開コメント

黒ねこ時計 くろック D02
プロフィール

jujurou

Author:jujurou
運営HP:チャコの部屋
Twitter:jujurou

カレンダー
09 | 2017/10 | 11
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -
最新記事
最新コメント
カテゴリ
ユーザタグ

ぺるけ RaspberryPi Linux トランジスタ式ミニワッター TRminiWatterPart4 MPD OpenOCD イーサネットコンバータ FON2405E DAC buildroot FM3ペリフェラル BeagleBoneBlack FM3評価ボード library OpenGL mingw ODROID-U2 TL-WR700N Edison bitbake KiCad 計測 VMware シングル FM4 ミニワッター 6N6P プリアンプ 

月別アーカイブ
ランキング

FC2 Blog Ranking

カウンター
検索フォーム
リンク
RSSリンクの表示
QRコード
QRコード
ライセンス
クリエイティブ・コモンズ・ライセンス
Twitter
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。