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
© Copyright 2024