...

Silicon Labs 社 EFM32 FAQ

by user

on
Category: Documents
129

views

Report

Comments

Transcript

Silicon Labs 社 EFM32 FAQ
Silicon Labs 社 EFM32
FAQ
2015 年 10 月
2015 年 10 月
Silicon Labs 社 EFM32
FAQ
目次
1 よくある質問 (全般) .................................................................................................. 6
1-1 疑問・問題解決に役立つサイトはありますか? ........................................................................... 6
1-2 EFM32 のラインナップを教えてください ..................................................................................... 7
1-3 EFM32 の特徴は何ですか?.................................................................................................... 8
1-4 ドキュメントはどこから入手できますか? .................................................................................... 9
1-5 最適なデバイスを見つけるにはどうすればいいですか? (Parametric Search)......................... 10
1-6 量産時のプログラミング方法には何がありますか? ................................................................. 11
1-7 対応している RTOS(リアルタイム OS)を教えてください ............................................................ 12
1-8 MCU Core(M0+, M3, M4F)別の性能を教えてください (CoreMarks、Dhrystone MIPS) .......... 12
1-9 熱抵抗値を教えてください ....................................................................................................... 12
1-10 ピンコンパチの見分け方を教えてください .............................................................................. 13
1-11 スターターキットで使用している MCU 型番を教えてください ................................................... 14
1-12 スターターキットの回路図・部品表はどこから入手できますか? .............................................. 14
1-13 開発環境(評価基板、開発ツール、コンパイラ、ICE)は有償ですか? ..................................... 14
1-14 mbed に対応していますか? ................................................................................................ 15
1-15 提供される無償コンパイラは、機能安全に対応していますか? ............................................... 15
1-16 電子ペーパーの評価キットはありませんか?......................................................................... 15
1-17 USB Debug Adapter を使って EFM32 をプログラミングできますか? ...................................... 15
1-18 EFM32 トレーニング・ムービー(英語版) ............................................................................... 15
1-19 Simplicity Studio トレーニング・ムービー(英語版)................................................................. 15
1-20 サンプルコードの提供が可能な Ethernet コントローラを教えてください .................................... 16
1-21 製造中止(ディスコン)が怖いのですが、長期供給性は大丈夫でしょうか? .............................. 16
1-22 低消費電力 MCU の性能指標として、なぜアクティブ電流が重要なのですか? ....................... 16
1-23 低消費電力 MCU の性能指標として、なぜスリープ/スタンバイ電流が重要なのですか? ....... 17
1-24 低消費電力 MCU の性能指標として、なぜウェイクアップタイムが重要なのですか? ............... 19
1-25 低消費電力 MCU の性能指標として、なぜ処理時間(Processing time)が重要なのですか? .... 20
2 よくある質問 (ペリフェラル、メモリ、基板設計)........................................................... 21
2-1 デバッグ/プログラミングに必要な最低限のピンを教えてください .............................................. 21
2-2 フラッシュメモリを EEPROM のように使えますか?.................................................................. 21
2-3 低速オシレータをクロック(HFXO)として使用できますか? ....................................................... 21
2-4 SPI (USART Synchronous mode)の最大速度を教えてください ............................................... 22
2-5 VCMP(Voltage Comparator)の response time を教えてください .............................................. 22
2-6 I/O ピン pull-up/pull-down 抵抗値の Min/Max を教えてください ......................................... 22
ver. 1.16 2015 年 10 月
2/65
TecStar Company
2-7 フラッシュメモリのページサイズを教えてください?(最小消去単位は?) .................................... 23
2-8 未使用 GPIO のピン処理方法を教えてください ........................................................................ 23
2-9 LEUART の送信ジッタについて ............................................................................................. 23
2-10 外部割込みピンの最大数を教えてください............................................................................. 24
2-11 外部割込みピンに優先度を設定できますか? ....................................................................... 25
2-12 SPI スレーブを複数接続する方法 (SPI 信号をシェアしたい) ................................................. 25
2-13 ADC のチャネル数を教えてください ...................................................................................... 26
2-14 シリアルポートの本数を教えてください .................................................................................. 27
2-15 フラッシュメモリの書き換え回数を教えてください .................................................................... 27
2-16 Low Energy UART の特徴は何ですか? ............................................................................. 28
2-17 Low Energy USB の特徴は何ですか? ................................................................................ 28
2-18 5V I/O に対応していますか?(5V トレラント品ですか?) ....................................................... 29
2-19 リセットピン(RESETn)でリセットする場合、どのくらい間、ピンを Low にする必要があります
か?.............................................................................................................................................. 29
2-20 ペリフェラルに LCD コントローラと TFT ドライバがありますが、違いは何ですか? ................... 29
2-21 AES アクセラレータを搭載しているメリットを教えてください ..................................................... 29
2-22 GPIO に直列抵抗が内蔵されていますが、出力レベルに影響しますか? ................................ 29
2-23 デバッグピン(SWCLK/SWDIO)は、デバッグ時以外は I/O として使用できますか? ............... 30
2-24 EFM32 の内蔵メモリは、ゼロウェイト(ノーウェイト)でアクセスが可能ですか? ........................ 30
2-25 EFM32 を最大動作周波数で使用したいのですが、外付けクロックは必要ですか?.................. 30
2-26 PWM の周波数を動的に変更することはできますか? ........................................................... 30
2-27 GPIO ピンの状態(リセット中)について教えてください ............................................................ 30
2-28 BURTC の Retention Register は、リセット後に値を維持しますか? ....................................... 30
2-29 BURTC の Counter Register は、リセット後に値を維持しますか? ......................................... 31
2-30 USB_VBUS ピンの High レベルの閾値を教えてください ........................................................ 31
2-31 Backup power domain にある可変抵抗(PWRCONF_PWRRES)の抵抗値を教えてください.... 31
2-32 Backup power domain にある BU_VOUT ピンの直列抵抗(PWRCONF_VOUTSTRONG,
PWRCONF _VOUTMIDIUM, PWRCONF _VOUTWEAK)の抵抗値を教えてください .................... 32
2-33 EM1(Sleep Mode)からの復帰条件を教えてください .............................................................. 33
2-34 EM2(Deep Sleep Mode)からの復帰条件を教えてください...................................................... 34
2-35 EM3(Stop Mode)からの復帰条件を教えてください ............................................................... 35
2-36 EM4(Shutoff Mode)からの復帰条件を教えてください ........................................................... 36
2-37 EM2 からの復帰トリガに UART を使用できますか?............................................................. 37
2-38 最大定格電流値は規定されていますか? ............................................................................. 37
3 よくある質問 (ツール、ソフトウェア設計) ................................................................... 38
3-1 Simplicity Studio(開発ツール)はどこから入手できますか? .................................................... 38
3-2 サンプルコードはどこから入手できますか?............................................................................. 38
3-3 ライブラリ(API)情報はどこから入手できますか?.................................................................... 38
3-4 ユーザコードの ROM サイズを確認する方法を教えてください (Simplicity IDE)....................... 38
3-5 ソースコードの行番号を表示させる方法はありますか? (Simplicity IDE) ................................ 39
ver. 1.16 2015 年 10 月
3/65
TecStar Company
3-6 Embedded Workbench (IAR 社 IDE)のインストール方法を教えてください .............................. 40
3-7 Simplicity Studio から Embedded Workbench (IAR 社 IDE)を起動させる方法を教えてください40
3-8 コードをダウンロードせずに、レジスタ値が見る方法はありますか (Embedded Workbench) ...... 41
3-9 RAM からコードを実行する方法を教えてください ..................................................................... 42
3-10 アップデート前のバージョンに戻す方法を教えてください (Simplicity Studio) ......................... 42
3-11 SDK(emlib)バージョンを確認する方法はありませんか? (Silicon Labs IDE) ....................... 43
3-12 Build の設定に Debug と Release の 2 つがありますが、違いを教えてください (Silicon Labs IDE)
..................................................................................................................................................... 44
3-13 Silicon Labs IDE のプロジェクトを作成しましたが、MCU 型番を変更したいです。方法はありま
すか? (Silicon Labs IDE) ........................................................................................................... 44
3-14 Configurator のプロジェクトを作成しましたが、MCU 型番を変更したいです。方法はあります
か? (Configurator) .................................................................................................................... 45
3-15 バージョン管理ツールは使用可能ですか?(Simplicity Studio/Simplicity IDE) .................... 45
3-16 BSP(Starter Kit 用 API)のドキュメントが見つかりません。どこから入手できますか? ............. 45
3-17 プロジェクトを新規作成する際に、Part(使用する MCU)が変更できません。対処方法を教えて
ください。(Simplicity IDE/Configurator) ...................................................................................... 46
3 - 1 8 必 要 なウ ィン ドウ をク ロ ー ズ してしまい ました。再 度 オー プ ン する 方法 を教 えてく だ さい
(Simplicity IDE/Configurator).................................................................................................... 46
3-19 ウィンドウの配置を初期化する方法はありますか?(Simplicity IDE/Configurator) .............. 47
3-20 1 台のデバッガ(スターターキット等)で、複数の EFM32 を同時にデバッグできますか?........... 47
3-21 Configurator で行った設定を 3rd party 製 IDE で使用したいです。方法はありますか? ......... 47
3-22 プロジェクトを作成するフォルダ(workspace)の場所を変更したいです。変更方法を教えてくださ
い。(Simplicity Studio) .................................................................................................................. 48
3-23 Project Explorer で Includes を追加・削除したいです。方法を教えてください。(Simplicity IDE)49
3-24 プログラミング専用ツール(Flash Programmer 単体)はありますか?Simplicity Studio よりも手
軽なものが良いです。 .................................................................................................................... 49
3-25 emlib の更新履歴はどこで確認できますか? ........................................................................ 49
3-26 コマンドラインからプログラミングする方法はありませんか? ................................................... 50
3-27 printf()で浮動小数点に対応させる方法を教えてください(Simplicity IDE/GCC) ................... 50
3-28 リセット後、自動的に main()までコードが進んでしまいます。コードの最初からデバッグする方法
はありませんか?(Simplicity IDE) ................................................................................................ 51
3-29 カスタムしたリンカスクリプト(linker script)を使用する方法を教えてください(Simplicity IDE) .. 52
3-30 Simplicity Studio は C++に対応していますか? .................................................................... 52
3-31 C++に対応している 3rd Party 製コンパイラを紹介してください ............................................... 52
3-32 Simplicity Studio(ver.3.1)は Windows 10 上で動作しますか? .............................................. 53
3-33 Simplicity Studio(ver.3.x)は Windows XP 上で動作しますか? ............................................. 53
3-34 UART ブートローダ(Boot loader)とは何ですか? ................................................................. 53
3-35 USB/UART ブートローダ(Boot loader)とは何ですか? ....................................................... 54
3-36 Simplicity Studio の旧バージョン(ver.1.x や ver.2.x)を使用していますが、最新バージョンへの
移行は必要でしょうか? ................................................................................................................. 54
ver. 1.16 2015 年 10 月
4/65
TecStar Company
3-37 Simplicity Studio の新バージョン(ver.3.x)をインストールしたいのですが、旧バージョン(ver.1.x
や ver.2.x)はアンインストールが必要でしょうか? ............................................................................ 54
3-38 スターターキットを mbed 未対応に戻す方法はありませんか?................................................ 55
3-39 デバイスヘッダファイル内にフラッシュ/RAM サイズの定義が 2 種類ありますが、どちらを使用
すれば良いですか? ...................................................................................................................... 56
4 トラブルシューティング .............................................................................................. 57
4-1 オンライン・インストール/アップデートに失敗して困っています。対処方法を教えてください
(Simplicity Studio) ....................................................................................................................... 57
4-2 Debug アイコンをクリックするとエラーが出ます。対処方法を教えてください (Simplicity IDE) .... 57
4-3 EFM32 にアクセスできなくなりました。対処方法を教えてください。 ............................................ 58
4-4 IAR Embedded Workbench ver.6.n を使っていたのですが、ver.7.n に移行したところビルドが通ら
なくなりました。対処方法を教えてください。...................................................................................... 59
4-5 デバッグ中に"Connection with device lost. This is likely due to a loss of power or unplugged
debug adapter."というエラーが出ました。対処方法を教えてください。................................................ 59
4-6 デバッグしようとすると"No device selected."もしくは"The selected device is not compatible with
this operation."というエラーが出ました。対処方法を教えてください。 ................................................ 60
4-7 Simplicity Studio がすぐに強制終了してしまいました。対処方法を教えてください。 .................... 60
4-8 Energy Profiler で、EM2 の消費電流値がゼロになってしまいます。なぜですか?(Simplicity
Studio ver.3.1) .............................................................................................................................. 61
5 製品一覧 ................................................................................................................ 62
改版履歴 .................................................................................................................... 65
参考文献 .................................................................................................................... 65
ver. 1.16 2015 年 10 月
5/65
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.16 2015 年 10 月
6/65
TecStar Company
TSC-01002
1-2 EFM32 のラインナップを教えてください
Cortex-M0+/M3/M4F を搭載した MCU をご用意しておりますので、アプリケーションに合せてご選択
頂けます。ソフトウェア互換性、ピン互換性を意識した製品展開を行っておりますので、型番変更もスム
ーズに行って頂けます。
各型番の仕様につきましては、本資料 5 章「製品一覧」をご覧ください。
ver. 1.16 2015 年 10 月
7/65
TecStar Company
TSC-01002
1-3 EFM32 の特徴は何ですか?
EFM32 の最大の魅力は消費電力が極めて低い点です。低消費電力を実現するために様々なしかけ
が用いられています。

