Device Hackathonに参加しました。

NTTドコモベンチャーズ主催のDevice Hackathonに参加しました。

メガネ型デバイスだけじゃない!色々な面白デバイスを使ってアプリを作ろう!【Device Hackathon】

とりあえずプレゼン資料貼っておきます。

BLE fortune from Yoji TAKEUCHI on Vimeo.

BLE Twister from Yoji TAKEUCHI on Vimeo.



poor man's nRF51822 development environment 2 of 2

Eclipseデバッグ

前回GNU Tools for ARM Embedded Processorsでビルド環境を立ち上げる方法を説明しましたが、今回はEclipseデバッグ環境を立ち上げる方法を説明します。

Eclipseのセットアップ

Eclipse IDE for C/C++ Developers

Eclipse IDE for C/C++ Developersをダウンロードしてインストールします。
私はeclipse-cpp-juno-SR2-macosx-cocoa-x86_64.tar.gzを使いました。

CDT Main featuresとGDB Hardware Debugging

Help→Install New Softwareを選択して、Work with:欄にhttp://download.eclipse.org/tools/cdt/releases/junoを入力します。

CDT Main featuresとCDT Optional Featuresの下の C/C++ GDB Hardware Debuggingをインストールします。

embsysregview

Help→Install New Softwareを選択して、Work with:欄にhttp://embsysregview.sourceforge.net/updateを入力します。

embsysregviewをインストールします。

register view file

nrf51.xmleclipse/plugins/org.eclipse.cdt.embsysregview_0.2.3/data/cortex-m0/Nordicディレクトリにコピーします。

J-Link softwareのインストール

J-Link software & documentation pack for MACをインストールします。
私はJLink_MacOSX_V478k.pkgを使いました。

/Applications/SEGGER/JLinkにパスを張ります。

デバッグを行うにはJLinkGDBServerを立ち上げておく必要があります。

インターフェースはSWDを用いるので、その指定を行います。

% JLinkGDBServer -if SWD

プロジェクトのインポート

File → Import からExisting Code as Makefile Projectを選択して、

f:id:ytakeuch:20131222163726p:plain

プロジェクト名を入力し、Makefileのある場所nrf51_sdk_v5_0_0_34603/nrf51822/Board/nrf6310/blinky_example/gccを選択します。

f:id:ytakeuch:20131222164015p:plain

デバッガの設定

Run → Debug Configurationを選択します。

GDB Hardware Debuggingで右ボタンを押してNewを選択します。

バイナリファイルのある場所を選択します。

f:id:ytakeuch:20131222164316p:plain

Debuggerタブを選択します。GDBコマンドをarm-none-eabi-gdbに変更します。また、Remote Target boxのポート番号を2331に変更します。

f:id:ytakeuch:20131222164454p:plain

Startupタブを選択します。Initialization Commandboxに

mon speed 10000
mon endian little
mon flash download=1
mon flash device=NRF51822
mon reset 0

を入力します。

次にSet breakpoint at欄にmainを入力し、Resumeをチェックします。

Debugをクリックするとデバッグ実行が開始されます。

f:id:ytakeuch:20131222164849p:plain



poor man's nRF51822 development environment 1 of 2

はじめに

Nordic SemiconductorのARM® Cortex™-M0 SoC nRF51822の開発環境ですが、標準だとKeilのMDK-ARM Liteが必要になります。この場合ROM容量が32KiBに制限されるのですが、他にもっと大きな問題があります。Windows版しか提供されていないのです。私は気軽に持ち運びできるPCがMBAしかないので不便に思っていました。

というわけで、Mac OSX上にnRF51822の開発環境をセットアップしてみまたので、その手順を説明します。

前提条件

Windows上でMDK-ARM Liteで開発環境のセットアップの経験があるという前提で説明します。Mac/Windows共通なファイルとかの説明はしません。

参考にするドキュメントはnRF51 Development with GCC and Eclipseです。

GCCのインストール

GNU Tools for ARM Embedded Processorsからインストールします。
私は、gcc-arm-none-eabi-4_7-2013q3-20130916-mac.tar.bz2を使いました。

Core Utility / Make utility

Windowsではインストールする必要はありますが、Macではインストール不要です。

Makefileの書き換え

Makefile.common

$(SDK_PATH)Source/templates/gcc/Makefile.common を書き換えます。

< include $(TEMPLATE_PATH)Makefile.windows
---
> include $(TEMPLATE_PATH)Makefile.osx

Makefile.osxの追加

Makefile.windowsを基にMakefile.osxを作成します.

7,8c7,8
< GNU_INSTALL_ROOT := $(PROGFILES)/GNU Tools ARM Embedded/4.7 2013q1
< GNU_VERSION := 4.7.3
---
> GNU_INSTALL_ROOT := /Users/ytakeuch/Nordic/gcc-arm-none-eabi-4_7-2013q3
> GNU_VERSION := 4.7.4

コンパイル

プロジェクトルート下のgccディレクトリでmakeを実行します。

(例) nrf51_sdk_v5_0_0_34603/nrf51822/Board/nrf6310/blinky_example/gcc

% make

実行すると_buildディレクトリ下にhexファイルが生成されます。

blinky_gcc_xxaa.hex

次回予告

Eclipseのセットアップの方法を説明します。