Comments
Description
Transcript
Silicon Labs 社 EFM32 FAQ
Silicon Labs 社 EFM32 FAQ 2015 年 8 月 2015 年 8 月 Silicon Labs 社 EFM32 FAQ 目次 1 よくある質問 (全般) .................................................................................................. 5 1-1 疑問・問題解決に役立つサイトはありますか? ........................................................................... 5 1-2 EFM32 のラインナップを教えてください ..................................................................................... 6 1-3 EFM32 の特徴は何ですか?.................................................................................................... 7 1-4 ドキュメントはどこから入手できますか? .................................................................................... 8 1-5 最適なデバイスを見つけるにはどうすればいいですか? (Parametric Search)........................... 9 1-6 量産時のプログラミング方法には何がありますか? ................................................................. 10 1-7 対応している RTOS(リアルタイム OS)を教えてください ............................................................ 11 1-8 MCU Core(M0+, M3, M4F)別の性能を教えてください (CoreMarks、Dhrystone MIPS) .......... 11 1-9 熱抵抗値を教えてください ....................................................................................................... 11 1-10 ピンコンパチの見分け方を教えてください .............................................................................. 12 1-11 スターターキットで使用している MCU 型番を教えてください ................................................... 13 1-12 スターターキットの回路図・部品表はどこから入手できますか? .............................................. 13 1-13 開発環境(評価基板、開発ツール、コンパイラ、ICE)は有償ですか? ..................................... 13 1-14 mbed に対応していますか? ................................................................................................ 14 1-15 提供される無償コンパイラは、機能安全に対応していますか? ............................................... 14 1-16 電子ペーパーの評価キットはありませんか?......................................................................... 14 1-17 USB Debug Adapter を使って EFM32 をプログラミングできますか? ...................................... 14 2 よくある質問 (ペリフェラル、メモリ、基板設計)........................................................... 15 2-1 デバッグ/プログラミングに必要な最低限のピンを教えてください .............................................. 15 2-2 フラッシュメモリを EEPROM のように使えますか?.................................................................. 15 2-3 低速オシレータをクロック(HFXO)として使用できますか? ....................................................... 15 2-4 SPI (USART Synchronous mode)の最大速度を教えてください ............................................... 16 2-5 VCMP(Voltage Comparator)の response time を教えてください .............................................. 16 2-6 I/O ピン pull-up/pull-down 抵抗値の Min/Max を教えてください ......................................... 16 2-7 フラッシュメモリのページサイズを教えてください?(最小消去単位は?) .................................... 17 2-8 未使用 GPIO のピン処理方法を教えてください ........................................................................ 17 2-9 LEUART の送信ジッタについて ............................................................................................. 17 2-10 外部割込みピンの最大数を教えてください............................................................................. 18 2-11 外部割込みピンに優先度を設定できますか? ....................................................................... 19 2-12 SPI スレーブを複数接続する方法 (SPI 信号をシェアしたい) ................................................. 19 2-13 ADC のチャネル数を教えてください ...................................................................................... 20 2-14 シリアルポートの本数を教えてください .................................................................................. 21 ver. 1.15 2015 年 8 月 2/45 TecStar Company 2-15 フラッシュメモリの書き換え回数を教えてください .................................................................... 21 2-16 Low Energy UART の特徴は何ですか? ............................................................................. 22 2-17 Low Energy USB の特徴は何ですか? ................................................................................ 22 2-18 5V I/O に対応していますか?(5V トレラント品ですか?) ....................................................... 23 2-19 リセットピン(RESETn)でリセットする場合、どのくらい間、ピンを Low にする必要があります か?.............................................................................................................................................. 23 2-20 ペリフェラルに LCD コントローラと TFT ドライバがありますが、違いは何ですか? ................... 23 2-21 AES アクセラレータを搭載しているメリットを教えてください ..................................................... 23 2-22 GPIO に直列抵抗が内蔵されていますが、出力レベルに影響しますか? ................................ 23 2-23 デバッグピン(SWCLK/SWDIO)は、デバッグ時以外は I/O として使用できますか? ............... 24 2-24 EFM32 の内蔵メモリは、ゼロウェイト(ノーウェイト)でアクセスが可能ですか? ........................ 24 2-25 EFM32 を最大動作周波数で使用したいのですが、外付けクロックは必要ですか?.................. 24 2-26 PWM の周波数を動的に変更することはできますか? ........................................................... 24 2-27 GPIO ピンの状態(リセット中)について教えてください ............................................................ 24 2-28 BURTC の Retention Register は、リセット後に値を維持しますか? ....................................... 24 2-29 BURTC の Counter Register は、リセット後に値を維持しますか? ......................................... 25 3 よくある質問 (ツール、ソフトウェア設計) ................................................................... 26 3-1 Simplicity Studio(開発ツール)はどこから入手できますか? .................................................... 26 3-2 サンプルコードはどこから入手できますか?............................................................................. 26 3-3 ライブラリ(API)情報はどこから入手できますか?.................................................................... 26 3-4 ユーザコードの ROM サイズを確認する方法を教えてください (Simplicity IDE)....................... 26 3-5 ソースコードの行番号を表示させる方法はありますか? (Simplicity IDE) ................................ 27 3-6 Embedded Workbench (IAR 社 IDE)のインストール方法を教えてください .............................. 28 3-7 Simplicity Studio から Embedded Workbench (IAR 社 IDE)を起動させる方法を教えてください28 3-8 コードをダウンロードせずに、レジスタ値が見る方法はありますか (Embedded Workbench) ...... 29 3-9 RAM からコードを実行する方法を教えてください ..................................................................... 30 3-10 アップデート前のバージョンに戻す方法を教えてください (Simplicity Studio) ......................... 30 3-11 SDK(emlib)バージョンを確認する方法はありませんか? (Silicon Labs IDE) ....................... 31 3-12 Build の設定に Debug と Release の 2 つがありますが、違いを教えてください (Silicon Labs IDE) ..................................................................................................................................................... 32 3-13 Silicon Labs IDE のプロジェクトを作成しましたが、MCU 型番を変更したいです。方法はありま すか? (Silicon Labs IDE) ........................................................................................................... 32 3-14 Configurator のプロジェクトを作成しましたが、MCU 型番を変更したいです。方法はあります か? (Configurator) .................................................................................................................... 33 3-15 バージョン管理ツールは使用可能ですか?(Simplicity Studio/Simplicity IDE) .................... 33 3-16 BSP(Starter Kit 用 API)のドキュメントが見つかりません。どこから入手できますか? ............. 33 3-17 プロジェクトを新規作成する際に、Part(使用する MCU)が変更できません。対処方法を教えて ください。(Simplicity IDE/Configurator) ...................................................................................... 34 3 - 1 8 必 要 なウ ィン ドウ をク ロ ー ズ してしまい ました。再 度 オー プ ン する 方法 を教 えてく だ さい (Simplicity IDE/Configurator).................................................................................................... 34 ver. 1.15 2015 年 8 月 3/45 TecStar Company 3-19 ウィンドウの配置を初期化する方法はありますか?(Simplicity IDE/Configurator) .............. 35 3-20 1 台のデバッガ(スターターキット等)で、複数の EFM32 を同時にデバッグできますか?........... 35 3-21 Configurator で行った設定を 3rd party 製 IDE で使用したいです。方法はありますか? ......... 35 3-22 プロジェクトを作成するフォルダ(workspace)の場所を変更したいです。変更方法を教えてくださ い。(Simplicity Studio) .................................................................................................................. 36 3-23 Project Explorer で Includes を追加・削除したいです。方法を教えてください。(Simplicity IDE)37 3-24 プログラミング専用ツール(Flash Programmer 単体)はありますか?Simplicity Studio よりも手 軽なものが良いです。 .................................................................................................................... 37 3-25 emlib の更新履歴はどこで確認できますか? ........................................................................ 37 3-26 コマンドラインからプログラミングする方法はありませんか? ................................................... 38 3-27 printf()で浮動小数点に対応させる方法を教えてください(Simplicity IDE/GCC) ................... 38 4 トラブルシューティング .............................................................................................. 39 4-1 オンライン・インストール/アップデートに失敗して困っています。対処方法を教えてください (Simplicity Studio) ....................................................................................................................... 39 4-2 Debug アイコンをクリックするとエラーが出ます。対処方法を教えてください (Simplicity IDE) .... 39 4-3 EFM32 にアクセスできなくなりました。対処方法を教えてください。 ............................................ 40 4-4 IAR Embedded Workbench ver.6.n を使っていたのですが、ver.7.n に移行したところビルドが通ら なくなりました。対処方法を教えてください。...................................................................................... 41 5 製品一覧 ................................................................................................................ 42 改版履歴 .................................................................................................................... 45 参考文献 .................................................................................................................... 45 ver. 1.15 2015 年 8 月 4/45 TecStar Company TSC-01002 1 よくある質問 (全般) EFM32 に関して、よく頂戴する質問についてまとめました。 1-1 疑問・問題解決に役立つサイトはありますか? Silicon Labs 社の ナレッジベース(FAQ)やコミュニティフォーラム(ユーザ同士で問題解決。Silicon Labs のエンジニアも頻繁にコメントしています)には、弊社サイトで取り上げていない様々な情報が記載 されております。 製品をご使用頂く過程で疑問や課題が生じることもあると思いますが、他のユーザが既に解決方法 を見つけている場合も多々ございます。非常に有益ですので、ぜひご活用下さい。 アクセス方法 Simplicity Studio から Web Site から http://community.silabs.com/t5/Forum/ct-p/Forum 使用方法 キーワードを入力 (例:EFM32) Community か Knowledge Base を選択 ver. 1.15 2015 年 8 月 5/45 TecStar Company TSC-01002 1-2 EFM32 のラインナップを教えてください Cortex-M0+/M3/M4F を搭載した MCU をご用意しておりますので、アプリケーションに合せてご選択 頂けます。ソフトウェア互換性、ピン互換性を意識した製品展開を行っておりますので、型番変更もスム ーズに行って頂けます。 各型番の仕様につきましては、本資料 5 章「製品一覧」をご覧ください。 ver. 1.15 2015 年 8 月 6/45 TecStar Company TSC-01002 1-3 EFM32 の特徴は何ですか? EFM32 の最大の魅力は消費電力が極めて低い点です。低消費電力を実現するために様々なしかけ が用いられています。 通常動作時の消費電力が低い スリープ時の消費電力が低い スリープからの復帰時間(wakeup time)が短い 使い勝手の良い、複数の低消費電力モードを用意 省電力性能にこだわったペリフェラル設計 ペリフェラル同士が連動して動作する仕組み(Peripheral Reflex System) スリープ時でも最大 16 チャネルの監視が可能なセンサーインタフェース(LESENCE) 低消費電力設計を後押しする強力な開発環境(Simplicity Studio) * 数値はデータシートから抜粋 ver. 1.15 2015 年 8 月 7/45 TecStar Company TSC-01002 1-4 ドキュメントはどこから入手できますか? EFM32 のドキュメントは、Simplicity Studio を経由してご入手頂けます。 Simplicity Studio を起動し、Product の欄(下図の赤枠)に使用する製品型番を入力すると、青枠・緑 枠から下記情報をご入手頂けるようになります。 Datasheet: データシート。スペック、ピン配置情報など Reference Manual: リファレンス・マニュアル。ペリフェラルの使用方法などの解説 Other Documents : エラッタ(バグ情報)、Cortex-M ガイド Application Notes: アプリケーションノート、それに付随するサンプルコード Kit Documentation: Starter Kit のユーザガイド、回路・レイアウト情報 また、ドキュメントは Silicon Labs 社の Web Site からもご入手可能です。 http://www.silabs.com/support/pages/document-library.aspx 製品型番を入力すると、関連ドキュメントがリストアップされます。 ver. 1.15 2015 年 8 月 8/45 TecStar Company TSC-01002 1-5 最適なデバイスを見つけるにはどうすればいいですか? (Parametric Search) Simplicity Studio の Current Product から、Parametric Search アイコンをクリックします。 検索ツールが起動しますので、MCU Core(M0+, M3, M4)、Flash サイズ、動作速度(MHz)、RAM サ イズ、I/O 数、各種ペリフェラルの有無を選びます。Flash や MHz の右横に▲印がありますが、これをク リックすることで、検索条件(〇kB 以上か?〇kB 以下か?)の切り替えが行えます。 条件に該当するデバイス型番が、画面下にリストアップされます。 以上/以下の切り替え ver. 1.15 2015 年 8 月 該当するデバイスがリストアップ 9/45 TecStar Company TSC-01002 1-6 量産時のプログラミング方法には何がありますか? EFM32 への書き込みについては、もちろんデバッガ(Starter Kit や IAR 社 Embedded Workbench 等) を介して行えますが、それ以外のオプションについてご紹介します。 オンボード書き込み (基板実装後に書き込み) 下記が 3rd party の一覧です。ご使用になる EFM32 型番への対応状況、購入方法など、直接プログ ラマ・ベンダ殿にご相談ください。 SMH Technology http://community.silabs.com/t5/Third-Party-Tools/smh-technologies/ba-p/140569 Phyton http://community.silabs.com/t5/Third-Party-Tools/Phyton/ba-p/131178 Olimex http://community.silabs.com/t5/Third-Party-Tools/Olimex/ba-p/131166 ELNEC http://community.silabs.com/t5/Third-Party-Tools/ELNEC/ba-p/129170 最新の 3rd party 情報は下記からご入手頂けます。 http://community.silabs.com/t5/Third-Party-Tools/bg-p/3rd-PartyTools 国内では Computex 社などが対応しています。Computex 社 FP-10 は PC 無しでのスタンドアロン動作 も可能です。 http://www.computex.co.jp/products/fp_10/index.htm ソケットでの書き込み (基板実装前に書き込み) 上記プログラマ・ベンダ殿にコンタクト頂き、ご使用になる EFM32 型番に対応したソケットの提供が可 能かどうか直接ご相談ください。 書込み受託サービス (出荷前に書き込み) Silicon Labs 社での書き込みサービス(数量条件あり)がございます。また国内で対応できるパートナ ーを抱えております。弊社までご相談ください。 USB や UART 経由での書き込み 出荷される EFM32 には、あらかじめ Bootloader が書き込まれており、USB 或いは UART 経由でのプ ログラミングが可能です。 (1) USB が内蔵された EFM32 ⇒ USB もしくは UART 経由でのプログラミングが可能です。 詳しくは AN0042(USB/UART Bootloader)をご参照ください。 (2) USB が内蔵されていない EFM32 ⇒ UART 経由でのプログラミングが可能です。 詳しくは AN0003(UART Bootloader)をご参照ください。 ver. 1.15 2015 年 8 月 10/45 TecStar Company TSC-01002 1-7 対応している RTOS(リアルタイム OS)を教えてください EFM32 に対応した RTOS は以下の通りです。 RTOS 名 提供元 備考 μC3/Compact eForce μiTRON 4.0 ベース RTX RTOS KEIL (ARM) Simplicity Studio にサンプルプロジェクトあり (Software Example の STK3600_rtx_xxx) Simplicity Studio にサンプルプロジェクトあり FreeRTOS オープンソース (Software Example の STK3600_freertos_xxx) eForce 社 μC3(マイクロ・シー・キューブ)の製品情報は下記アドレスから入手頂けます。 http://www.eforce.co.jp/products/microc3c 1-8 MCU Core(M0+, M3, M4F)別の性能を教えてください (CoreMarks、Dhrystone MIPS) CoreMarks 値、Dhrystone MIPS 値は以下の通りです。 MCU Core CoreMarks / MHz Dhrystone MIPS / MHz M0+ 2.42 0.93 M3 3.32 1.25 M4F 3.4 1.27 http://community.silabs.com/t5/32-bit-MCU-Knowledge-Base/Core-performance-difference-between-E FM32-families/ta-p/122678 1-9 熱抵抗値を教えてください 各パッケージの熱抵抗は以下の通りです。(2015/2/3 現在) パッケージ Theta-JA [°C/W] Theta-JC [°C/W] 7x7 TQFP48 61.4 15.0 10x10 TQFP64 33.2 13.0 14x14 LQFP100 44.5 7.8 5x5 QFN24 26.4 30.0 6x6 QFN32 23.7 21.8 9x9 QFN64 20.3 11.6 4x4 BGA48 84.0 25.0 7x7 BGA120 53.0 19.0 10x10 BGA112 45.0 16.0 最新情報については、下記にてご確認ください。 http://community.silabs.com/t5/32-bit-MCU-Knowledge-Base/EFM32-package-Thermal-Resistance-Val ues-Thermal-Characteristics/ta-p/122834 ver. 1.15 2015 年 8 月 11/45 TecStar Company TSC-01002 1-10 ピンコンパチの見分け方を教えてください 製品の型番は、以下のようなルールで決められています。 表記 説明 TG デバイスファミリ名。TG であれば Tiny Gecko。 230 ピン配置タイプ F32 Flash ROM のサイズ(kB 単位)。 F32 であれば 32kB の Flash ROM を搭載している。 このうち、ピン配置タイプの数値が同一のものは、ピンコンパチです。例えば、EFM32TG230 と EFM32WG230 はピン配置タイプが同じ(230)ですので ピンコンパチになります。 EFM32WG230 EFM32TG230 http://community.silabs.com/t5/32-bit-MCU-Knowledge-Base/EFM32-pin-compatibility/ta-p/120152 なお、ピン配置タイプが同一でも、ファミリが異なれば搭載しているペリフェラル数が異なっている場 合があります。ファミリを跨いだコンバートを行う場合には、その点にご留意ください。 ver. 1.15 2015 年 8 月 12/45 TecStar Company TSC-01002 1-11 スターターキットで使用している MCU 型番を教えてください 以下の製品が使用されています。 ファミリ名 CPU Core Starter Kit 実装されている型番 Wonder Gecko Cortex M4F EFM32WG-STK3800 EFM32WG990F256 Giant Gecko Cortex M3 EFM32GG-STK3700 EFM32GG990F1024 Leopard Gecko Cortex M3 EFM32LG-STK3600 EFM32LG990F256 Gecko Cortex M3 EFM32-G8XX-STK EFM32G290F128 Tiny Gecko Cortex M3 EFM32TG-STK3300 EFM32TG840F32 Happy Gecko Cortex M0+ SLSTK3400A EFM32HG322F64 Zero Gecko Cortex M0+ EFM32ZG-STK3200 EFM32ZG222F32 1-12 スターターキットの回路図・部品表はどこから入手できますか? Simplicity Studio の Kit Documentation からご入手ください。 1-13 開発環境(評価基板、開発ツール、コンパイラ、ICE)は有償ですか? 評価基板 スターターキットは有償です。マクニカオンラインストアでも販売しています。 開発ツール Simplicity Studio は無償で提供しています。入手方法は下記をご参照ください。 https://store.macnica.co.jp/support/faq/108157 コンパイラ 無償コンパイラ(GCC)が Simplicity Studio に付属しています。 もちろん、Cortex-M の開発で標準的に使われる IAR、KEIL もご使用頂けます。 ICE 本来組み込み開発に欠かせないものですが、スターターキットに組み込まれてい るため、別途ご用意頂く必要はありません。 【検索キーワード】 ICE/エミュレータ ver. 1.15 2015 年 8 月 13/45 TecStar Company TSC-01002 1-14 mbed に対応していますか? mbed とは ARM 社が提供するクラウドベースの開発環境ですが、Silicon Labs 社のスターターキットも mbed に対応しています。どのスターターキットが対応しているかは、Silicon Labs 社の Web Site でご確 認ください。 http://www.silabs.com/mbed/Pages/default.aspx なお、実際に使用する場合には、Simplicity Studio 及びスターターキットのファームウェアのバージョ ンアップが必要になる場合があります。 1-15 提供される無償コンパイラは、機能安全に対応していますか? 対応していません。IAR システムズ社の一部製品が対応していますので、そちらをご検討ください。 【検索キーワード】 compiler/コンパイラ 1-16 電子ペーパーの評価キットはありませんか? Pervasive Displays 社が提供する EPD Extension Kit と、EFM32GG スターターキットを接続することで 評価頂けます。接続はスターターキットの EXP コネクタを介して行い、サンプルコードも用意しています。 詳しくは、AN0063 Driving Electronic Paper Displays (E-paper)をご覧ください。 1-17 USB Debug Adapter を使って EFM32 をプログラミングできますか? USB Debug Adapter(8051 用、Si3Mxxx 用)は EFM32 には対応していません。EFM32 のプログラミン グには、Starter Kit 等をご使用ください。 Silicon Labs のコミュニティサイトも合わせてご確認ください。 ver. 1.15 2015 年 8 月 14/45 TecStar Company TSC-01002 2 よくある質問 (ペリフェラル、メモリ、基板設計) EFM32 に関して、よく頂戴する質問についてまとめました。 2-1 デバッグ/プログラミングに必要な最低限のピンを教えてください Starter Kit の Debug Connector に引き出されているピンのうち、以下 6 ピンを使用します。 SWCLK、SWDIO、SWO、#RESET、VTARGET、GND このうち、SWO、#RESET の 2 ピンはオプションで、残りの 4 ピンは使用必須です。 SWO を未接続にした場合、Energy Profiler で、電流値⇒ソースコードにジャンプする機能が使用でき なくなります。また、energyAware Commander の SWO terminal が使用できなくなります。 #RESET を未接続にした場合、debug unlock 機能が使用できなくなります。#RESET については、使用 することを強くお勧めします。 2-2 フラッシュメモリを EEPROM のように使えますか? フラッシュメモリを仮想 EEPROM として使用するための、サンプルコード(API)をご準備しております。 詳細は AN0019(EEPROM Emulation)をご参照ください。 2-3 低速オシレータをクロック(HFXO)として使用できますか? 外部クロック(HFXO)の周波数は、データシートで以下のように規定されています。(下図は Leopard Gecko の場合)。 ここで規定している周波数下限は、クリスタルの発振回路の制約によるものですので、発振回路を必 要としないオシレータやデジタルクロックの場合には、この制約に該当しません。4MHz 未満の周波数 (例えば 1MHz やそれ以下の周波数)でもご使用頂けます。 ver. 1.15 2015 年 8 月 15/45 TecStar Company TSC-01002 2-4 SPI (USART Synchronous mode)の最大速度を教えてください リファレンスマニュアルの USART Synchronous Operation の項目に、SPI の最大動作速度について記 載されています。fHFPERCLK の算出方法は、本資料 7-7-5 をご参照ください。 内蔵オシレータ(HFRCO)使用時 最大速度 内蔵高速クロックの 周波数設定 (MHz) SPI マスター時 (MHz) SPI スレーブ時 (MHz) 28 14 3.5 21 10.5 2.625 14 7 1.75 11 5.5 1.375 6.6 3.3 0.825 1.2 0.6 0.15 外付けオシレータ(HFXO)使用時 最大速度 外付けクロックの ファミリ名 最大周波数 (MHz) SPI マスター時 (MHz) SPI スレーブ時 (MHz) WG, GG, LG 48 24 6 G, TG 32 16 4 HG 25 12.5 3.125 ZG 24 12 3 2-5 VCMP(Voltage Comparator)の response time を教えてください VCMP の response time は、ACMP(Analog Comparator)の response time と同じです。データシートに ACMP の response time のカーブが記載されていますので、そちらをご参照ください。 http://community.silabs.com/t5/32-bit-MCU-Knowledge-Base/VCMP-response-time/ta-p/122680 2-6 I/O ピン pull-up/pull-down 抵抗値の Min/Max を教えてください I/O ピンには、ON / OFF が可能な pull-up / pull-down が内蔵されています。この pull-up/pull-down 抵抗値は、データシートにて 40kΩ(typ.)と規定されています。Min.値、Max 値については、Min.=30kΩ、 Max.=50kΩが目安となります。 http://community.silabs.com/t5/32-bit-MCU-Knowledge-Base/Maximum-and-Minimum-values-for-Gec ko-Pull-Up-and-Pull-down/ta-p/133629 ver. 1.15 2015 年 8 月 16/45 TecStar Company TSC-01002 2-7 フラッシュメモリのページサイズを教えてください?(最小消去単位は?) フラッシュメモリの最小消去単位は フラッシュメモリのページサイズと同じで、以下のとおりです。 フラッシュメモリ ファミリ名 ページサイズ (byte) G, TG 512 HG, ZG 1024 WG, LG 2048 GG 4096 http://community.silabs.com/t5/32-bit-MCU-Knowledge-Base/EFM32-Minimum-Flash-Erase-Unit/ta-p/ 122684 2-8 未使用 GPIO のピン処理方法を教えてください 未使用の GPIO は、未接続(オープン処理)としてください。 http://community.silabs.com/t5/32-bit-MCU/EFM32-Unused-Pins-Hardware-Design/m-p/109271/highli ght/true#M4119 2-9 LEUART の送信ジッタについて LEUART では低速クロック(32.768kHz)を使用して、最大 9600bps のボーレートでの通信を実現しま す。選択するボーレートによっては、32.768kHz を使っての生成が難しいため、1 ビット期間で見るとジッ タが生じている場合があります。 送信データのビット期間が均一ではない このジッタは蓄積されていくものではありませんし、半クロックを超えるジッタも生じませんので、通信 に影響ないと考えます。リファレンスマニュアルの LEUART の項目(Jitter in Transmitted Data)も併せて ご参照ください。 なお、平均ボーレートは非常に良い精度に収まります。 ver. 1.15 2015 年 8 月 17/45 TecStar Company TSC-01002 2-10 外部割込みピンの最大数を教えてください 最大 16 本 を外部割込みのソースとして使用することができます。ただし、外部割込みピンとして選択 できるピンには一定のルールがあります。 下図は、EFM32LG990 データシート「GPIO Pinout Overview」からの抜粋です。それぞれのピンは、 Pin 0~Pin 15 までのグループと、Port A~F までのグループの双方に所属しています。例えば、PD12 ピンであれば、Pin 12 のグループと、Port D のグループに所属しています。 ここから 1 本 外部割込みピンは、Pin 0~15 の各グループから 1 本ずつ選択ができます。Pin 0 グループから 1 本、 Pin 1 グループから 1 本、Pin 2 グループから 1 本、…、Pin 15 グループから 1 本で、計 16 本が最大です。 例えば Pin 5 グループであれば、PA5,PB5,PC5,PD5,PE5,PF5 から 1 本だけ選択が可能で、PA5 と PB5 は同時に割り込みピンとしては使用できないことになります。 外部割込みに使用するピンの指定は、GPIO_EXTIPSELL(Pin 0~7 用)と GPIO_EXTIPSELH(Pin 8 ~15 用)で行います。PA5 を割り込みピンに設定する場合であれば、GPIO_EXTIPSELL の EXTIPSEL5 (Pin 5 用ビット)を 0(Port A)に変更します。(ルール理解のためレジスタを記載しましたが、実際には API で簡単に設定できます) GPIO_EXTIPSELL ver. 1.15 2015 年 8 月 18/45 TecStar Company TSC-01002 2-11 外部割込みピンに優先度を設定できますか? EFM32 では、最大 16 本を外部割込みのソースとして使用できます。16 本の割り込みソースに対して、 割り込み(割り込みハンドラ)は 2 つ用意されています。16 本それぞれに割り込みハンドラが用意されて いるわけではありません。外部割り込みが発生したら、割り込みハンドラの処理の中で、どのピンが要 因になったのかを確認し、その結果に従った処理を行います。 void GPIO_EVEN_IRQHandler(void); void GPIO_ODD_IRQHandler(void); 下図は EFM32LG リファレンスマニュアル「GPIO」からの抜粋です。外部割込みピンから、割り込みが 発生するまでの経路を示しています。この回路が Pin グループ(P0, P1…P15)ごとに用意されています。 IRQ_GPIO_EVEN は偶数ピン(Pin 0, 2, 4, 6, 8, 10, 12, 14)、IRQ_GPIO_ODD は奇数ピン(Pin 1, 3, 5, 7, 9, 11, 13, 15)に対応した割り込みです。IRQ_GPIO_EVEN と IRQ_GPIO_ODD の優先順位は変更で きます。ピンごとに優先順位はつけられません。(Pin 0 だけを優先させる、という事はできない) 複数のピンが同時に、或いは時間差をつけて割り込み条件を満たした場合でも、割り込みフラグレジ スタ(GPIO_IF、上図の IF[n])には検出した結果が反映されます。どのピンが要因になったのかを割り 込みハンドラにて確認した際に、もし複数のフラグが立っていれば、それらに対して処理の優先順位を つけることはソフトウェア的に可能かもしれません。 2-12 SPI スレーブを複数接続する方法 (SPI 信号をシェアしたい) EFM32 を SPI マスターとして使い、複数の SPI スレーブを接続したい場合があります。その場合には、 下図のように CLK、MOSI、MISO を共有し、CS をスレーブごとに用意することで実現可能です。CS は 用意された機能を使用せず、GPIO を使い、ソフトウェアから制御してください。 CS は無効にする ver. 1.15 2015 年 8 月 19/45 TecStar Company TSC-01002 2-13 ADC のチャネル数を教えてください 型番によって異なりますが、最大 8 チャネルまでサポートしています。 チャネル数 ファミリ名 ADC チャネル数 WG, GG, LG 8 G 4~8 TG 0~8 HG, ZG 0~4 各型番のチャネル数は、本資料 5 章「製品一覧」でも確認頂けます。下図の括弧内の数字がチャネル 数です。 2 チャネル 4 チャネル ver. 1.15 2015 年 8 月 20/45 TecStar Company TSC-01002 2-14 シリアルポートの本数を教えてください 型番によって異なりますが、以下の通りです。 ファミリ名 WG, GG, LG パッケージ 64pin 上記以外 32, 48pin G 64pin 上記以外 TG USART, SPI, I2S UART LEUART 3 2 3 TG108 1 上記以外 2 0 2 0 1 2 I2C 2 1 2 1 0 1 1 HG 2 0 1 1 ZG 1 0 1 1 USART は UART としても使用できます。LEUART は低消費・低速の UART です。 各型番のシリアルポート数は、本資料 5 章「製品一覧」でも確認頂けます。下図の数字がチャネル数 です。 2-15 フラッシュメモリの書き換え回数を教えてください データシートの Electrical Characteristics で規定しており、消去 20000 回(Min.)です。 ver. 1.15 2015 年 8 月 21/45 TecStar Company TSC-01002 2-16 Low Energy UART の特徴は何ですか? Low Energy UART は、EM2(deep sleep mode)でも動作するペリフェラルです。CPU コアを眠らせたま ま通信が行えます。また、DMA(EM2 で動作可能)と連動することもできます。詳細は AN0017(Low Energy UART)をご参照ください。 使用例 パワーモードを EM2 にして CPU コアを停止し、Low Energy UART でデータ待ち受けをしておきます。 データを受信してバッファが一杯になったら DMA でメモリに転送しておき、その後 CPU コアが wakeup して処理を行う、といった動作が実現可能です。CPU コアが停止している期間を最大化できますので、 消費電流を押えることができます。 2-17 Low Energy USB の特徴は何ですか? Low Energy Mode という機能を使うことで、USB の機能を損なうことなく、消費電流を削減することが できます。 USB では、常にデータ送信(TX)あるいはデータ受信(RX)を行っている訳ではなく、待機(IDLE)の 状態がありますが、下図のように待機時もデータ受信時と同じだけの電流を消費しています。 Low Energy USB では、この IDLE 期間中の消費電流を自動的に下げる仕組みが入っており、下図の 緑色部分の消費電流が削減することができます。 消費電流の削減効果はアプリケーションにも依存しますが、シリコンラボ社のサンプルコード(HD Keyboard)の場合で 5-35%程度の消費電流削減効果が確認できました。詳細は AN0886(Happy Gecko Low Energy USB Overview)をご参照ください。 ver. 1.15 2015 年 8 月 22/45 TecStar Company TSC-01002 2-18 5V I/O に対応していますか?(5V トレラント品ですか?) 対応していません。レベルシフタなど、外部回路での対応をお考えください。 2-19 リセットピン(RESETn)でリセットする場合、どのくらい間、ピンを Low にする必要がありますか? データシートで規定されていませんが、目安として 50ns(Min.)でお考えください。ゆとりを持ったタイミ ング設計をお勧めします。 2-20 ペリフェラルに LCD コントローラと TFT ドライバがありますが、違いは何ですか? LCD コントローラはセグメント形式の表示制御を想定したペリフェラルです。それに対し、TFT ドライバ はドット・マトリクス形式の表示制御を想定しています。 2-21 AES アクセラレータを搭載しているメリットを教えてください AES(Advanced Encryption Standard)は共通鍵を使用した暗号化の一種で、セキュリティが必要にな る機器で広く使用されています。 EFM32 の多くは、AES をハードウェアで内蔵しています。もちろんソフトウェアでも実現できるのです が、配列演算が必要になるため、処理時間が非常に長くなり、また RAM も大量に使用します。AES を ハードウェアで搭載しているメリットは以下の通りです。 1. 処理時間が圧倒的に短い: MCU コアが演算しないので、MCU コアの占有時間を大幅低減する ことができます。そのため、システム設計におけるタイミングの自由度が格段に向上します。 処理サイクル数(Cortex-M3 の場合) ソフト処理(128bit 鍵) 1000 ハード処理(128bit 鍵) 54 ハード処理(256bit 鍵) 75 2. RAM を使用しない: ソフトで実現すると配列演算用に RAM が必要となります。 3. 低消費電力: MCU コアの稼働時間を削減できますので、消費電力を削減できます。また、AES ア クセラレータは低消費電力モード(EM1)でも動作でき、また DMA と連動することもできますので、更に 低消費電力化が実現できます。 2-22 GPIO に直列抵抗が内蔵されていますが、出力レベルに影響しますか? EFM32 データシートには、GPIO に 200Ω typ.の ESD 直列抵抗(Internal ESD series resistor)を内蔵し ていると記載があります。この抵抗は、入力設定時およびアナログ設定時にのみ有効になります。その ため、出力には影響を及ぼしません。 最新情報については、Silicon Labs コミュニティサイトを参照ください。 http://community.silabs.com/t5/32-bit-MCU-Knowledge-Base/GPIO-series-ESD-resistor/ta-p/144247 ver. 1.15 2015 年 8 月 23/45 TecStar Company TSC-01002 2-23 デバッグピン(SWCLK/SWDIO)は、デバッグ時以外は I/O として使用できますか? 使用できます。ただし、デバッグや書き換えの際の通信経路を確保するために、時差を持たせて I/O を活性化させるなどの工夫が必要になります。 2-24 EFM32 の内蔵メモリは、ゼロウェイト(ノーウェイト)でアクセスが可能ですか? 動作周波数に依存します。 WG,GG,LG,TG,G,HG,ZG の場合には、~16MHz が 0 ウェイト、~32MHz が 1 ウェイト、~48MHz が 2 ウェイトになります。リファレンスマニュアルで「zero wait」で検索すると説明が見つかりますので、ご参 照ください。 2-25 EFM32 を最大動作周波数で使用したいのですが、外付けクロックは必要ですか? 最大動作周波数は、WG,GG,LG は 48MHz、G,TG が 32MHz、HG が 25MHz、ZG が 24MHz と定め られています。それに対して内蔵オシレータの最大周波数は、WG,GG,LG,G,TG が 28MHz、HG が 24MHz、ZG が 21MHz になっています。 内蔵オシレータよりも高い周波数で使用したい場合には、外付けクロックをご使用ください。 2-26 PWM の周波数を動的に変更することはできますか? 可能です。タイマ設定を変更することで、PWM(Pulse-Width Modulation)の周波数を変更することが できます。ただし、1 つのタイマで最大 3 チャネルの PWM を制御していますので、PWM 周波数の変更 も 3 チャネルセットでの変更になります。 また、周波数変更時には PWM にグリッジが載る可能性があります。それを避けるため、周波数を変 更する際には TIMERn_TOPB を使用することをお勧めします。 2-27 GPIO ピンの状態(リセット中)について教えてください リセットには、RESET ピンによるリセット、POR(パワーオンリセット)/BOD(Brown out Detector)による リセットがありますが、それぞれにおける GPIO の状態は以下の通りです。 リセットソース 状態 RESET ピン トライステート / ハイ・インピーダンス POR/BOD 不定 (幾らか電流が流れます) 最新情報については、Silicon Labs コミュニティサイトを参照ください。 2-28 BURTC の Retention Register は、リセット後に値を維持しますか? Backup Real Time Counter の Retention Register は、リセット後に不定値になります。値は維持しないと お考えください。 最新情報については、Silicon Labs コミュニティサイトを参照ください。 ver. 1.15 2015 年 8 月 24/45 TecStar Company TSC-01002 2-29 BURTC の Counter Register は、リセット後に値を維持しますか? Backup Real Time Counter の Counter Register は、リセット後に初期値(0x000000)に戻ります。 最新情報については、Silicon Labs コミュニティサイトを参照ください。 ver. 1.15 2015 年 8 月 25/45 TecStar Company TSC-01002 3 よくある質問 (ツール、ソフトウェア設計) EFM32 に関して、よく頂戴する質問についてまとめました。 3-1 Simplicity Studio(開発ツール)はどこから入手できますか? Simplicity Studio は、下記アドレスからダウンロードできます。ダウンロード後、install-studio.exe を実 行して、インストールを行います。 http://www.silabs.com/products/mcu/Pages/simplicity-studio.aspx 3-2 サンプルコードはどこから入手できますか? EFM32 のサンプルコードは、Simplicity Studio を経由してご入手頂けます。弊社が作成した「EFM32 クイックスタートガイド」の「3-4 EFM32 のサンプルコード」をご参照ください。 3-3 ライブラリ(API)情報はどこから入手できますか? EFM32 のライブラリ(API)は、Simplicity Studio を経由してご入手頂けます。弊社が作成した「EFM32 クイックスタートガイド」の「3-3 EFM32 の API 情報」をご参照ください。 3-4 ユーザコードの ROM サイズを確認する方法を教えてください (Simplicity IDE) 下図は Simplicity IDE でサンプルコードをビルドした際の、コンソール表示です。リンカがリンク処理を 完了した際に出力される文字列なのですが、セクションという分類毎のサイズ(バイト数)を表わしていま す。 セクション 内容 text Flash 領域に配置されるプログラムの命令コード data 初期値付きのスタティック変数 bss 外部変数など、初期化を行わない変数 dec text, data, bss の合計値(10 進数) hex text, data, bss の合計値(16 進数) フラッシュメモリにダウンロードされるコードサイズは、text + data になります。 http://community.silabs.com/t5/32-bit-MCU-Knowledge-Base/32-bit-flash-RAM-usage/ta-p/126432 ver. 1.15 2015 年 8 月 26/45 TecStar Company TSC-01002 3-5 ソースコードの行番号を表示させる方法はありますか? (Simplicity IDE) ソースコードにカーソルを合わせ、右クリックします。メニューの一番下の Preferences を選択します。 General ⇒ Editors ⇒ Text Editors の Show line numbers にチェックを入れ、OK を押します。 行番号が表示されるようになります。 ver. 1.15 2015 年 8 月 27/45 TecStar Company TSC-01002 3-6 Embedded Workbench (IAR 社 IDE)のインストール方法を教えてください Kickstart license(コード制限 32kB)を使ったインストール方法を紹介します。 1. Starter Kit に同梱された CD を再生し、「Kickstart License 32K code size-limited」を実行します。 2. ユーザ登録画面が表示されますので、必要事項を記入します。 3. 登録したメールアドレスに、ライセンスへのリンク送られてきます。ここで取得したライセンス番号 は後で必要になります。 4. CD の再生画面に戻り、次は「Install software」を実行します。 5. インストールが完了したら、Embedded Workbench を起動します。ライセンスの入力を求められま すので、(3)で取得したライセンス番号を入力します。 ① ④ 3-7 Simplicity Studio から Embedded Workbench (IAR 社 IDE)を起動させる方法を教えてください コンパイルやデバッグを行う際には、Simplicity IDE が起動するように初期設定されていますが、それ を IAR 社 Embedded Workbench に変更することができます。 Setting(歯車のアイコン) → Simplicity Studio → Preferred IDE → IAR Embedded Workbench → Apply の順に設定してください。これで Embedded Workbench が起動するようになります。 ver. 1.15 2015 年 8 月 28/45 TecStar Company TSC-01002 3-8 コードをダウンロードせずに、レジスタ値が見る方法はありますか (Embedded Workbench) 動作障害の解析時などに、EFM32 のレジスタが見たいけど、ファームは書き換えたくない、という場 合があります。Embedded Workbench はこのような機能をサポートしています。 日頃 Simplicity IDE を使用している方が、レジスタを見るためだけに Embedded Workbench を一時的 に使用する、という場合を想定した手順を以下に記します。 1. 「Embedded Workbench (IAR 社 IDE)のインストール方法」を参考に、Embedded Workbench をイ ンストールします。 2. 「Embedded Workbench (IAR 社 IDE)を使いたい」を参考に、Embedded Workbench を標準 IDE に設定します。 3. PC に Starter Kit を接続します。対象がユーザ基板の場合には、「6-6 ユーザ基板のプログラミン グ・デバッグを行ってみる」を参考に、Starter Kit への接続および Debug Mode の変更を行ってく ださい。 4. Software Examples を選択します。Example Sample は何でも良いので選択し、Finish を押すと Embedded Workbench が起動します。 5. メイク を選択します。 6. ダウンロードせずにデバッグ を選択します。 7. 表示メニューから、レジスタ、メモリなど、見たいものを選択します。EFM32 とソースコードはリンクし ていませんから、変数などはアテになりませんのでご注意ください。 ver. 1.15 2015 年 8 月 29/45 TecStar Company TSC-01002 3-9 RAM からコードを実行する方法を教えてください 通常はフラッシュメモリからコードを実行しますが、RAM から実行させることも可能です。例えばフラッ シュメモリの内容を書き換えたい場合など、一時的に RAM からコードを実行できると便利です。 具体的な記述例については下記をご参照ください。 Simplicity Studio での記述例 http://community.silabs.com/t5/32-bit-MCU-Knowledge-Base/Running-Code-and-Interrupts-from-RA M/ta-p/122580 IAR での記述例 http://community.silabs.com/t5/32-bit-MCU/How-can-I-execute-code-from-RAM/td-p/99631 3-10 アップデート前のバージョンに戻す方法を教えてください (Simplicity Studio) Simplicity Studio のアップデートを適用したのちに、以前のバージョンに戻したい場合があります。次 の手順でアップデート前の状態に戻すことができます。 Help → About Simplicity Studio → Installation Details → Installation History → 日付を選択 → Revert の順に選択してください。選択した日付の時点での状態に復帰します。 http://community.silabs.com/t5/32-bit-MCU-Knowledge-Base/Reverting-Studio-to-a-previous-update-v ersion/ta-p/133006 ver. 1.15 2015 年 8 月 30/45 TecStar Company TSC-01002 3-11 SDK(emlib)バージョンを確認する方法はありませんか? (Silicon Labs IDE) 次の手順で emlib ライブラリのバージョンを確認することができます。 Project Explorer でプロジェクトを選択し右クリック → Property → Kit/Part/SDK の順に移動してくだ さい。下図の例では SDK バージョンは ver.3.20.14 になっています。 emlib のソースコードで確認することも可能です。 http://community.silabs.com/t5/Simplicity-Studio-and-Software/Determining-the-emlib-SDK-version-us ed-in-a-Simplicity-Studio/ta-p/138009 ver. 1.15 2015 年 8 月 31/45 TecStar Company TSC-01002 3-12 Build の設定に Debug と Release の 2 つがありますが、違いを教えてください (Silicon Labs IDE) トンカチのアイコン(Build)の右横の▼をクリックすると、Debug、Release という選択肢があります。 Debug はデバッグ時に使用することを想定したモードです。ビルド時に論理圧縮を行いませんので、 ソースコードとオブジェクトコードが完全に1対1で関連付けられます。(ソースコードの 1 行 1 行が維持さ れます)。そのため、ブレークポイントなどを使ってデバッグを行うのに適しています。 Release は設計の最終局面で使用することを想定したモードです。論理圧縮を行い、コードサイズを最 適化します。論理圧縮によってソースコードとオブジェクトコードとの対比が取れなくなりますので、デバ ッグには適していません。(ステップ実行や、ブレークポイントの利用に制限が出ます) http://community.silabs.com/t5/32-bit-MCU-Knowledge-Base/Studio-Debug-vs-Release-Configuration/ ta-p/141287 3-13 Silicon Labs IDE のプロジェクトを作成しましたが、MCU 型番を変更したいです。方法はあります か? (Silicon Labs IDE) Project Explorer でプロジェクトを選択し右クリック → Property → Kit/Part/SDK の順に移動してくだ さい。Part を使用する MCU 型番に変更し OK を押します。選択した MCU 型番に応じてライブラリがアッ プデートされます。 http://community.silabs.com/t5/32-bit-MCU-Knowledge-Base/Porting-an-EFM32-project-to-another-pa rt/ta-p/140381 ver. 1.15 2015 年 8 月 32/45 TecStar Company TSC-01002 3-14 Configurator のプロジェクトを作成しましたが、MCU 型番を変更したいです。方法はありますか? (Configurator) Simplicity Studio ver.3.0.0(2015/6/29 時点の最新版)では、MCU 型番を変更する機能はサポートさ れていません。大変お手数ですが、新規に Configurator プロジェクトを作成ください。 3-15 バージョン管理ツールは使用可能ですか?(Simplicity Studio/Simplicity IDE) Simplicity Studio は Eclipse ベースの開発環境であるため、未保証ではありますが、プラグインの導入 が可能です。バージョン管理系のプラグインでは、git,subversion(SVN)などが利用可能です。 設定方法ですが、Add/Remove Packages → Advanced Install...の順に選択します。ここから先は通 常の Eclipse と同様で、Add ボタンからリポジトリの追加が可能です。例えば EGit の場合であれば下記 のように追加します。必要なパラメータをセットすれば、通常の Eclipse と同様に利用可能となります。 Name: 任意の名前(EGit など) Location: http://download.eclipse.org/egit/updates 各プラグインの設定項目は、Simplicity IDE → Window メニュー → Preferences → Team の下に 追加される各項目から設定可能です。 バージョン依存のあるプラグインについては、Eclipse v3.7 系(Indigo 系)に適合するものを適用可能 です。ただし、全てのプラグインの動作を保証するものではありません。 3-16 BSP(Starter Kit 用 API)のドキュメントが見つかりません。どこから入手できますか? BSP は Starter Kit や Development Kit 用の専用 API ですが、そのドキュメントは Simplicity Studio を インストールすると、下記フォルダに格納されます。 //SiliconLabs/SimplicityStudio/v3/developer/sdks/efm32/v2/kits/common/bspdoc/html/index.html ver. 1.15 2015 年 8 月 33/45 TecStar Company TSC-01002 3-17 プロジェクトを新規作成する際に、Part(使用する MCU)が変更できません。対処方法を教えてく ださい。(Simplicity IDE/Configurator) Simplicity IDE/Configurator で新規にプロジェクトを作る際に、Part で MCU 型番を選択しますが、プ ルダウンメニューをクリックしても候補が表示されない場合があります。これは Kit でスターターキットが 選択されているのが原因です。 Kit を None に変更すれば、Part のプルダウンメニューで MCU 型番が選択できるようになります。 3-18 必要なウィンドウをクローズしてしまいました。再度オープンする方法を教えてください(Simplicity IDE/Configurator) 表示させるウィンドウは、Simplicity IDE(Configurator) → Window メニュー → Show View で設定 可能です。 ver. 1.15 2015 年 8 月 34/45 TecStar Company TSC-01002 3-19 ウィンドウの配置を初期化する方法はありますか?(Simplicity IDE/Configurator) Simplicity IDE(Configurator) → Window メニュー → Reset Perspective でウィンドウの配置をリセッ トすることができます。 ウィンドウの配置が初期化されます 3-20 1 台のデバッガ(スターターキット等)で、複数の EFM32 を同時にデバッグできますか? サポートしていません。複数のデバッガで各々を制御して頂く必要があります。 3-21 Configurator で行った設定を 3rd party 製 IDE で使用したいです。方法はありますか? Configurator の生成物を 3rd party の IDE(IAR Embedded Workbench や KEIL MDK-ARM など)で使 用したい場合には、3rd party IDE で新規プロジェクトを作成し、Configurator が生成した InitDevice.c と InitDevice.h をコピーしてご使用ください。Simplicity Studio のプロジェクトを、他 IDE に移行する機能は 用意されていません。 ver. 1.15 2015 年 8 月 35/45 TecStar Company TSC-01002 3-22 プロジェクトを作成するフォルダ(workspace)の場所を変更したいです。変更方法を教えてください。 (Simplicity Studio) Project を作成する際に、作成場所の指定が行えます。Use default location のチェックを外して、作成 したいフォルダまでの path を入力します。 初期の path(default location)を変更することも可能です。Setting(歯車のアイコン) → General → Startup and Shutdown → workspace → Prompt for workspace on startup にチェック → Apply の順に 設定してください。 Simplicity Studio を再起動すると、workspace の path を変更するウィンドウが表示されます。ここで新 規の path を指定して OK を押せば、default location が変更されます。Use this as the default and do not ask again にチェックすると、指定した path をデフォルトとして記憶します。 ver. 1.15 2015 年 8 月 36/45 TecStar Company TSC-01002 3-23 Project Explorer で Includes を追加・削除したいです。方法を教えてください。(Simplicity IDE) 次の手順で Includes の追加・削除を行うことができます。 Project Explorer でプロジェクトを選択し右クリック → Property → C/C++ General → Paths and Symbols の順に移動してください。画面右の Add, Edit, Delete ボタンから、追加・修正・削除が行えます。 作業が終わって OK を押せば、Project Explorer の Includes が更新されます。 3-24 プログラミング専用ツール(Flash Programmer 単体)はありますか?Simplicity Studio よりも手軽 なものが良いです。 プログラミングに特化したツールを用意しています。Silicon Labs のサイトから、32-bit Production Programmer をご入手ください。 http://www.silabs.com/support/pages/software-downloads.aspx 3-25 emlib の更新履歴はどこで確認できますか? Simplicity Studio のインストールフォルダの中にある Changes_emlib.txt にて確認できます。標準で は下記フォルダに保存されています。 C:¥SiliconLabs¥SimplicityStudio¥v3¥developer¥sdks¥efm32¥v2¥emlib ver. 1.15 2015 年 8 月 37/45 TecStar Company TSC-01002 3-26 コマンドラインからプログラミングする方法はありませんか? Segger 社のデバッガとソフトウェアを使用すれば、コマンドラインからのプログラミングが可能です。以 下から製品情報をご入手頂けます。 - https://www.segger.com/jflash.html - https://www.segger.com/jlink-flash-download.html また、JFlash をコマンドラインで使う方法については、以下ドキュメントがご参考になります。 - https://www.segger.com/admin/uploads/productDocs/UM08003_JFlash.pdf Silicon Labs のコミュニティサイトも合わせてご確認ください。 3-27 printf()で浮動小数点に対応させる方法を教えてください(Simplicity IDE/GCC) Simplicity Studio では無償コンパイラ(GCC)を内蔵していますが、printf()はデフォルトで浮動小数点 に未対応になっています。これはコードサイズを小さく抑えるためです。次の手順で浮動小数点に対応 させることができます。 Project Explorer でプロジェクトを選択し右クリック → Property → C/C++ Build → Settings → Tool Settings → Gnu ARM C Linker → Miscellaneous の順に移動してください。画面右の Add, Delete, Edit アイコンから、追加・修正・削除が行えます。ここで「-u_printf_float」を追加してください。 Silicon Labs のコミュニティサイトも合わせてご確認ください。 ver. 1.15 2015 年 8 月 38/45 TecStar Company TSC-01002 4 トラブルシューティング EFM32 に関して、よく頂戴する質問についてまとめました。 4-1 オンライン・インストール/アップデートに失敗して困っています。対処方法を教えてください (Simplicity Studio) オンライン・インストール/アップデート時に、Simplicity Studio は以下のサイトにアクセスします。 http://devtools.silabs.com/studio/updates/3_x_public http://devtools.silabs.com/studio/updates/3_x_eclipse/ ファイアウォールにより、上記サイトへのアクセスが阻害された場合には、インストール/アップデート に失敗します。この場合には、Proxy を適正に設定することでファイアウォールを回避し、インストール/ アップデートを行うことができます。 インストール時には、Add/Remove packages ダイアログで Cancel ボタンを押していったん抜け、Setting (歯車のアイコン) → General → Network Connections にて、proxy の情報を入力してください。 アップデート時には、同様に Settings → General → Network Connections で設定してください。 もし入力する情報が不明な場合には、貴社の IT 管理部門にご相談ください。 http://community.silabs.com/t5/32-bit-MCU-Knowledge-Base/Simplicity-Studio-Network-Setup/ta-p/119650 4-2 Debug アイコンをクリックするとエラーが出ます。対処方法を教えてください (Simplicity IDE) Debug アイコン(虫のアイコン)をクリックすると下図のエラーが出る場合があります。使用するファイル までの path に全角文字が入っている場合などに発生します。(C:¥サンプルソフト¥workspace¥ など) 半角文字を使用した path およびフォルダに変更してご使用ください。 ver. 1.15 2015 年 8 月 39/45 TecStar Company TSC-01002 4-3 EFM32 にアクセスできなくなりました。対処方法を教えてください。 以下のような場合に、EFM32 へのデバッグ経路は遮断されてしまいます。 デバッグピンを disable にしてしまった Core にクロックを供給している HF オシレータを停止してしまった EM4 に移行した もちろん、リセットすればデバッグ経路はいったんは復旧するわけですが、上記の処理をユーザコー ドの初期に実行していたとすれば、リセット解除直後にユーザコードがデバッグ経路を再び遮断してしま い、デバッガでアクセスできないままになってしまいます。(例: リセット直後にいきなり EM4 に移行する、 といったユーザコード) この場合の復旧方法を紹介します。 1. 復旧対象がユーザ基板の場合には、「6-6-4 デバッグ対象の切り替え(Kit Manager)」を参考に デバッグ対象の切り替えを行います。 2. Flash Programmer をクリックします。 3. Unlock Debug Access をクリックします。Flash ROM の内容が消去され、デバッグ経路が復旧しま す。 メカニズムにつきましては、下記をご参照ください。 http://community.silabs.com/t5/32-bit-MCU-Knowledge-Base/Unlock-a-Bricked-EFM32/ta-p/122776 ver. 1.15 2015 年 8 月 40/45 TecStar Company TSC-01002 4-4 IAR Embedded Workbench ver.6.n を使っていたのですが、ver.7.n に移行したところビルドが通らな くなりました。対処方法を教えてください。 EFM32 の提供メーカーが、Energy Micro 社から Silicon Labs 社に変更になっており、そのためプログ ラムが参照する path も変更されています。path の不一致によりビルド時にリンカエラーが生じます。 例えば Win7 64 ビット版の場合であれば、ライブラリは下記フォルダに格納されています。 ・Embedded Workbench 6.n のライブラリ path C:¥Program Files (x86)¥IAR Systems¥Embedded Workbench 6.n¥arm¥config¥linker¥EnergyMicro¥EFM32GG990F1024.icf ・Embedded Workbench 7.n のライブラリ path C:¥Program Files (x86)¥IAR Systems¥Embedded Workbench 7.n¥arm¥config¥linker¥SiliconLaboratories¥EFM32GG990F1024.icf 上記の場合には、arm¥config¥linker の下にある"SiliconLaboratories"をコピーし、"EnergyMicro"にリ ネームすればエラーを回避できます。 ver. 1.15 2015 年 8 月 41/45 TecStar Company TSC-01002 5 製品一覧 Silicon Labs 社 2014 PRODUCT SELECTOR GUIDE から抜粋 ver. 1.15 2015 年 8 月 42/45 TecStar Company TSC-01002 ver. 1.15 2015 年 8 月 43/45 TecStar Company TSC-01002 ver. 1.15 2015 年 8 月 44/45 TecStar Company TSC-01002 改版履歴 Version 改定日 改定内容 1.0 2014 年 07 月 ・新規作成 1.13 2015 年 06 月 ・マクニカオンラインで公開 1.14 2015 年 07 月 ・1-13~1-16、2-18~2-26、3-11~3-23、4-4 章を追加、5 章更新 1.15 2015 年 08 月 ・1-17、2-27~2-29、3-24~3-27 章を追加 参考文献 Silicon Labs 社 各種ドキュメント Silicon Labs 社 ナレッジベース、コミュニティフォーラム 免責、及び、ご利用上の注意 弊社より資料を入手されましたお客様におかれましては、下記の使用上の注意を 一読いただいた上でご使用ください。 1. 本資料は非売品です。許可無く転売することや無断複製することを禁じます。 2. 本資料は予告なく変更することがあります。 3. 本資料の作成には万全を期していますが、万一ご不審な点や誤り、記載漏れなどお 気づきの点がありましたら、弊社までご一報いただければ幸いです。 4. 本資料で取り扱っている回路、技術、プログラムに関して運用した結果の影響につい ては、責任を負いかねますのであらかじめご了承ください。 5. 本資料は製品を利用する際の補助的なものとしてかかれたものです。製品をご使用 になる場合は、メーカーリリースの資料もあわせてご利用ください。 本社 〒222-8561 横浜市港北区新横浜 1-6-3 TEL 045-470-9841 FAX 045-470-9844 ver. 1.15 2015 年 8 月 45/45 TecStar Company