odin-w260-01b and odin-w262-01b · locate, communicate, accelerate odin-w2開発環境構築...

12
locate, communicate, accelerate ODIN-W2 開発環境構築 Eclipse を用いて mbed-os-example-wifi の実行まで Page 1 of 12

Upload: others

Post on 10-Sep-2019

1 views

Category:

Documents


0 download

TRANSCRIPT

locate, communicate, accelerate

ODIN-W2 開発環境構築Eclipse を用いて mbed-os-example-wifi の実行まで

Page 1 of 12

locate, communicate, accelerate

目次1 ODIN-W2 の構成....................................................................................................................................................................................................32 ODIN-W2 の開発環境..........................................................................................................................................................................................33 mbed-cli のインストール......................................................................................................................................................................................43.1 必要なファイルのインストール......................................................................................................................................................................43.2 バージョンの確認................................................................................................................................................................................................44 Eclipse 環境の構築...............................................................................................................................................................................................54.1 SW4STM32(Eclispe 環境)................................................................................................................................................................................54.2 mbed-cli でのコードのインポート................................................................................................................................................................54.3 Eclipse へのコードのインポート....................................................................................................................................................................54.3.1 ファイルのインポート......................................................................................................................................................................................54.3.1.1 既存コードとして mbed-os-example-wifi をインポート..............................................................................................................54.3.1.2 既存コードのロケーションの設定........................................................................................................................................................54.3.2 C++環境の設定................................................................................................................................................................................................64.3.2.1 対象プロジェクト、(ここでは、mbed-os-exambpe-wifi) の“プロパティー”を選択..........................................................64.3.3 c/c++ビルドの設定........................................................................................................................................................................................74.3.3.1 “c/c++ビルド”を選択“を選択し、”ビルダー設定”に下記の設定をする。........................................................................74.3.3.1 振る舞い(Behavier)の設定.....................................................................................................................................................................84.3.4 環境変数の追加..............................................................................................................................................................................................94.4 ビルド.....................................................................................................................................................................................................................105 実行結果の確認..................................................................................................................................................................................................126 参考 HP....................................................................................................................................................................................................................127 免責等......................................................................................................................................................................................................................128 改版履歴.................................................................................................................................................................................................................12

Page 2 of 12

locate, communicate, accelerate

1 ODIN-W2 の構成● デュアルバンド Wi-Fi 2.4GHz および 5GHz (a/b/n 2x2MIMO)

● Bluetooth Low Energy およびクラシック Bluetooth 対応デュアル・モード Bluetooth v4.0 (Bluetooth Smart Ready)

● マルチ無線同時接続

● Wi-Fi ドライバー、Bluetooth スタック、およびアプリケーション内蔵

● IPv4 および制限付き IPv6

● イーサネット用 RMII

2 ODIN-W2 の開発環境ODIN-W2 で使用できる開発環境を下記に示します。

環境名称 Build環境

備考・参考 URL

mbed (web) 対応済 (mbec-os-5) https://developer.mbed.org/

yotta(mbed os)

対応済 http://yottadocs.mbed.com/https://github.com/u-blox/mbed-examples-odin-w2/blob/master/udp-time-client-wifi/README.md

Eclipse IDE for C/C++ Devel-opers

対応済(yotta/mbec-cli 依存)

http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/neonr

System Workbench for STM32(Eclipse 派生)

対応済(yotta/mbed-cli 依存)

http://www.openstm32.org/HomePage

IAR(有料) 未確認 STM32F439 デバイスとしては対応済https://www.iar.com/search-results/#!?query=STM32F439&tab=devices

VisualGDB (有料) 未確認 STM32F439 デバイスとしては対応済http://visualgdb.com/

ここでは、System Workbench for STM32 を用いた開発環境を紹介します。mbed(wrb)は、たまに動作が遅い時があるので、ローカルのコンパイル環境を持っていおたほうが、緊急時に安心できます。

Page 3 of 12

locate, communicate, accelerate

3 mbed-cli のインストールここでは、mbed-os-5 用の build コマンドである mbed-cli のインストールをします。

3.1 必要なファイルのインストール

• Python 2.7 系(python-2.7.13.amd64.msi を使用。2.7 じゃないと幸せになれないと思います。)◦ https://www.python.org/downloads/

• Git(Git-2.11.0.3-64-bit.exe を使用。)◦ https://git-scm.com/download/win

• Mercurial(mercurial-4.0.2-x64.msi を使用。)◦ https://www.mercurial-scm.org/

• GNU ARM Embedded Toolchain 4.9 系◦ https://launchpad.net/gcc-arm-embedded/4.9

3.2 バージョンの確認

>python --versionPython 2.7.13

>git --versiongit version 2.11.0.3.windows.1