通常動作時の消費電力が低い

スリープ時の消費電力が低い

スリープからの復帰時間(wakeup time)が短い

使い勝手の良い、複数の低消費電力モードを用意

省電力性能にこだわったペリフェラル設計

ペリフェラル同士が連動して動作する仕組み(Peripheral Reflex System)

スリープ時でも最大 16 チャネルの監視が可能なセンサーインタフェース(LESENCE)

低消費電力設計を後押しする強力な開発環境(Simplicity Studio)
* 数値はデータシートから抜粋
ver. 1.16 2015 年 10 月
8/65
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.16 2015 年 10 月
9/65
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.16 2015 年 10 月
該当するデバイスがリストアップ
10/65
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.16 2015 年 10 月
11/65
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.16 2015 年 10 月
12/65
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.16 2015 年 10 月
13/65
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
本来組み込み開発に欠かせないものですが、スターターキットに組み込まれてい
るため、別途ご用意頂く必要はありません。
ver. 1.16 2015 年 10 月
14/65
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 システムズ社の一部製品が対応していますので、そちらをご検討ください。
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 のコミュニティサイトも合わせてご確認ください。
1-18 EFM32 トレーニング・ムービー(英語版)
Silicon Labs 社は製品に関するムービーを幾つも公開していますが、その中から EFM32 の製品理解
に役立つムービーを厳選してご紹介します。
API について (9 分)
割込みとエナジーモードについて (17 分)
Pheripheral Reflex System(RPS)について (11 分)
Low Energy Sensor Interface(LESENSE)について (18 分)
1-19 Simplicity Studio トレーニング・ムービー(英語版)
Silicon Labs 社は製品に関するムービーを幾つも公開していますが、その中から Simplicity Studio の
理解に役立つムービーを厳選してご紹介します。
Simplicity IDE について (5 分)
Configurator について (3 分)
Energy Profiler について (3 分)
Kit Manager について (3 分)
ver. 1.16 2015 年 10 月
15/65
TecStar Company
TSC-01002
1-20 サンプルコードの提供が可能な Ethernet コントローラを教えてください
以下の 2 品番に対してサンプルコードが用意されています。

