Cortex-M統合開発環境のご紹介と マイコン導入支援

ARMコア搭載東芝汎用マイコン無料コラボセミナー2015
Cortex-M統合開発環境のご紹介と
マイコン導入支援
IARシステムズ(株) 村井一仁
www.iar.com
IARシステムズとは?
本社がスウェーデン
グローバルに展開
顧客事例
車載電子開発
無線機器
光学機器
IAR Embedded Workbench
革新的な組込み開発環境提供をしています。
22,000+
の保守契約数
worldwide
売上構成
Europe
33%
IARのエコシステム
Americas
42%
Asia 25%
www.iar.com
ARMコア搭載東芝汎用マイコン無料コラボセミナー
2015
2
IAR Embedded Workbenchの特長
各種コアに対応した開発環境
• ARMコア:
CortexM/R/A, ARM7/9/11
強力なコンパイラとデバッガ
•
パワフル
•
•
ユーザフレンドリ
•
•
パワフルな機能で設計、デバッグ、テストを単純化
定評のある操作性
高信頼性
•
10万ライセンス以上の販売実績
世界中でサポートを提供
弊社ではマイコンごとのEmbedded Workbenchを“EWマイコン名”で呼びます。
たとえば、ARMコアの場合はEWARM
www.iar.com
ARMコア搭載東芝汎用マイコン無料コラボセミナー
2015
3
ARM用開発環境 EWARM
• チップベンダ、CPUシリーズに限らずARMコア全般をカバー
• Cortex-Mコアに関しては限定版(廉価版)もご用意
ARM7
ARM9
Cortex A
ARM10
Cortex R
ARM 11
Cortex M
最新デバイス対応はHPより確認可能です。
リストにないデバイスも対応予定の場合がございますので、お気軽にお問合せ下さい。
http://www.iar.com/jp/Products/IAR-Embedded-Workbench/ARM/
www.iar.com
ARMコア搭載東芝汎用マイコン無料コラボセミナー
2015
これまでのEWARMロードマップ
6.50.4
• Functional Safety
2011
10
2012
6
2012
11
2013
6
2013
10
2014
2
2014
5
6.30
6.40
6.50
6.60
6.70
7.10
7.20
•
•
スタック使用量解析
速度最適化
•
•
•
•
•
•
•
新エディタ
ソースブラウザ
I-jet
M0+ サポート
更なる速度最適化!
•
•
•
•
www.iar.com
I-scope
外部静的解析ツール連携
JTAGjet-trace
新ライセンスシステム
外部ツール連携
M0+ MTBトレース
•
•
•
•
•
C-RUN
マルチコアデバッグ
Neonサポート
サンプルオンデマンド
新 pragma
IARはコーディングに集中できる環境を提供します。
Copyright 2015 IAR Systems All Rights Reserved
5
ARMコア全般を広くカバー
非標準化ケース
プロジェクト/モジュールごとに異なる開発環境
プロジェクト1
ARM7
Cortex A
プロジェクト2
Cortex M
標準化ケース
プロジェクト/モジュールを横断して開発環境統一
プロジェクト1
ARM7
Cortex A
プロジェクト2
Cortex M
デバイス
開発環境
潜在的な問題点
IAR EWARM
・重複コストが発生
(開発環境の選定/立上げ/導入コスト)
・資産・ノウハウの共有が困難。
www.iar.com
EWARMによる標準化
・ARMコアが変わっても1ライセンスでカバー
重複コスト解消
・資産、ノウハウの共有性アップ
ARMコア搭載東芝汎用マイコン無料コラボセミナー
2015
強力なコンパイラ(2)
•
CoreMarkベンチマーク:http://www.coremark.org/
www.iar.com
ARMコア搭載東芝汎用マイコン無料コラボセミナー
2015
7
参考:コンパイラのメカニズム
優れたコンパイラはデバイスに関わらず高い性能を出す傾向にありま
す。
C Source
x = x - 15;
Compiler
Parser
High-Level
Optimizer
Intermediate
Code
=
–
x
x
Code Generator
15
Target Code
LDR R0,x
LDR
R1,[R0,#0]
SUB R1,#15
STR
R1,[R0,#0]
汎用
Assembler
Object Code
000100110101
101111011101
=コンパイラの中で行われるアクションの80%を占める。デバイスが変わっても共通の処理。
ターゲット依存
www.iar.com
Low-Level
Optimizer
=コンパイラの中で行われるアクションの20%を占める。デバイスごとに個別の処理。
ARMコア搭載東芝汎用マイコン無料コラボセミナー
2015
無断転載/コピー禁止
コンパイラの機能
•
MISRA Cチェッカを標準装備
※評価版を除く
MISRA Cチェックにより
移植性に問題ある個所やミ
スしやすい記述をチェック
することが可能
車載だけでなく、信頼性を求め
られるソフト開発で必須に
•
静的/動的スタック解析機能
スタックサイズを静的や
動的に解析可能で
メモリサイズの適正化が
可能
www.iar.com
ARMコア搭載東芝汎用マイコン無料コラボセミナー
2015
9
デバイス対応でプログラムが容易に
東芝とも連携しユーザ様に提供
周辺アクセス用のヘッダ
デバッガの表示用データ
アドレスを調べずにプログラム可能
各周辺ごとにレジスタ画面で表示可能
例:提供されているヘッダ
・・・
__IO_REG32_BIT(PFR0, 0x40033000,__READ_WRITE ,__port0_bits);
__IO_REG32_BIT(PCR0, 0x40033100,__READ_WRITE ,__port0_bits);
__IO_REG32_BIT(DDR0, 0x40033200,__READ_WRITE ,__port0_bits);
__IO_REG32_BIT(PDIR0, 0x40033300,__READ
,__port0_bits);
__IO_REG32_BIT(PDOR0, 0x40033400,__READ_WRITE ,__port0_bits);
__IO_REG32_BIT(PDOR1, 0x40033404,__READ_WRITE ,__port1_bits);
・・・
#include "iomb9bf506r.h"
// 汎用ポートの出力レジスタを0にセット
void foo( void ) {
PDOR0=0;
ワード単位だけでなく
PDOR1_bit.P0=0;
Bit単位アクセスも可能
}
www.iar.com
簡単に状況を
確認可能
ARMコア搭載東芝汎用マイコン無料コラボセミナー
2015
10
デバッグ機能
•
デバッガ
• デバッグ用のターミナル
標準stdio(printf/scanf)ライブラリ
• さまざまなレジスタ/メモリ表示
• さまざまなICEをサポート
• シミュレータを標準装備(割込みなども利用可能)
• C-SPYマクロによるカスタマイズ可能
• assertライブラリ、
カバレッジ解析機能
• 消費電力計測機能(一部マイコンのサポート)
•
www.iar.com
ARMコア搭載東芝汎用マイコン無料コラボセミナー
2015
11
デバッグ機能:assertやprintf/scanf
•
assert文が使用可能。
NDEBUGを定義すると無
効化されます(規格通り)。
記述
違反があるとメッセージ
が出力される
•
printf/scanfをdebugger上で利用可能
ピンポイントで値を見た
り、セットするときに有
効。
www.iar.com
ARMコア搭載東芝汎用マイコン無料コラボセミナー
2015
12
デバッグに使える機能
•
CortexMは、ITMによるソフトウェアトレースが利用可能
#include <arm_itm.h>
int main(void) {
uint32_t t=0;
arm_itm.hをインクルード
ソフトからイベントを
発生し、デバッガで
確認できる。
while (1) {/* main loop */
delay();
①チャネル1に4を出力
ITM_EVENT8(1, 4);
delay();
ITM_EVENT8_WITH_PC(2, 5);
}
return 0;
②チャネル2に5をPC付きで出力
}
①
①
①
①
①
①
www.iar.com
②
ポートに出して
計測していたものを
ITM機能で代替え可能。
②
②
②
②
ARMコア搭載東芝汎用マイコン無料コラボセミナー
2015
(注意)あまり時間間隔が狭い
とヌケが発生します。
13
カバレッジ:ソースコードとアセンブラ
•
ソースコードカバレジ
www.iar.com
•
アセンブラカバレッジ
ARMコア搭載東芝汎用マイコン無料コラボセミナー
2015
14
マクロ機能によりデバッガを拡張
•
マクロ機能で期待値確認やデータのダンプや流し込みが可能に
__var myfileEx;
execUserReset() {
init();
}
期待値チェックのマクロ記述例です。
リセット時、initを呼び出します。
exeCUserResetは予約済みセットアップマクロです。
init() {
__message "Result file read!";
myfileEx = __openFile("$PROJ_DIR$¥¥Demoresult.txt","r");
return 0;
}
リセット時にファイルをオープンするためのマクロ関数。
check_value( ) {
__var Ans;
期待値をファイルから読み込み
__var Exp;
__readFile(myfileEx,& Exp);
Ans = t;
Cプログラムの変数tを値を取得
if ( Ans == Exp ) {
__message "Result Match ", Ans, " @PC=", #PC:%x;
}
else {
__message "Result MisMatch -->C=", Ans,", Expected Value= ", Exp, " @PC=", #PC:%x;
}
}
www.iar.com
ARMコア搭載東芝汎用マイコン無料コラボセミナー
2015
判定&メッセージ出力
15
ICEとシミュレータ
シミュレータ
IAR製ICE
IJET-ARM (JTAG/SWD/SWV)
コア相当のシミュレータが標準装備
割込みなども入れることが可能
C-SPYマクロなどを利用することで、
簡単な周辺を模擬しながら実行可能。
実ボードが出来るまでに、ドライバや
RTOSのデバッグなどを実施することが
可能
IJET-Trace(JTAG/SWD/SWV/ETM)
5V対応/USB3.0高速インターフェース
32MBトレースバッファ
www.iar.com
ARMコア搭載東芝汎用マイコン無料コラボ
セミナー2015
16
PowerデバッグとI-scopeによる消費電力測定
ソフトでの消費電力分析・最適化を可能に
コードと同期
測定消費電流
R
EWARM
MCU
I-jet
USB
電源
www.iar.com
I-scope
ARMコア搭載東芝汎用マイコン無料コラボセミナー
2015
17
デバッグ支援ツール「動的解析」
C-RUN概要
www.iar.com
C-RUNとは?
統合開発環境EWARMのデバッグ機能が強化されました。
C-RUNはデバッグ効率アップを目的としたアドオンツール
です。単体テスト時の動的解析が簡単&安価に可能です。
C-RUN
従来の解析ツール
・開発プロセス
の変更が必要。
難しい&高い
www.iar.com
・開発効率は
期待ほどupしな
い・・
開発プロセス
を変えずに
デバッグ
効率アップ
簡単&安い
Copyright 2015 IAR Systems All Rights Reserved
19
C-RUNでできること
C-RUNでは統合環境EWARMから以下の項目をチェック可能です。
1.ヒープチェック
2.バウンダリングチェック
3.整数演算のオーバーフロー
4.整数変換時のデータ精度落ち
5.整数シフトでのオーバーフロー
6.ゼロでの除算
7. Switch文で何もしないケースの検出。
自動でエラーチェック
した結果を表示。
www.iar.com
Copyright 2015 IAR Systems All Rights Reserved
20
EWARMとC-RUN
EWARM
C-RUNはEWARMにアドオンするユーザのテストを支援する
動的解析ツールになります
IDEツール
ビルドツール
IAR C-SPYデバッガ
エディタ
IAR C/C++コンパイラ
シミュレータ
プロジェクトマネージャ
アセンブラ
ハードウェアドライバ
ライブラリビルダ
リンカ
Powerデバッグ
C-RUN
www.iar.com
ライブラリアン
MISRA-C
追
加
追
加
チェック
項目の指定
チェックコード
の
自動挿入
RTOSプラグイン
追
加
チェックコード
による違反検出
と
違反原因の表示
Copyright 2015 IAR Systems All Rights Reserved
21
Why CRUN?
以下のようなユーザーに最適です。
・簡単かつ20万円以下の費用で、デバッグ効率を上げたい
・コードを変えずに解析を行いたい。
・解析のためにわざわざテストケースを作成する余裕がない
・解析ツールには興味があるがコストが高すぎる
・解析ツールを所有しているが、設定が難しく使いこなせていない
・製品リリース後や保守フェーズに発生するバグリスクを減らしたい
統合開発環境EWARM
のGUI上で、チェック
を入れるだけ!
テストケース、
コード変更は不要。
www.iar.com
Copyright 2015 IAR Systems All Rights Reserved
22
C-RUNのメリット
•
C言語で見過ごされやすい不具合要因を確認できます
•
GUI上から簡単にON/OFF出来るので気軽に実施可能
•
•
コンパイラ/デバッガに完全に統合されており通常の開発
フローとして利用可能
開発の最初の工程から利用でき、利用するための工数は
ほとんどゼロです。
www.iar.com
Copyright 2015 IAR Systems All Rights Reserved
23
C-RUNに必要なもの
C-RUNに必要なもの
1. EWARM製品版ライセンス ver7.20.1以降
*サイズ制限版、機能限定版(コンパイラのみ)は除く
2. C-RUN製品版ライセンス
評価版でもC-RUNは、お試し可能です。
http://supp.iar.com/Download/SW/?item=EWARM-EVAL&lang=ja
よりEWARM評価版をダウンロード下さい。
サイズ制限(12k)がかかっておりますが、評価用に制限が足りないなどあればまずはご相談下さい。
www.iar.com
Copyright 2015 IAR Systems All Rights Reserved
24
機能安全ライセンス
www.iar.com
機能安全対応 IAR Embedded Workbench
機能安全に対応した統合開発環境を2013年4月にリリース
対応規格:IEC61508 (SIL 3), ISO26262 (ASIL D)
TUV SUDからの認証取得済
現状ARMコア向けについて取得済み。
車載電子制御、産業機械、医療のような
信頼性を求められる分野では重要。
www.iar.com
ARMコア搭載東芝汎用マイコン無料コラボセミナー
2015
26
EWARM-FSの特徴
•
TÜV SÜDからのリポートおよび認証書
•
•
SIL 3 (IEC61508) と ASIL D (ISO 26262)
固定バージョンでのサポート
• 固定したバージョンでバグフィックス
•
優先テクニカルサポート
•
セーフティガイド
•
不具合レポートの発行
www.iar.com
ARMコア搭載東芝汎用マイコン無料コラボセミナー
2015
27
セイフティガイドから
•
セイフティガイドには信頼性の高いソフトを作るために
70を超えるアドバイスが記載されています。
Advice 4.3-2: Consider writing a magic number or pattern at startup to each RAM memory location
that is not used for stack, dynamic heap memory, or instructions.
This pattern can be checked periodically during runtime by a dedicated stack check routine.
Depending on the exact requirement specified by the safety standards, this check can either be
enabled only for testing purposes or be a part of the final release build. A careful selection of the fill
pattern can also assist you in identifying stack overflows and buffer overruns manually when you view
the memory section in a debugger memory window.
スタック、ヒープ、命令以外のRAMメモリに対してマジックナンバーを入れておくことを検討くだ
さい。それにより、実行時にスタックチェックルーチンにより定期的に可能になります。安全基準で
定められる要求により、テストだけで用いるのか、または、最終リリースに組込むことになります。
パターンをうまく設定することで、デバッガのメモリウインドウで目視で確認することもできます。
www.iar.com
ARMコア搭載東芝汎用マイコン無料コラボセミナー
2015
28
使いやすい日本語対応
・ユーザインターフェース/マニュアル/ヘルプ日本語対応
すぐにわかる!
・ARMユーザー向けの日本語資料やセミナを多数用意
他ツールユーザー向け
EWARMマニュアル(無償100P)
ARM初経験者向け
開発TIPS集(無償120P)
各種無償セミナを開催
http://www.iar.com/jp/IAR/IAR-KK-Seminar/
FAQ(よくある技術的質問)
http://www.iarsys.co.jp/customer/faqs
技術情報
他ツールで
の操作
*一部英語のみ
http://www.iar.com/jp/Service-Center/Resources/
EWARMでの操作
www.iar.com
ARM特有の
実践テクニック
ARMコア搭載東芝汎用マイコン無料コラボセミナー
2015
安心のメーカ対応
・テクニカルサポート(要保守契約)
IAR日本法人
ユーザー様
メールによる質問
1営業日以内に
一次回答
メーカーサポートスタッフ
が秋葉原に常駐
・日本ユーザーに合わせた機能改善
IAR日本法人
IARスウェーデン
日本のニーズ
ユーザー様の声を
取りまとめ。
新機能/改善
製品開発
消費電流計測機能、エディタ改善など多く機能が
日本のユーザー様の声から実現しています。
www.iar.com
ARMコア搭載東芝汎用マイコン無料コラボセミナー
2015
いったんまとめると
•
強力なコンパイラ
•
半導体ベンダと連係したデバイス対応
•
強力なデバッガ
•
消費電力計測用ソリューション
•
機能安全ライセンスによる安定した開発環境
•
Cortex-A/R/Mを同じ開発環境で。
•
グローバルサポート(買いたいところで買い、サポートを受けたいところで受ける。)
www.iar.com
ARMコア搭載東芝汎用マイコン無料コラボセミナー
2015
31
IARは評価キットも用意
•
各社の評価キットをご用意
Cortex-M4F
TMPM440
Cortex-A9
TZ2002
Cortex-R4F
TMPR454
Cortex-M3
TMPM341
TMPM358
TMPM364
TMPM366
TMPM369
TMPM370
TMPM375
TMPM380
評価キットにはボードの他に以下のものが含まれます。
IAR Embedded Workbench
32KBコードサイズ制限版・30日間期間限定版
ステートマシン設計ツール
visualSTATE 20ステート限定版
ICE
サンプルプロジェクト
TMPM380を題材とした
ハンズオントレーニングを実施
168P超の導入トレーニング資料
会場にてIARスタッフへ
お声がけ頂ければ、データ提供
致します。
その他新製品を計画・開発中
www.iar.com
ARMコア搭載東芝汎用マイコン無料コラボセミナー
2015
32
東芝TXシリーズの導入支援
・ユーザインターフェース/マニュアル/ヘルプ日本語対応
すぐにわかる!
・ARMユーザー向けの日本語資料やセミナを多数用意
他ツールユーザー向け
EWARMマニュアル(無償100P)
ARM初経験者向け
開発TIPS集(無償120P)
各種無償セミナを開催
http://www.iar.com/jp/IAR/IAR-KK-Seminar/
FAQ(よくある技術的質問)
http://www.iarsys.co.jp/customer/faqs
技術情報
他ツールで
の操作
*一部英語のみ
http://www.iar.com/jp/Service-Center/Resources/
EWARMでの操作
www.iar.com
ARM特有の
実践テクニック
IAR Embedded Workbenchは2つの評価版
http://www.iar.com/jp
からダウンロードできます
ARMコア(CortexM/R/A, ARM7/9/11)については
30日間期間限定版 / コードサイズ制限版を選びダウンロードください。
インストールの不明点などはこちらをご参照ください。
http://www.iar.com/Global/KK_pages/UserGuide/LMS2_SetUpGuide_Eval.pdf
評価版は無料で使用できますので、
ぜひ一度使ってみてください。
コードサイズ制限版であればず~っと使えます。
www.iar.com
ARMコア搭載東芝汎用マイコン無料コラボセミナー
2015
34
お問い合わせなどはお気軽に
【お問合せフォーム】
www.iar.com/customer_jp
【e-mail】
[email protected]
【TEL】
03-5298-4800
IARシステムズ株式会社
東京都千代田区神田須田町
1-21-5 C-5ビル 5階
www.iar.com
ARMコア搭載東芝汎用マイコン無料コラボセミナー
2015
35