>hg --versionMercurial - 分散構成管理ツール(バージョン 4.0.2)(詳細は https://mercurial-scm.org を参照)

Copyright (C) 2005-2016 Matt Mackall 他本製品はフリーソフトウェアです。

頒布条件に関しては同梱されるライセンス条項をお読みください。

市場適合性や特定用途への可否を含め、 本製品は無保証です。

mbed CLI のインストールとバージョン確認

> pip install mbed-cli

> mbed-cli --version

1.0.0

これで終了です。

Page 4 of 12

locate, communicate, accelerate

4 Eclipse 環境の構築ここでは、Eclipse でのコードの Build までの説明を行います。

4.1 SW4STM32(Eclispe 環境)ST マイクロ用の Eclipse 環境として SW4STM32 をインストールします。下記の URLからインストールしてください。

● http://www.openstm32.org/HomePage

日本語環境にしたい場合は Pleiades を使用します。下記を参照に設定をします。

● http://mergedoc.osdn.jp/

現状 SW4STM32 は Eclispe の Ver4.5.2 ベースなので Pleaidesも Ver4.5 を適用します。

4.2 mbed-cli でのコードのインポート下記コマンドでインポートできます。

> mbed-cli import mbed-os-example-wif

4.3 Eclipse へのコードのインポート次は Eclipse へのインポートです。

4.3.1 ファイルのインポート 4.3.1.1 既存コードとして mbed-os-example-wifi をインポート

“ファイル” →”新規”→”既存コードで Makefile プロジェクト”でファイルをインポートする。

4.3.1.2 既存コードのロケーションの設定

”参照” → フォルダー選択 → ”OK”

Page 5 of 12

locate, communicate, accelerate

4.3.2 C++環境の設定4.3.2.1 対象プロジェクト、(ここでは、mbed-os-exambpe-wifi) の“プロパティー”を選択

Page 6 of 12

locate, communicate, accelerate

4.3.3 c/c++ビルドの設定4.3.3.1 “c/c++ビルド”を選択“を選択し、”ビルダー設定”に下記の設定をする。

ビルドコマンドに mbed compile -j4 を入力

Page 7 of 12

locate, communicate, accelerate

4.3.3.1 振る舞い(Behavier)の設定

“ビルド(インクリメンタル・ビルドに)”に[ -t ${TOOLCHAIN} -m ${TARGET} ] を入力

“クリーン”に[ -c -t ${TOOLCHAIN} -m ${TARGET} ] を入力.(クリーンビルドされます)

Page 8 of 12

locate, communicate, accelerate

4.3.4 環境変数の追加 下記の環境変数を追加します。

 PATH ${PATH};${YOTTA_PATH};C:\L\yotta\gcc\bin

            ※環境による。

 TARGET UBLOX_EVK_ODIN_W2   ←ターゲット

 TOOLCHAIN GCC_ARM           ← 使用するツール

Page 9 of 12

locate, communicate, accelerate

4.4 ビルドmbed_app.json ファイルの下記の部分を自分の環境に合わせて変更

“プロジェクト→プロジェクトのビルド”を選択して、プロジェクトのビルド

Page 10 of 12

"config": { "wifi-ssid": { "help": "WiFi SSID", "value": "\"SSID\""     ←修正 }, "wifi-password": { "help": "WiFi Password", "value": "\"Password\""   ←修正 } },

locate, communicate, accelerate

最初のbuildは数十秒必要

下記の用に様にBUILD/UBLOX_EVK_ODIN_W2/GCC_ARM

に mbed-os-example-wifi.bin が生成されるので、mbed で書き込み実行する。

Page 11 of 12

10:23:06 **** ビルド of configuration Debug for project mbed-os-example-wifi ****mbed compile -j4 -t GCC_ARM -m UBLOX_EVK_ODIN_W2 Building project mbed-os-example-wifi (UBLOX_EVK_ODIN_W2, GCC_ARM)Scan: .Scan: FEATURE_LWIPScan: FEATURE_BLEScan: FEATURE_COMMON_PALScan: FEATURE_LWIPScan: FEATURE_UVISORScan: FEATURE_NANOSTACKScan: FEATURE_STORAGEScan: FEATURE_BLEScan: FEATURE_COMMON_PALScan: FEATURE_LWIPScan: FEATURE_UVISORScan: FEATURE_LOWPAN_BORDER_ROUTERScan: FEATURE_LOWPAN_HOSTScan: FEATURE_LOWPAN_ROUTERScan: FEATURE_NANOSTACKScan: FEATURE_NANOSTACK_FULLScan: FEATURE_THREAD_BORDER_ROUTERScan: FEATURE_THREAD_END_DEVICEScan: FEATURE_THREAD_ROUTERScan: FEATURE_STORAGEScan: mbedScan: env+-----------------------+--------+-------+-------+| Module | .text | .data | .bss |+-----------------------+--------+-------+-------+| Fill | 350 | 8 | 69 || Misc | 221769 | 2320 | 17059 || drivers | 537 | 0 | 0 || events | 64 | 0 | 0 || events/equeue | 1252 | 0 | 61 || features/FEATURE_LWIP | 34788 | 87 | 46796 || features/mbedtls | 21159 | 0 | 8748 || features/netsocket | 4847 | 85 | 60 || hal | 520 | 0 | 8 || platform | 1435 | 4 | 269 || rtos | 213 | 4 | 4 || rtos/rtx | 7365 | 20 | 6870 || targets/TARGET_STM | 13489 | 4 | 808 || Subtotals | 307788 | 2532 | 80752 |+-----------------------+--------+-------+-------+Allocated Heap: unknownAllocated Stack: unknownTotal Static RAM memory (data + bss): 83284 bytesTotal RAM memory (data + bss + heap + stack): 83284 bytesTotal Flash memory (text + data + misc): 310320 bytes

Object file test_env.o is not unique! It could be made from: .\mbed-os\features\frameworks\greentea-client\source\test_env.cpp C:\L\src\mbed-os-5\mbed-os-example-wifi\mbed-os\features/unsupported\tests\mbed\env\test_env.cppImage: .\BUILD\UBLOX_EVK_ODIN_W2\GCC_ARM\mbed-os-example-wifi.bin

10:23:12 Build Finished (took 6s.24ms)

locate, communicate, accelerate

5 実行結果の確認シリアルを接続し、ログを観測する。9600/8/N

実行結果は下記。

6 参考 HP下記の URL のドキュメントを参考にしました。

● https://developer.mbed.org/users/ytsuboi/notebook/ja-setup-mbed-cli-on-windows/

● https://developer.mbed.org/users/c1728p9/notebook/debugging-mbed-50-projects-with-eclipse-and-pyocd/

7 免責等本文章は、現時点で入手できるデバイスやソフトウエアの情報を元に富士エレクトロニクスで試行した結果を説明するものです。本文書の内容、不明点を持って、該当ハードウエア、ソフトウエアの販売部門への質問はお控えください。富士エレクトロニクスとしては、下記で UBLOX製品のお問い合わせを承っております。気軽にご利用ください。

http://www.fujiele.co.jp/contact/?contact_maker=15

8 改版履歴2017年2月1日 初版

2017年4月26日 1.1 版 “[ -c -t ${TOOLCHAIN} -m ${TARGET} ]” のキャラクターコードを修正

Page 12 of 12

WiFi example

Scan:Network: xxxxxxxx_xx xxxxxxxx: WPA2 BSSID: 0:00:XX:00:0x:0x RSSI: -61 Ch: 1Network: XXXXXXXXXXXX secured: WPA/WPA2 BSSID: 0:0X:00:00:0x:00 RSSI: -84 Ch: 1Network: secured: WPA BSSID: 0:00:00:x0:x0:00 RSSI: -68 Ch: 3Network: secured: WPA BSSID: 0:00:00:x0:00:00 RSSI: -61 Ch: 5Network: 0000XX secured: WPA/WPA2 BSSID: X0:X0:XX:x0:00:xx RSSI: -86 Ch: 6Network: secured: WPA BSSID: 0:00:00:0x:00:x0 RSSI: -75 Ch: 7Network: 00000000000-2G secured: WPA/WPA2 BSSID: 00:0X:00:x0:0x:0x RSSI: -76 Ch: 7Network: secured: WPA BSSID: 0:00:00:0x:00:00 RSSI: -36 Ch: 8Network: secured: WPA BSSID: 0:00:00:0x:00:x0 RSSI: -63 Ch: 10Network: iPhone xxxxxx secured: WPA2 BSSID: 00:0X:00:0x:00:00 RSSI: -24 Ch: 11Network: 0000000000 secured: WPA2 BSSID: 0X:X0:00:0x:00:00 RSSI: -86 Ch: 11Network: secured: WPA BSSID: 0:00:00:0x:x0:00 RSSI: -79 Ch: 36Network: XXX0xxx secured: None BSSID: 00:X0:00:x0:0:x0 RSSI: -89 Ch: 36Network: 0001xxxxxxxx secured: None BSSID: 00:X0:00:x0:0:x0 RSSI: -89 Ch: 36Network: 0002xxxxxxxx secured: WPA/WPA2 BSSID: 00:X0:XX:x0:0:xx RSSI: -89 Ch: 3615 networks available.

Connecting...Success

MAC: d4:ca:6e:70:47:68IP: 172.20.10.10Netmask: 255.255.255.240Gateway: 172.20.10.1RSSI: -23

Sending HTTP request to www.arm.com...sent 38 [GET / HTTP/1.1]recv 64 [HTTP/1.1 200 OK]

Done