[lang:ja] pyOCDのセットアップ(Windows編)

Warning

この記事は書きかけです。

必要なツール

  • コンパイラ(MDK-ARM推奨)
  • gitというかgithub
  • Python 2.7
  • デバッグアダプタ (Ulink2/ME、CMSIS-DAPなど)

Python環境構築

Python 2.7あたりがオススメです。3とかだとtoolsが動きませんでした。

Pythonをインストール

公式 http://www.python.org/download/を使いました。
私はPython 2.7.5 Windows X86-64 Installerで作業しています。

easy_setup.pyをインストール

easy_setupはPythonのパッケージマネージャーです。ここに書いてあるとおり、ez_setup.pyをダウンロードしてきて実行してインストールします。
ダウンロード先はどこでも良さそう、僕は"C:\Users\hoge\Downloads"に置きました。
https://pypi.python.org/pypi/setuptools/1.0#windows

Information

ez_setup.pyを実行して、UnicodeDecodeErrorが出た人は次のblogエントリが参考になるでしょう。
僕はこのようなエラーが出ませんでしたので、よくわからないです。
http://cointoss.hatenablog.com/entry/2013/12/26/122020

pyOCDをインストール

さきほどインストールしたeasy_installを使って、pywinusbとpyOCDをセットアップします。

C:\Python27\Scripts>easy_install.exe pywinusb
C:\Python27\Scripts>easy_install.exe pyocd

IntelHexをインストール

さきほどインストールしたeasy_installを使って、IntelHexをセットアップします。

C:\Python27\Scripts>easy_install.exe IntelHex

nRF51822に書き込むツールの用意

Seeed StudioのYihuiさんが書いてくれたhttps://raw.githubusercontent.com/mbedmicro/pyOCD/master/util/flash_nrf51822.pyをダウンロードしてきて保存します。
このPythonスクリプトの中に書いてあるVIDとPIDを手持ちのCMSIS-DAPデバッグアダプタのVID, PIDに書き換えます。
私は自分のツボLinkにあわせて、0x2786と0xF00Bとしました。

hex2bin

ARMさんが紹介しているhex2binは64bitのWindowsで動きませんので、
http://sourceforge.net/projects/gnuwin32/files/hex2bin/1.02/hex2bin-1.02-bin.zip/download?use_mirror=jaist&download
こちらのhex2binをダウンロードしてきて使いました。

hex2bin BLE_Health_Thermometer_Blog_NRF51822_.hex

こんな感じでbinファイルが得られます。

flash

こんな感じにフラッシュしてみたところ、書けましたが、ちとまだうまく動いていません。こっから先はTBD

\Python27\python.exe flash_nrf51822.py -a BLE_Health_Thermometer_Blog_NRF51822_.bin

書けない理由が判明。用意していたHEXファイルがsoftdevice込みだった。


Please log in to post comments.