ASIX 社 AX88796C ⇒AN0032 にサンプルコードが付属しています

Micrel 社 KSZ8851SNL ⇒Development Kit で採用しており BSP ライブラリを使って制御が可能
です。
1-21 製造中止(ディスコン)が怖いのですが、長期供給性は大丈夫でしょうか?
安心してご採用頂けるように、長期供給をうたっています(Longevity Commitment)。
長期供給を予定しているデバイスファミリおよび最小期間につきましては、Silicon Labs 社の Web Site
でご確認ください。
https://www.silabs.com/products/mcu/lowpower/Pages/longevity-commitment.aspx
1-22 低消費電力 MCU の性能指標として、なぜアクティブ電流が重要なのですか?
MCU の消費電力を下げたい場合、間欠動作するようにソフト設計を行うのが一般的です。間欠動作
とは、必要な処理が終わったらスリープモードに移行し、定期的に動作モードに復帰(ウェイクアップ)し
ては処理を行い、その処理が終わったら再びスリープモードに移行する、といった一連の動作です。
MCU が処理を行わない期間に、消費電力が低いスリープモードやディープスリープモード、スタンバイ
モードに留まることで、消費電力の平均値を下げることができます。
動作モード(ランモード、アクティブモード)時の消費電流がアクティブ電流と呼びます。呼称は MCU メ
ーカーごとに異なります。アクティブ電流は△△MHz 時○○mA、或いは○○mA/MHz といった単位
で定義されていて、使用する動作周波数に依存します。このスペックが優れている(消費電流が低い)
MCU を使用することで、平均消費電力を下げることができます。
では、スペックが優れている MCU を選択すれば良いのか?というと、そう単純ではありません。
使用する CPU コアによって命令効率が異なりますので、少々消費電流が高くとも、命令効率が高い
CPU コアを使用して短時間で処理を終わらせてしまった方が、トータル的には低消費電力になる場合が
あります。Cortex-M は非常に命令効率が良い CPU ですので、一般的な 8/16bit MCU に比べると、1/1.3
ver. 1.16 2015 年 10 月
16/65
TecStar Company
TSC-01002
~1/4 程度のクロックサイクルで処理が完了する傾向にあります。
またスペック規定する際の前提条件には特に決まりはありませんので、NOP を実行している際の消
費電力値を使っていたり、フラッシュをフェッチしている際の消費電流値を使っていたり、各社マチマチと
思います。正確な比較を行うには、実機で測定するのがもっとも確実です。
CPU が起きて処理をしている時間が非常に短く、それに対してスリープ/スタンバイモードに滞在し
ている期間が長時間に及ぶ場合、アクティブ電流はあまり大きな影響を与えません。しかし動作モード
の比率が高ければ、アクティブ電流は平均電流に大きな影響を与えます。
なお、周波数―電流カーブを意識すると、ベース電流(オフセット値)の違いや、周波数・電流が比例
しているかどうかも判り、製品ごとの傾向(高い周波数で使うと低消費電力性能を引き出しやすい等)が
見えてきます。EFM32 は低消費電力モードのスペックが特に優れていますので、高い周波数で使用し
て処理を短時間で終わらせ、低消費電力モードに可能な限り長く滞在する方が良い傾向にあります。
1-23 低消費電力 MCU の性能指標として、なぜスリープ/スタンバイ電流が重要なのですか?
MCU の消費電力を下げたい場合、間欠動作するようにソフト設計を行うのが一般的です。間欠動作
とは、必要な処理が終わったらスリープモードに移行し、定期的に動作モードに復帰(ウェイクアップ)し
ては処理を行い、その処理が終わったら再びスリープモードに移行する、といった一連の動作です。
MCU が処理を行わない期間に、消費電力が低いスリープモードやディープスリープモード、スタンバイ
モードに留まることで、消費電力の平均値を下げることができます。
ver. 1.16 2015 年 10 月
17/65
TecStar Company
TSC-01002
スリープモードにおける消費電流をスリープ電流、スタンバイモードにおける消費電流をスタンバイ電
流と呼びます。呼称は MCU メーカーごとに異なります。このスペックが優れている(消費電流が低い)
MCU を使用することで、平均消費電力を下げることができます。
では、スペックが優れている MCU を選択すれば良いのか?というと、そう単純ではありません。
低消費電力モードに移行した MCU にどのような動作を期待するかは、機器の設計仕様に依存しま
す。例えば、タイマを使って一定時間後に自律的にウェイクアップする。外部割込み待ち状態のまま待
機し、信号が入ってきたらウェイクアップする。或いは、センサ出力をコンパレータで監視し、閾値を超え
たらウェイクアップする、などが考えられます。
用途に応じて最適なモード選択ができるように、MCU は低消費電力モードを複数持っていることが望
ましいですが、最近は複数の低消費電力モードをサポートした製品が増えています。ただメーカーごと
に低消費電力モードの名称が異なっていますし、同一名称でもそのモードで行えることに差分がある場
合が多いので比較する場合には注意が必要です。実現したい設計仕様と照らし合わせて、最適な電力
モード同志の消費電流値を比較することが大切です。
EFM32 では EM1~EM4 の 4 段階の低消費電力モードを持っています。またペリフェラルごとに細かく
動作限界が設定されていますので、最適な消費電力モードが選択でき、消費電力を削減することがで
きます。
CPU が起きて処理をしている時間が非常に短く、それに対してスリープ/スタンバイモードに滞在し
ている期間が長時間に及ぶ場合、スリープ/スタンバイ電流は非常に重要なスペックになります。
それとは反対に、動作モードの比率が高ければ、スリープ/スタンバイ電流に比べてアクティブ電流
の方が支配的になります。
ver. 1.16 2015 年 10 月
18/65
TecStar Company
TSC-01002
1-24 低消費電力 MCU の性能指標として、なぜウェイクアップタイムが重要なのですか?
MCU の消費電力を下げたい場合、間欠動作するようにソフト設計を行うのが一般的です。間欠動作
とは、必要な処理が終わったらスリープモードに移行し、定期的に動作モードに復帰(ウェイクアップ)し
ては処理を行い、その処理が終わったら再びスリープモードに移行する、といった一連の動作です。
MCU が処理を行わない期間に、消費電力が低いスリープモードやディープスリープモード、スタンバイ
モードに留まることで、消費電力の平均値を下げることができます。
スリープやディープスリープなどの低消費電力モードから、通常動作モードに復帰するのに要する時
間のことをウェイクアップタイムといいます。この期間は MCU での処理は行えませんし、また消費電力
が低い訳でもありません。つまり電力の無駄遣いを行っている期間になりますので、この期間が短けれ
ば短い程、無駄になる電力も減り、平均電力も低くなります。
ウェイクアップする頻度が少ない場合には、ウェイクアップに要する時間の長短はあまり平均電力に
影響しません。しかし頻繁にウェイクアップを行う使用用途においては、重要なスペックになります。
ver. 1.16 2015 年 10 月
19/65
TecStar Company
TSC-01002
1-25 低消費電力 MCU の性能指標として、なぜ処理時間(Processing time)が重要なのですか?
MCU の消費電力を下げたい場合、間欠動作するようにソフト設計を行うのが一般的です。間欠動作
とは、必要な処理が終わったらスリープモードに移行し、定期的に動作モードに復帰(ウェイクアップ)し
ては処理を行い、その処理が終わったら再びスリープモードに移行する、といった一連の動作です。
MCU が処理を行わない期間に、消費電力が低いスリープモードやディープスリープモード、スタンバイ
モードに留まることで、消費電力の平均値を下げることができます。
動作モードにおける消費電力を考える場合、MCU のアクティブ電流値(縦軸)だけを比較してしまい
がちですが、時間軸(横軸)も併せて考慮しなければなりません。
つまり動作モードで処理する時間を短縮すればするほど、それに応じて平均消費電力は下がること
になりますが、どうやって処理時間を短縮するか?が鍵になります。内蔵したペリフェラルを駆使しなが
ら、如何に効率的なソフトウェア設計を行うか?も重要な要素ですが、それと同時に CPU コア自身の処
理性能も大きな比重を占めます。
ソフトウェアは C 言語で設計することが多いと思いますが、論理合成を行うと、CPU コアが持つ命令セ
ットを上手く組み合わせて行いたいことを実現してくれます。CPU コアによって搭載している命令セットは
異なりますので、同じことを実現する場合でも、命令数が少なく実現できる CPU と、命令数が多くなって
しまう CPU とが出てきます。これはそのまま処理時間の長短に直結します。
処理時間の観点で同じクラスの 8/16bit MCU と比較すると、ARM Cortex-M は非常に命令効率の良
い CPU コアです。
一方で、搭載している命令数が多ければ、その分 IC のダイサイズも大きくなり、コストが高くなりがち
です。EFM32 では、標準的な Cortex-M3、命令数を若干絞って低コスト化した Cortex-M0+、逆に浮動小
数点演算をサポートして高性能化した Cortex-M4F と、採用 CPU にバリエーションを持たせることでバラ
ンスの良い製品群を提供しています。
ver. 1.16 2015 年 10 月
20/65
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.16 2015 年 10 月
21/65
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.16 2015 年 10 月
22/65
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.16 2015 年 10 月
23/65
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.16 2015 年 10 月
24/65
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.16 2015 年 10 月
25/65
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.16 2015 年 10 月
26/65
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.16 2015 年 10 月
27/65
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.16 2015 年 10 月
28/65
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.16 2015 年 10 月
29/65
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.16 2015 年 10 月
30/65
TecStar Company
TSC-01002
2-29 BURTC の Counter Register は、リセット後に値を維持しますか?
Backup Real Time Counter の Counter Register は、リセット後に初期値(0x000000)に戻ります。
最新情報については、Silicon Labs コミュニティサイトを参照ください。
2-30 USB_VBUS ピンの High レベルの閾値を教えてください
約 4.39V が High レベルの閾値になります。(WG,GG,LG,LG,TG,HG,ZG ファミリ)
最新情報については、Silicon Labs コミュニティサイトを参照ください。
2-31 Backup power domain にある可変抵抗(PWRCONF_PWRRES)の抵抗値を教えてください
メイン・パワードメインとバックアップ・パワードメインの間に、直列抵抗が配置されており、その値は
EMU_PWRCONF レジスタの PWRRES ビットで設定変更が可能になっています。
設定と抵抗値の相関については下記表をご参照ください。
設定
抵抗値
RES0
4 kΩ
RES1
2 kΩ
RES2
1 kΩ
RES3
250 Ω
最新情報については、Silicon Labs コミュニティサイトを参照ください。
ver. 1.16 2015 年 10 月
31/65
TecStar Company
TSC-01002
2-32 Backup power domain にある BU_VOUT ピンの直列抵抗(PWRCONF_VOUTSTRONG,
PWRCONF _VOUTMIDIUM, PWRCONF _VOUTWEAK)の抵抗値を教えてください
バックアップ・パワードメインは、直列抵抗を介して BU_VOUT ピンに繋がっています。その抵抗値は
EMU_PWRCONF レジスタで設定可能になっています。
設定と抵抗値の相関については下記表をご参照ください。
レジスタ
抵抗値
PWRCONF_VOUTSTRONG
90 Ω
PWRCONF_VOUTMIDIUM
900 Ω
PWRCONF_VOUTWEAK
8.5 kΩ
最新情報については、Silicon Labs コミュニティサイトを参照ください。
ver. 1.16 2015 年 10 月
32/65
TecStar Company
TSC-01002
2-33 EM1(Sleep Mode)からの復帰条件を教えてください
EM1(Sleep Mode)から EM0(Run Mode)へ復帰するためのトリガは以下のとおりです。
下図は WG リファレンスマニュアル「10.3.3 Leaving a Low Energy Mode」からの抜粋です。他ファミリ
との差分は以下の通りですが、念のため各々のリファレンスマニュアルにてお確かめください。

