ODIN-W2 開発環境構築 Eclipse を用いて mbed-os-example-wifi の実行まで Page 1 of 12
目次 1 ODIN-W2 の構成...3 2 ODIN-W2 の開発環境...3 3 mbed-cli のインストール...4 3.1 必要なファイルのインストール...4 3.2 バージョンの確認...4 4 Eclipse 環境の構築...5 4.1 SW4STM32(Eclispe 環境)...5 4.2 mbed-cli でのコードのインポート...5 4.3 Eclipse へのコードのインポート...5 4.3.1 ファイルのインポート...5 4.3.1.1 既存コードとして mbed-os-example-wifi をインポート...5 4.3.1.2 既存コードのロケーションの設定...5 4.3.2 C++環境の設定...6 4.3.2.1 対象プロジェクト (ここでは mbed-os-exambpe-wifi) の プロパティー を選択...6 4.3.3 c/c++ビルドの設定...7 4.3.3.1 c/c++ビルド を選択 を選択し ビルダー設定 に下記の設定をする...7 4.3.3.1 振る舞い(Behavier)の設定...8 4.3.4 環境変数の追加...9 4.4 ビルド...10 5 実行結果の確認...12 6 参考 HP...12 7 免責等...12 8 改版履歴...12 Page 2 of 12
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-clientwifi/readme.md http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/neonr Eclipse IDE for C/C++ Devel- 対応済 opers (yotta/mbec-cli 依存) System Workbench for STM32 対応済 (Eclipse 派生) (yotta/mbed-cli 依存) http://www.openstm32.org/homepage IAR(有料) 未確認 VisualGDB (有料) 未確認 STM32F439 デバイスとしては対応済 https://www.iar.com/search-results/#!?query=stm32f439&tab=devices STM32F439 デバイスとしては対応済 http://visualgdb.com/ ここでは System Workbench for STM32 を用いた開発環境を紹介します mbed(wrb)は たまに動作が遅い時が あるので ローカルのコンパイル環境を持っていおたほうが 緊急時に安心できます Page 3 of 12
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 --version Python 2.7.13 >git --version git version 2.11.0.3.windows.1 >hg --version Mercurial - 分散構成管理ツール(バージョン 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
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
4.3.2 C++環境の設定 4.3.2.1 対象プロジェクト (ここでは mbed-os-exambpe-wifi) の プロパティー を選択 Page 6 of 12
4.3.3 c/c++ビルドの設定 4.3.3.1 c/c++ビルド を選択 を選択し ビルダー設定 に下記の設定をする ビルドコマンドに mbed compile -j4 を入力 Page 7 of 12
4.3.3.1 振る舞い(Behavier)の設定 ビルド(インクリメンタル ビルドに) に [ -t ${TOOLCHAIN} -m ${TARGET} ] を入力 クリーン に [ -c -t ${TOOLCHAIN} -m ${TARGET} ] を入力.(クリーンビルドされます) Page 8 of 12
4.3.4 環境変数の追加 下記の環境変数を追加します PATH ${PATH};${YOTTA_PATH};C:\L\yotta\gcc\bin 環境による TARGET UBLOX_EVK_ODIN_W2 TOOLCHAIN GCC_ARM ターゲット 使用するツール Page 9 of 12
4.4 ビルド mbed_app.json ファイルの下記の部分を自分の環境に合わせて変更 "config": { "wifi-ssid": { "help": "WiFi SSID", "value": "\"SSID\"" }, "wifi-password": { "help": "WiFi Password", "value": "\"Password\"" } }, 修正 修正 プロジェクト プロジェクトのビルド を選択して プロジェクトのビルド Page 10 of 12
最初の build は数十秒必要 下記の用に様に BUILD/UBLOX_EVK_ODIN_W2/GCC_ARM に mbed-os-example-wifi.bin が生成されるので mbed で書き込み実行する 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_LWIP Scan: FEATURE_BLE Scan: FEATURE_COMMON_PAL Scan: FEATURE_LWIP Scan: FEATURE_UVISOR Scan: FEATURE_NANOSTACK Scan: FEATURE_STORAGE Scan: FEATURE_BLE Scan: FEATURE_COMMON_PAL Scan: FEATURE_LWIP Scan: FEATURE_UVISOR Scan: FEATURE_LOWPAN_BORDER_ROUTER Scan: FEATURE_LOWPAN_HOST Scan: FEATURE_LOWPAN_ROUTER Scan: FEATURE_NANOSTACK Scan: FEATURE_NANOSTACK_FULL Scan: FEATURE_THREAD_BORDER_ROUTER Scan: FEATURE_THREAD_END_DEVICE Scan: FEATURE_THREAD_ROUTER Scan: FEATURE_STORAGE Scan: mbed Scan: 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: unknown Allocated Stack: unknown Total Static RAM memory (data + bss): 83284 bytes Total RAM memory (data + bss + heap + stack): 83284 bytes Total Flash memory (text + data + misc): 310320 bytes Object file test_env.o is not unique! It could be made from:.\mbedos\features\frameworks\greentea-client\source\test_env.cpp C:\L\src\mbed-os-5\mbed-osexample-wifi\mbed-os\features/unsupported\tests\mbed\env\test_env.cpp Image:.\BUILD\UBLOX_EVK_ODIN_W2\GCC_ARM\mbed-os-example-wifi.bin 10:23:12 Build Finished (took 6s.24ms) Page 11 of 12
5 実行結果の確認 シリアルを接続し ログを観測する 9600/8/N 実行結果は下記 WiFi example Scan: Network: xxxxxxxx_xx xxxxxxxx: WPA2 BSSID: 0:00:XX:00:0x:0x RSSI: -61 Ch: 1 Network: XXXXXXXXXXXX secured: WPA/WPA2 BSSID: 0:0X:00:00:0x:00 RSSI: -84 Ch: 1 Network: secured: WPA BSSID: 0:00:00:x0:x0:00 RSSI: -68 Ch: 3 Network: secured: WPA BSSID: 0:00:00:x0:00:00 RSSI: -61 Ch: 5 Network: 0000XX secured: WPA/WPA2 BSSID: X0:X0:XX:x0:00:xx RSSI: -86 Ch: 6 Network: secured: WPA BSSID: 0:00:00:0x:00:x0 RSSI: -75 Ch: 7 Network: 00000000000-2G secured: WPA/WPA2 BSSID: 00:0X:00:x0:0x:0x RSSI: -76 Ch: 7 Network: secured: WPA BSSID: 0:00:00:0x:00:00 RSSI: -36 Ch: 8 Network: secured: WPA BSSID: 0:00:00:0x:00:x0 RSSI: -63 Ch: 10 Network: iphone xxxxxx secured: WPA2 BSSID: 00:0X:00:0x:00:00 RSSI: -24 Ch: 11 Network: 0000000000 secured: WPA2 BSSID: 0X:X0:00:0x:00:00 RSSI: -86 Ch: 11 Network: secured: WPA BSSID: 0:00:00:0x:x0:00 RSSI: -79 Ch: 36 Network: XXX0xxx secured: None BSSID: 00:X0:00:x0:0:x0 RSSI: -89 Ch: 36 Network: 0001xxxxxxxx secured: None BSSID: 00:X0:00:x0:0:x0 RSSI: -89 Ch: 36 Network: 0002xxxxxxxx secured: WPA/WPA2 BSSID: 00:X0:XX:x0:0:xx RSSI: -89 Ch: 36 15 networks available. Connecting... Success MAC: d4:ca:6e:70:47:68 IP: 172.20.10.10 Netmask: 255.255.255.240 Gateway: 172.20.10.1 RSSI: -23 Sending HTTP request to www.arm.com... sent 38 [GET / HTTP/1.1] recv 64 [HTTP/1.1 200 OK] Done 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