• Save
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

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

  • 18,208 views
Uploaded on

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

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

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
18,208
On Slideshare
18,184
From Embeds
24
Number of Embeds
3

Actions

Shares
Downloads
0
Comments
0
Likes
3

Embeds 24

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

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • \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

Transcript

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