• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
 

オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!

on

  • 16,956 views

CQ出版(株)主催「ARM Cortex-M マイコン・ワークショップ2012」

CQ出版(株)主催「ARM Cortex-M マイコン・ワークショップ2012」
テクニカルセッションでのプレゼンテーション資料です.予稿集から加筆が行われています.
当日行った実機デモンストレーションの様子は含まれていません.

Statistics

Views

Total Views
16,956
Views on SlideShare
16,935
Embed Views
21

Actions

Likes
2
Downloads
0
Comments
0

2 Embeds 21

https://twitter.com 20
http://www.google.co.jp 1

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n

オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる! オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる! Presentation Transcript

  • オープンソースで構築するARMマイコン開発環境 むらなか まさき / 合同会社もなみ屋 twitter id : @monamour555 http://www.monami-ya.jp/ http://www.pizzafactory.jp/
  • 配信について• Twitter = OK! (“Tsudaり”も無問題)• UST = NG... (聴講者の肖像権に配慮)• 写真 = OK (でも肖像権に配慮お願い)
  • プレゼンシートは• 予稿から加筆してあります.• 後日公開します. (配信方法は後日お知らせします. http://www.pizzafactory.jp/ )
  • 講師 - 自己紹介• オープンソース系組込み開発の人• 元TOPPERSの中の人• GNU Debugger のメンテナの一人
  • IF誌に連載中の人
  • 組込み向けOSS• コンパイラ • GNU Compiler Collection (gcc / g++) : http://gcc.gnu.org/ • clang : http://clang.llvm.org/• アセンブラ・ローダ • GNU Binutils : http://sourceware.org/binutils/• デバッガ • GNU Debugger : http://sourceware.org/gdb/
  • 組込み向けOSS• ターゲットデバッガ • JTAG系 • OpenOCD : http://openocd.sourceforge.net/ • gdbproxy (Blackfin, MSP430, etc) • UrJTAG (旧OpenJTAG) : http://urjtag.org/ • ROMデバッガ系 • GDB stub
  • 組込み向けOSS• 統合開発環境のUI (IDE) • Eclipse : http://www.eclipse.org/ • NetBeans : http://www.netbeans.org/ • Source Navigator + Insight : http://sourcenav.sourceforge.net/ • Emacs, vim, ...
  • 組込み向けOSS• シミュレータ / エミュレータ • qemu : http://qemu.org/ • skyeye : http://www.skyeye.org/ • GDB内蔵シミュレータ : http://sourceware.org/gdb/ • gxemul : http://gxemul.sourceforge.net/
  • 使えるか/使えないか• 結論: 使える • 編集 → コンパイル → シミュレー ション → 実機デバッグ• ただし, えるのが大変 • ツール開発者がてんでばらばら.
  • 群雄割拠• Cygwin + 独自ビルド • GNUWing, ...• MinGWベース • YAGARTO, CodeSourcery G++, gcc-arm-embedded, ...• 独自移植 • exeGCC, ...
  • 自力で環境構築• 自力でも環境構築 できますよね…
  • 一日仕事です• 丁寧な解説例: http://todotani.cocolog- nifty.com/blog/2012/05/fm3openocd- ecli.html• 趣味でやるなら,一手間も愉しいもの です.• 仕事で同じ事やれますか?
  • PizzaFactory統合開発環境
  • PizzaFactory• 組込み開発者向けディストリビュー ション• 2005年頃には存在.(当時の競合は Zylin/CDT くらい?)• オープンソースを積極採用
  • 群雄割拠… それでも出荷する理由• マルチターゲットへの考慮 • 当初はTOPPERSカーネルを想定• 統一したインストール機構
  • PizzaFactory 8• (Eclipse/CDT 8) + (組込向け機能追加)• ツールチェーンバイナリをEclipse/p2の フィーチャーとして提供 • Eclipseのフィーチャー管理のみで開発 環境の構成管理が可能に
  • 変更された方針• CDTに対する独自拡張を可能な限り抑 える → CDT/DSFが安定したため• 非OSS部分のOSS化 → アイコン等も Creative Commons 化 (ただし商標権等 は保持)
  • 変更された方針• 有償版では,安定版のアップデートサ イトやそのDVD-ROMコピー,オプショ ンでプロジェクト専用のアップデート サイトを提供• 無償版の想定ユーザ : 環境が不安定に なってもよい.初物食いが好き.
  • CQ版の特徴• 無償.• アップデートサイトはCQ版専用を用意 • 無償版より安定(の可能性が高い) • 記事連動のフィーチャーのみ提供
  • CQ版のフィーチャー• Eclipse • CDT 8.0.2 • TM terminal support (w/ gnu.io.rxtx)• arm-elf-gcc, arm-elf-g++, arm-elf-gdb, newlib• OpenOCD (CQ special edition)• qemu (CQ special edition)
  • Workflowコーディングビルド OpenOCDデバッグ設定ターゲット起動デバッガ起動 デバッグ GDB
  • 30分でLチカできます.
  • < Ω ΩΩ Ω< Ω Ω そんなうまい話が… < Ω< Ω ΩΩΩΩ Ω< ΩΩ
  • やってみせましょう
  • OpenOCD
  • OpenOCDとは• [System Programming andDebugging, In- Free and Open On-Chip Boundary-Scan Testing] - http://openocd.sourceforge.net/• でも実際はオンチップデバッガかフラッシュ メモリライタかの使われ方が普通.• JTAGから始まって,最近はSWDにも対応
  • OpenOCD : 特徴• オープンソース (GPL)• Tcl 言語による柔軟性• フロントエンドとバックエンドの分離 • 幅広いJTAGアダプタに対応• GDBと連携しデバッグサーバにもなる
  • OpenOCD : 課題• JTAGアダプタの入手困難性 • パラレルポートは遠い過去の花火 • USB接続は安いものでも数千円から • FT2232 の評価ボードなら1500円 • でも一手間かかる
  • OpenOCD : 解決案• 付録基板でJTAGアダプタを作れば• アイデアとしては突飛ではない • Blackfin用純正ICEにBlackfinが入ってい る,など実績あり.
  • CDC-Link• マイコン上に実装されたJTAG-IF• 作者: 山本耕司さん• 対応マイコン基板: CQ-STARM, FRK- FM3, FRK-NXP, FRK-SH2A, FRK-RX62N, STBee/Mini, MARY, …
  • CDC-Link : 解決案• CDCクラスのUSBデバイスとして実装 • プロトコルの明確化で移植性確保 • Linux や OSX などでの動作(期待) • 転送速度の遅さは,JTAGアダプタ側 に解釈処理させることで回避
  • まとめ
  • まとめ• OSSのみでの組込み開発は,一度環境が えば問題なくできる機能/安定性.• 環境構築が大変 → PizzaFactory8 (CQ)で 解決
  • まとめ (cont’d• JTAGデバッグのためのハードウェア調 達に少し高い敷居• CDC-Link で改善
  • まとめ• 昔「予算ないからOSSでいいや」• 今「いろいろ便利だからOSSがいいや」