GG/LG は WG と同一です。

G には、LESENSE, EM4 wakeup on supported pins, Backup RTC はありません。G の RTC,
LETIMER は、EM3 からの復帰要因として使えません。

TG には、UART, Backup RTC はありません。

HG/ZG には、UART, LESENSE, LETIMER, DAC, LCD, Backup RTC はありません。
ver. 1.16 2015 年 10 月
33/65
TecStar Company
TSC-01002
2-34 EM2(Deep Sleep Mode)からの復帰条件を教えてください
EM2(Deep Sleep Mode)から EM0(Run Mode)へ復帰するためのトリガは以下のとおりです。
下図は WG リファレンスマニュアル「10.3.3 Leaving a Low Energy Mode」からの抜粋です。他ファミリ
との差分は以下の通りですが、念のため各々のリファレンスマニュアルにてお確かめください。

GG/LG は WG と同一です。

G には、LESENSE, EM4 wakeup on supported pins, Backup RTC はありません。G の RTC,
LETIMER は、EM3 からの復帰要因として使えません。

TG には、UART, Backup RTC はありません。

HG/ZG には、UART, LESENSE, LETIMER, DAC, LCD, Backup RTC はありません。
ver. 1.16 2015 年 10 月
34/65
TecStar Company
TSC-01002
2-35 EM3(Stop Mode)からの復帰条件を教えてください
EM3(Stop Mode)から EM0(Run Mode)へ復帰するためのトリガは以下のとおりです。
下図は WG リファレンスマニュアル「10.3.3 Leaving a Low Energy Mode」からの抜粋です。他ファミリ
との差分は以下の通りですが、念のため各々のリファレンスマニュアルにてお確かめください。

GG/LG は WG と同一です。

G には、LESENSE, EM4 wakeup on supported pins, Backup RTC はありません。G の RTC,
LETIMER は、EM3 からの復帰要因として使えません。

TG には、UART, Backup RTC はありません。

HG/ZG には、UART, LESENSE, LETIMER, DAC, LCD, Backup RTC はありません。
ver. 1.16 2015 年 10 月
35/65
TecStar Company
TSC-01002
2-36 EM4(Shutoff Mode)からの復帰条件を教えてください
EM4(Shutoff Mode)から EM0(Run Mode)へ復帰するためのトリガは以下のとおりです。
下図は WG リファレンスマニュアル「10.3.3 Leaving a Low Energy Mode」からの抜粋です。他ファミリ
との差分は以下の通りですが、念のため各々のリファレンスマニュアルにてお確かめください。

GG/LG は WG と同一です。

G には、LESENSE, EM4 wakeup on supported pins, Backup RTC はありません。G の RTC,
LETIMER は、EM3 からの復帰要因として使えません。

TG には、UART, Backup RTC はありません。

HG/ZG には、UART, LESENSE, LETIMER, DAC, LCD, Backup RTC はありません。
ver. 1.16 2015 年 10 月
36/65
TecStar Company
TSC-01002
2-37 EM2 からの復帰トリガに UART を使用できますか?
EM2 から復帰するためのトリガは別トピックで紹介していますが、UART は EM2 では動作しないため
復帰トリガとして使用できません。
しかし Low Energy UART(LEUART)が代替として使用可能かもしれません。LEUART は、ボーレー
トは 9600bps に制限されますが、EM2 で動作し、また復帰トリガとしても使用できます。
2-38 最大定格電流値は規定されていますか?
データシートには記載がありませんが、ピン1本あたり 20mA、デバイス全体で 100mA の範囲でご使
用下さい。これを超えるとデバイスが故障する可能性があります。
最新情報については、Silicon Labs コミュニティサイトを参照ください。
ver. 1.16 2015 年 10 月
37/65
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.16 2015 年 10 月
38/65
TecStar Company
TSC-01002
3-5 ソースコードの行番号を表示させる方法はありますか? (Simplicity IDE)
ソースコードにカーソルを合わせ、右クリックします。メニューの一番下の Preferences を選択します。
General ⇒ Editors ⇒ Text Editors の Show line numbers にチェックを入れ、OK を押します。
行番号が表示されるようになります。
ver. 1.16 2015 年 10 月
39/65
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.16 2015 年 10 月
40/65
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.16 2015 年 10 月
41/65
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.16 2015 年 10 月
42/65
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.16 2015 年 10 月
43/65
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.16 2015 年 10 月
44/65
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.16 2015 年 10 月
45/65
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.16 2015 年 10 月
46/65
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.16 2015 年 10 月
47/65
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.16 2015 年 10 月
48/65
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.16 2015 年 10 月
49/65
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.16 2015 年 10 月
50/65
TecStar Company
TSC-01002
3-28 リセット後、自動的に main()までコードが進んでしまいます。コードの最初からデバッグする方法は
ありませんか?(Simplicity IDE)
デバッグ時にコードをダウンロードするか、或いはリセットを実施すると、main()の最初までコードが進
み、そこで break がかかります。
この機能を無効にしたい場合には、Debug アイコン(虫のアイコン)の右横の▼をクリック → Debug
Configurations → Configuration の順に移動し、Run from reset のチェックを外してください。
再度ダウンロード、或いはリセットすると、コードの先頭で break がかかるようになります。
Silicon Labs のコミュニティサイトも合わせてご確認ください。
ver. 1.16 2015 年 10 月
51/65
TecStar Company
TSC-01002
3-29 カスタムしたリンカスクリプト(linker script)を使用する方法を教えてください(Simplicity IDE)
リンカスクリプトとは、コードやデータのメモリ割り当て情報をリンカに与えるためのファイルで、サンプ
ルコードでは拡張子 ld のリンカスクリプトが含まれています。次の手順で、使用するリンカスクリプトを変
更することができます。
Project Explorer でプロジェクトを選択し右クリック → Property → C/C++ Build → Settings →
Memory Layout の順に移動してください。Use custom linker script にチェックし、使用するリンカスクリプト
を指定してください。
Silicon Labs のコミュニティサイトも合わせてご確認ください。
3-30 Simplicity Studio は C++に対応していますか?
対応しています。emlib や CMSIS などの API ライブラリは C で書かれていますが、C と C++の混在は
可能ですので、これらの API ライブラリもご使用になれます。
しかしながら、よほど注意しながら設計をしない限り、C++で書いたコードはフラッシュ/RAM の消費が
大きくなりますので、通常は EFM32 クラスのマイコンでは C が使われます。C++ではなく、C のご使用を
強くお勧めします。
3-31 C++に対応している 3rd Party 製コンパイラを紹介してください
IAR 社 および KEIL 社のコンパイラが C++に対応しています。
ver. 1.16 2015 年 10 月
52/65
TecStar Company
TSC-01002
3-32 Simplicity Studio(ver.3.1)は Windows 10 上で動作しますか?
対応 OS の一覧に Windows 10 は入っていませんが、実際には動作します。Windows 10 への正式対
応は、次バージョン以降を予定しています。
3-33 Simplicity Studio(ver.3.x)は Windows XP 上で動作しますか?
Windows XP 上でのご使用はご遠慮ください。
Simplicity Studio はネットワークを介してアップデートすることを前提とした仕様になっていますが、そ
れに対して Windows XP は Microsoft 社のサポートが終了しており、ネットワーク環境で使用することに
ついてセキュリティ的に問題があるかもしれません。
3-34 UART ブートローダ(Boot loader)とは何ですか?
MCU にプログラミングする場合、通常はデバッグインタフェース(SW)経由で行いますが、UART ブー
トローダを使うと UART 経由でのプログラミングが可能です。
USB が内蔵されていない EFM32 は、フラッシュメモリの先頭に UART ブートローダがプログラミング
された状態で出荷されます。この UART ブートローダは、UART 経由で受け取ったデータを、フラッシュメ
モリに書き込むような作りになっています。つまり、PC から UART 経由でプログラミングが行えることに
なります。
通常は、ユーザコードはフラッシュメモリの先頭(0x0000 番地)に配置しますが、ここにブートローダが
ありますので、Build 時にリンカオプションでユーザコードの配置場所にオフセットを指定しなければなり
ません。詳しい手順は AN0003(UART Bootloader)をご参照ください。
なお、フラッシュメモリにブートローダが配置されていますので、ユーザコードを配置できるサイズがそ
の分小さくなっています。UART ブートローダが不要でしたら、上書き、あるいは消去してください。
ver. 1.16 2015 年 10 月
53/65
TecStar Company
TSC-01002
3-35 USB/UART ブートローダ(Boot loader)とは何ですか?
MCU にプログラミングする場合、通常はデバッグインタフェース(SW)経由で行いますが、
USB/UART ブートローダを使うと USB もしくは UART 経由でのプログラミングが可能です。
USB が内蔵された EFM32 は、フラッシュメモリの先頭に USB/UART ブートローダがプログラミングさ
れた状態で出荷されます。この USB/UART ブートローダは、USB もしくは UART 経由で受け取ったデー
タを、フラッシュメモリに書き込むような作りになっています。つまり、PC から USB もしくは UART 経由で
プログラミングが行えることになります。
通常は、ユーザコードはフラッシュメモリの先頭(0x0000 番地)に配置しますが、ここにブートローダが
ありますので、Build 時にリンカオプションでユーザコードの配置場所にオフセットを指定しなければなり
ません。詳しい手順は AN0042(USB/UART Bootloader)をご参照ください。
なお、フラッシュメモリにブートローダが配置されていますので、ユーザコードを配置できるサイズがそ
の分小さくなっています。USB/UART ブートローダが不要でしたら、上書き、あるいは消去してください。
3-36 Simplicity Studio の旧バージョン(ver.1.x や ver.2.x)を使用していますが、最新バージョンへの移
行は必要でしょうか?
最新バージョンをご使用頂くことが望ましいです。
バージョンアップが行われる際、新デバイスの追加や機能の修正・追加だけではなく、API ライブラリ
のバグ修正なども行われています。新しいバージョンをご使用頂いた方が、より安定した環境でご設計
頂けます。
3-37 Simplicity Studio の新バージョン(ver.3.x)をインストールしたいのですが、旧バージョン(ver.1.x や
ver.2.x)はアンインストールが必要でしょうか?
旧バージョン(ver.1.x や ver.2.x)と新バージョン(ver.3.x)は共存が可能ですので、必ずしもアンインスト
ールは必要ではありません。
ですから、動作を確認しながら段階的に移行を進めて頂くことも可能です。
ver. 1.16 2015 年 10 月
54/65
TecStar Company
TSC-01002
3-38 スターターキットを mbed 未対応に戻す方法はありませんか?
スターターキットの制御用ファームウェアは更新が可能になっています。Simplicity Studio には最新フ
ァームウェアが含まれており、それに比べてスターターキット上の制御用ファームウェアのバージョンが
古い場合には、Kit Manager 起動時にアップデートが行えるようになっています。この機能を使って、
mbed 未対応のスターターキットを、mbed 対応にすることが可能です。詳しい作業手順は 別トピック を
ご参照ください。
逆に、mbed に対応したスターターキットを未対応に戻すには、最新 Simplicity Studio に含まれていな
い 古い制御用ファームウェア(添付 zip)が必要になります。添付 zip は WG, GG, LG, HG, ZG のスター
ターキット用の制御ファームウェアです。
1.Simplicity Studio を起動し、スターターキットを接続し認識させます。
2.Kit Manager を起動します。
3.Brawse..から、添付 zip の中にある S1014_common_stk_firmware_package_0v9p16b546.emz を選
択し、Install Package を実行します。書き換えには 30~60 秒程度かかります。
4.Kit Manager を再起動すると、最新の制御ファームウェアに更新するかどうか尋ねられますので、
古い制御ファームウェア(mbed 未対応)に戻ったことが判ります。
ver. 1.16 2015 年 10 月
55/65
TecStar Company
TSC-01002
3-39 デバイスヘッダファイル内にフラッシュ/RAM サイズの定義が 2 種類ありますが、どちらを使用す
れば良いですか?
デバイスヘッダファイル(efm32gg990f1024.h など)には、フラッシュ/RAM サイズの定義として以下
の 2 種類があります。

FLASH_MEM_BASE、FLASH_MEM_SIZE、RAM_MEM_BASE、RAM_MEM_SIZE

FLASH_BASE、FLASH_SIZE、FLASH_PAGE_SIZE、SRAM_BASE、SRAM_SIZE
このうち「FLASH_BASE、FLASH_SIZE、FLASH_PAGE_SIZE、SRAM_BASE、SRAM_SIZE」に、デ
バイス個々のフラッシュ/RAM サイズが反映されていますので、こちらをご使用ください。
Silicon Labs のコミュニティサイトも合わせてご確認ください。
ver. 1.16 2015 年 10 月
56/65
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.16 2015 年 10 月
57/65
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.16 2015 年 10 月
58/65
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"にリ
ネームすればエラーを回避できます。
4-5 デバッグ中に"Connection with device lost. This is likely due to a loss of power or unplugged
debug adapter."というエラーが出ました。対処方法を教えてください。
ユーザコードの記述(EM4 へ移行、HF オシレータ停止、デバッグピン無効設定)により、デバッグ経路
が遮断されてしまった可能性があります。
別トピックを参考にフラッシュの内容を消去(unlock)してください。
ver. 1.16 2015 年 10 月
59/65
TecStar Company
TSC-01002
4-6 デバッグしようとすると"No device selected."もしくは"The selected device is not compatible with
this operation."というエラーが出ました。対処方法を教えてください。
デバッグ対象の MCU が見えていないと思われます。
スターターキットをご使用の場合には下記についてご確認ください。
・電源スイッチが DEBUG になっているかご確認ください
・Kit Manager の Debug Mode が MCU になっているかご確認ください
・別トピックを参考にフラッシュの内容を消去(unlock)してみてください
スターターキット以外の場合にも、上記のポイントを参考に設定が正しいかご確認ください。
4-7 Simplicity Studio がすぐに強制終了してしまいました。対処方法を教えてください。
使用している Internet Explorer 11 のバージョンが古い場合、セキュリティパッチと Eclipse
3.7.x/3.8.x/4.2.x との間で問題が起き、結果として Simplicity Studio が強制終了してしまうことがありま
す。
2014 年 10 月 15 日の更新プログラムにて修正されていますので、Windows Update を実施してくださ
い。もし諸事情で Windows Update を実施できない場合には、セキュリティパッチ KB2977629 をアンイ
ンストールしてください。
Silicon Labs のコミュニティサイトも合わせてご確認ください。
ver. 1.16 2015 年 10 月
60/65
TecStar Company
TSC-01002
4-8 Energy Profiler で、EM2 の消費電流値がゼロになってしまいます。なぜですか?(Simplicity
Studio ver.3.1)
EM2 の消費電流は数 uA が期待されますが、ほぼゼロになる現象が確認されています。
mbed 対応したスターターキットにおいて、AEM(電力監視モジュール)の制御部で既知の不具合があ
り、その影響です。電力変化の遷移を観測する分には大きな支障はないと考えますが、定量的な測定
を行いたい場合には不都合です。
メーカーによる対応までの暫定対策として、スターターキットの制御用ファームウェアをダウングレード
し、mbed 未対応にすることで問題解消できます。
スターターキットを mbed 未対応に戻す方法については 別トピック を参照ください。
ver. 1.16 2015 年 10 月
61/65
TecStar Company
TSC-01002
5 製品一覧
Silicon Labs 社 2014 PRODUCT SELECTOR GUIDE から抜粋
ver. 1.16 2015 年 10 月
62/65
TecStar Company
TSC-01002
ver. 1.16 2015 年 10 月
63/65
TecStar Company
TSC-01002
ver. 1.16 2015 年 10 月
64/65
TecStar Company
TSC-01002
改版履歴
Version
改定日
改定内容
1.0
2014 年 07 月
・新規作成
1.13
2015 年 06 月
・マクニカオンラインで公開
1.14
2015 年 07 月
・1-13~16、2-18~26、3-11~23、4-4 追加、5 章更新
1.15
2015 年 08 月
・1-17、2-27~29、3-24~27 追加
1.16
2015 年 10 月
・1-18~25、2-30~38、3-28~39、4-5~8 追加
参考文献
 Silicon Labs 社 各種ドキュメント
 Silicon Labs 社 ナレッジベース、コミュニティフォーラム
免責、及び、ご利用上の注意
弊社より資料を入手されましたお客様におかれましては、下記の使用上の注意を
一読いただいた上でご使用ください。
1. 本資料は非売品です。許可無く転売することや無断複製することを禁じます。
2. 本資料は予告なく変更することがあります。
3. 本資料の作成には万全を期していますが、万一ご不審な点や誤り、記載漏れなどお
気づきの点がありましたら、弊社までご一報いただければ幸いです。
4. 本資料で取り扱っている回路、技術、プログラムに関して運用した結果の影響につい
ては、責任を負いかねますのであらかじめご了承ください。
5. 本資料は製品を利用する際の補助的なものとしてかかれたものです。製品をご使用
になる場合は、メーカーリリースの資料もあわせてご利用ください。
本社
〒222-8561 横浜市港北区新横浜 1-6-3 TEL 045-470-9841 FAX 045-470-9844
ver. 1.16 2015 年 10 月
65/65
TecStar Company
Fly UP