Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

TOPPERS on GR-PEACH高速デモ&プロジェクトの紹介@OSC2017 Kyoto

821 views

Published on

オープンソースカンファレンス2017Kyotoにて,TOPPERSプロジェクトの活動を紹介するセミナーを実施しました.GR-PEACHを用いてTOPPERSアプリケーションをビルドする高速デモも実施しました.
『IoTアプリ開発をリアルタイムOSでレベルアップしませんか?~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~』

Published in: Engineering
  • Be the first to comment

TOPPERS on GR-PEACH高速デモ&プロジェクトの紹介@OSC2017 Kyoto

  1. 1. OSC2017 Kyoto IoTアプリ開発をリアルタイムOSで レベルアップしませんか? ~高品質な組込み向けオープンソースを 開発するTOPPERSプロジェクトのご紹介~ NPO法人 TOPPERSプロジェクト 高瀬 英希 1 TOPPERS公式マスコット 「とぱめ」 2017年8月5日
  2. 2. 目次 2 1. 組込みシステムとは? 2. TOPPERSプロジェクトとは? 3. とりあえず触ってみませんか?  GR-PEACHでお手軽RTOSプログラミング 4. こんなことができます!  展示ブースのご紹介 5. まとめ:TOPPERS入会のススメ
  3. 3. 1. 組込みシステムとは? 3
  4. 4. 身の回りにある組込みシステム 4OSC2016@Nagoya FA機器 その他 自動車 航空機 マルチメディア 通信機器 家電製品 OA機器
  5. 5. 組込みシステムのオープンソース(1/2) ハードウェア設計 HW:IP(HDLソースコード) プログラミング言語 プログラム開発環境 5
  6. 6. プログラム実行環境 リアルタイムOS OS 6 組込みシステムのオープンソース(2/2)
  7. 7. 2. TOPPERSプロジェクトとは? 7
  8. 8. TOPPERSプロジェクトとは? TOPPERS = Toyohashi OPen Platform for Embedded and Real-time Systems プロジェクトの活動内容 • ITRON仕様の技術開発成果を出発点としたプロジェクト • 組込システム構築の基盤となる各種の高品質なオープンソース ソフトウェアを開発するとともに,その利用技術を提供 組込システム分野において,Linuxのように広く使われる オープンソースOSの構築を目指す! プロジェクトの推進主体 • 産学官の団体と個人が参加する産学官民連携プロジェクト • 2003年9月にNPO法人として組織化 • 以前は,名古屋大学(2002年度までは豊橋技術科学大学)高田研究室を 中心とする任意団体として活動 8
  9. 9. TOPPERSプロジェクトの狙い 決定版のITRON仕様OSの開発 • ITRON仕様が抱える過剰な重複投資と 過剰な多様性の問題を解決(または軽減) 次世代のリアルタイムOS技術の開発 • 組込みシステムの要求に合致し,ITRONの良さを 継承する次世代のリアルタイムOS技術を開発 Linuxと類似のOSをもう1つ作っても意味がない! • オープンソースソフトウェア化により産学官の力を結集 組込みシステム開発技術と開発支援ツールの開発 • 高品質な組込みシステムの効率的な開発を支援 組込みシステム技術者の育成への貢献 • オープンソースソフトウェアを用いた教育コースや 教材を開発し,それを用いた教育の場を提供 ほぼ完了 9
  10. 10. 次世代のリアルタイムカーネル技術 ! 高信頼性・安全性・リアルタイム性を追求 • TOPPERS新世代カーネル(ITRON仕様からの発展) • 次世代車載システム向けRTOS(AUTOSAR仕様をベース) • 宇宙機向けソフトウェアプラットフォーム(SpaceWire OS) 10 重点的に取り組んでいるテーマ
  11. 11. ソフトウェア部品化技術,セキュリティ向上技術 • TECS(TOPPERS組込みコンポーネントシステム) • SafeG(高信頼組込みシステム向けデュアルOSモニタ) 技術者育成のための教材開発 • ETロボコン向けプラットフォームと教材の提供 • TOPPERS/EV3RT & mruby+TECS 11 重点的に取り組んでいるテーマ 組込みソフトウェアの 設計力・実装力を競う 開発コンテスト! 組込み技術教育の機会を 提供しています。
  12. 12. ホームネットワーク技術 • ECHONET Lite仕様準拠のミドルウェア、支援ツールの作成 12 重点的に取り組んでいるテーマ HEMS ECHONET Lite ECHONET Lite Internet インターネット 無線LAN 専用回線 家庭内LAN 電力会社 スマート メーター 創エネ 畜エネ省エネ 見える化 機器が対象
  13. 13. TOPPERS/R2CA (TOPPERS RTE/RTOS Compatible with Arduino) •Arduinoハードウェア上でTOPPERS/ASPカーネルを実行 •組込みソフトウェア開発のエントリからのステップアップ用 さらに詳しく知りたい方は https://dev.toppers.jp/trac_user/contrib/wiki/rtos_arduino Qiitaにも多数の記事を公開しています http://qiita.com/tags/R2CA 13 ArduinoでもTOPPERS!
  14. 14. 3. とりあえず使ってみませんか?? 14
  15. 15. 15 とりあえず凄そうだけど どう使うの?? この世は 金と時間が全てや! 組込みボードで Hello, World!! してみたい!! 色んな処理を1つの ボードでまとめちゃいたい アプリのloopが 長くなってきた,,, どこになに書いて あったっけ,,, 組込みは 環境整えるのが メンドいやん!? ※このスライドは個人の見解です.所属ともプロジェクトとも講演者とも一切関係ありません. きっちりかっちり 時間制御したい
  16. 16. 16 そんなあなたにGR-PEACH!! Renesas Cortex-A9 RZ/A1H (400MHz) http://www.core.co.jp/product/m2m/gr-peach/#full_pin-assign
  17. 17. 特徴 • Arduino用ライブラリをGR-PEACHに移植 • Arduinoプログラミングスタイル(setup()とloop())で開発 • マルチタスク(複数loop())を使用できるよう拡張 • リアルタイムOSのアプリからもAPIを呼出し可能 • mbedライブラリに依存(HALやEthernetInterafaceが必要) 主な機能 • デジタル/アナログ入出力,外部割込み管理 • SDカード制御 • Ethernetクライアント機能 • LCD制御SPI通信 • リアルタイムクロック • ×EEPROM読書き,ソフトウェアシリアル通信, モータ制御(Servo, Stepper),Ethernetサーバ機能, USBホスト, Firmata, I2C 17 使えるArduinoライブラリ
  18. 18. 特徴 • mbed対応ボード用のライブラリ • アプリケーションのソースコード互換性を維持 • ARM社のRTOSであるRTXを使用(デフォルト) • 本環境では,RTXをTOPPRES/ASPに変更 主な機能 • HAL(Hardware Abstruction Layer) (mbed-src) • EthernetInterface (EthernetInterface) ※LwIP[GPLv2]も含む • FAT File System (FATFileSystem) ※FatFs[BSD-style License]を含む • HTTP Server (HttpServer_snapshot) • RPC(Remote Procedure Call) (mbed-rpc) • I2C (i2c) • Softwere PWM (SoftPRM) 18 使えるmbedライブラリ リファレンス:https://developer.mbed.org/handbook/Homepage
  19. 19. 19 いろいろ選べる開発環境 種類 環境 主な対象 特徴 コマンドライン GNU Compiler + OpenOCD 熟練者 従来の開発方法 ウェブコンパイラ ルネサス ウェブコンパイラ 入門者 中級者 ○お手軽 ○TOPPERSテンプレート ×デバッガなし mbed コンパイラ 入門者 ○お手軽 ×デバッガなし 統合開発環境 Eclipse 中級者 熟練者 ×設定が面倒(現状) TrueSTUDIO 入門者 中級者 熟練者 ○ビルド〜デバッグまで無償で 利用可能(WindowsとLinux) ×Macは来年以降 IDE for GR 入門者 ×TOPPERS未対応 その他 Blockly 入門者 ○ブロックプログラミング可能 ×ビルドは別環境を使用
  20. 20. 20 がじぇるねWebコンパイラを使おう! 一番お手軽!ネットがあれば開発可能!! • 解説ページ: http://gadget.renesas.com/ja/product/peach_sp5.html 「がじぇるね」で検索! ひとまずお試しもできます MyRenesas登録でプロジェクトや ファイルのクラウド保存が可能になります
  21. 21. 21 がじぇるねWebコンパイラを使おう! ブラウザでお手軽プログラミング (コンパイル環境の構築不要) すぐにRTOSを使える TOPPERSのテンプレート
  22. 22. 22 すぐに使えるサンプルアプリ blinky • mbedライブラリでRGB LEDを華麗に光らせる blinky_arduino • arduinoライブラリでRGB LEDを周期的に光らせる • リセット時にUser-SWを押しているとUSR LEDが点滅する httpsample • IoTシステム構築向けのhttpサーバ • mbedライブラリのlwIPプロトコル multitask_arduino • arduinoプログラミング風のマルチタスクアプリ • loop(), loop1(), loop2() がTOPPERSのタスクとして動く sample1 • TOPPERS伝統のサンプルアプリ • 各サービスコールの振る舞いを確認できる
  23. 23. 23 いろいろ試してみよう! アプリを自作したい • エクスプローラーの examples のどれかを 編集するか同レベルにコピペ&名前変更 • 階層構造はけっこう大事なのです ビルドしたい • build_target でビルド対象のアプリを指定する • 右側メニューで「ビルド実行」 ボード上で実行したい • GR-PEACHのPG側をmicroUSBで接続 • USBマスストレージとして認識されます • [アプリ名].bin をMBEDにコピー • RSTボタンを押す • TeraTerm等でメッセージ出力も 見られます 最初のビルドはちょっと 時間掛かります,,, ね?めっちゃ 簡単でしょ!??
  24. 24. 24 統合開発環境を使おう! TrueSTUDIO for GR-PEACH The debugger is now started. The IDE automatically switch from C/C++ Editing perspective to Debug perspective. This is seen in the picture below. Figure 17 Target is waiting for "Resume" button to be pressed The debugger automatically stops at the temporary breakpoint configured in the startup script. The user can click Execution Resume from this break point. https://github.com/ncesnagoya/asp-gr_peach_gcc-mbed A.I.Corporation による サポート&マニュアル提供 IDE上でのプログラミング &強力なデバッグ機能 ローカル環境で 開発できる
  25. 25. 25 統合開発環境を使おう! 詳細なマニュアル • https://goo.gl/qgtm7h 開発環境の準備(マニュアルP.5) • Atollic TrueSTUDIO v6.0.0以降をDL&インストール • https://atollic.com/resources/download/ • git clone or download zip from: • https://github.com/ncesnagoya/asp-gr_peach_gcc-mbed • Open OCDをインストール • https://github.com/gnu-mcu-eclipse/openocd/releases/tag/gae-0.10.0-20160110 • $ cp ${ASP_DIR}/examples/truestudio/renesas_rza1h_swd.cfg ¥ ${OpenOCD_DIR}/scripts/target/ • TOPPERSコンフィギュレータをダウンロード&コピー • http://toppers.jp/cfg-download.html • $ cp ${CFG_DIR}/cfg.exe ${ASP_DIR}/asp-1.9.2-utf8/cfg/cfg/ • お好みのターミナルソフト(puTTY, TeraTerm等)を インストール • サンプルアプリをワークスペースに インポート ちょっと大変 そうかな,,, でもこれだけで強力な 開発環境が手に入る!!
  26. 26. 26 せっかくならRTOSプログラミング!! multitask_arduinoを使う • arduino_app.h の ADDITIONAL_LOOP_NUM を増やす • loopX() を記述する • loop5() まで記述できます • loopX に対応するタスクは10ms毎に周期的に切り替わります TOPPERSの静的APIとサービスコールを使う • app.cfg にタスクや周期ハンドラ生成の静的APIを記述する • httpsample や sample1 が参考になると思います • 詳しくは,users@toppers.jp か がじぇるねフォーラムで! • https://japan.renesasrulz.com/gr_user_forum_japanese/f/toppers いそ〇ー! マルチタスクしようぜ!! コノツバメハナニヲ イッテイルンダ,,,
  27. 27. 27 ブロックプログラミング for GR-PEACH Google社ビジュアルプログラミングライブラリ Blocklyをベースに GR-PEACH用マルチloopプログラミング環境を実現 現在開発中? 小学生からできる ブロックプログラミング Arduino プログラム への変換
  28. 28. 28 開発環境の使い分け Arduino ユーザ ブロックプログラマー (小/中学生など) ウェブコンパイラ TOPPERS/RTOS ユーザ Blockly 統合開発環境 Eclipse/TrueSTUDIO コマンドライン C言語 習得不要 インストール 作業不要 高度な デバッグ
  29. 29. 第7回TOPPERS活用アイデア・アプリケーション開発コンテスト 開催決定! TOPPERS開発成果物を利用した 楽しい・独創的なアプリケーション 実用的なアプリケーション わかりやすいサンプルアプリケーション を募集します アプリケーション開発部門 活用アイデア部門 TOPPERS開発成果物の利用者にとって 有益な活用アイデアや TOPPERSプロジェクトを より良くするアイデア を募集します 応募資格:国内に在住の方(グループ、法人の場合にはその代表者)なら誰でも ※TOPPERSプロジェクトの会員でない方もご応募頂けます 応募期間:2017年6月16日(金) ~ 2017年8月31日(木) 表彰:<活用アイデア部門> 金賞 銀賞 銅賞 各1万円! <アプリケーション部門> 金賞 5万円!! 銀賞 3万円!! 銅賞 1万円! <がじぇるね IoT 部門> 金賞 3万円!! 銀賞 2万円!! 銅賞 1万円! <学生賞> 学生の応募作品の中から優秀なものに学生賞を授与! 募集要項、応募規約、FAQ 、技術講習会の案内等は以下のページで公開していきます! http://www.toppers.jp/contest.html 協賛社からの 特別賞も予定 しています 学生や組込み 初心者からベテラン エンジニアまで、 幅広い応募をお待ち しています! がじぇるね IoT 部門 がじぇるね マイコンボードと (GR-PEACH, GR-SAKURA,…) TOPPERS開発成果物を利用した アプリケーションは、 こちらの部門へ! 応募者向けの技術講習会の開催 & GR-PEACH ボードの 無償提供・貸出しもあります! 利用するマイコン、OSの 選択は自由! Arduino on TOPPERS(TOPPERS/R2CA)や TOPPERS/EV3RT を利用したアプリも こちらの開発部門へ!
  30. 30. 4. こんなことができます! 30
  31. 31. ZUMO on GR-PEACH 31 今日は無いですm(_ _)m
  32. 32. mROS:ロボット向け軽量実行環境 32 Linuxの載らない組込みマイコンでもROSが実行可能! ROSの通信ライブラリとプロトコルをサポート!!  PCのROSノードから出版された Lチカ命令を,mROSノードが購読して GR-PEACH上のLEDを光らせる  超音波センサで測定した値を GR-PEACHのmROSノードから出版し, ROSノードが購読して標準出力する ROS ノード ROS ノード オープンソースで公開されている ROSパッケージが簡単に使える! センサが変わっても対応する ノードパッケージに変えるだけ! ROS mROS
  33. 33. RaspberryPiでもTOPPERSが動く!! 33
  34. 34. ECHONET Lite通信ミドルウェア 34 一般照明 照度センサ 扇風機
  35. 35. SWORDS framework for Zynq 35 ARM+FPGA SoCを ソフトウェア志向で協調設計! リアルタイムOSから ハードウェアを管理制御する!
  36. 36. mruby on ev3rt/tecs 36 loop{ distance = $ultrasonic_sensor.distance LCD.draw("distance = #{distance} ", 0, 6) if distance < 15 then $left_motor.stop $right_motor.stop else $left_motor.power=30 $right_motor.power=30 end } rescue => e LCD.error_puts e end
  37. 37. 5. まとめ:TOPPERS入会のススメ 37
  38. 38. 成果物利用とプロジェクト参加のお誘い • 開発成果物をぜひご活用ください • TOPPERSはレポートウェアです 自由にどなたでもダウンロードして利用できます • プロジェクトの活動に参加したい方/活動を支援して 頂ける方は,ぜひプロジェクトにご入会ください TOPPERSプロジェクトは,組込みシステム開発に有用な 高品質なオープンソースソフトウェアと教材を開発し, 組込みシステム開発に新しい標準を提案しています http://www.toppers.jp/ インダストリアルコントロールの新しいスタンダードへ … High Quality Open Source 38
  39. 39. TOPPERSプロジェクト: Facebookページ 39 最新情報・ 関連行事内容・ 写真掲載 TOPPERS Facebookページ 利用者からの 情報掲載 2011年5月運用開始 2017年8月 現在「いいね!588件」 ぜひ「いいね!」を押してください! http://facebook.com/toppersproject
  40. 40. 第7回TOPPERS活用アイデア・アプリケーション開発コンテスト 開催決定! TOPPERS開発成果物を利用した 楽しい・独創的なアプリケーション 実用的なアプリケーション わかりやすいサンプルアプリケーション を募集します アプリケーション開発部門 活用アイデア部門 TOPPERS開発成果物の利用者にとって 有益な活用アイデアや TOPPERSプロジェクトを より良くするアイデア を募集します 応募資格:国内に在住の方(グループ、法人の場合にはその代表者)なら誰でも ※TOPPERSプロジェクトの会員でない方もご応募頂けます 応募期間:2017年6月16日(金) ~ 2017年8月31日(木) 表彰:<活用アイデア部門> 金賞 銀賞 銅賞 各1万円! <アプリケーション部門> 金賞 5万円!! 銀賞 3万円!! 銅賞 1万円! <がじぇるね IoT 部門> 金賞 3万円!! 銀賞 2万円!! 銅賞 1万円! <学生賞> 学生の応募作品の中から優秀なものに学生賞を授与! 募集要項、応募規約、FAQ 、技術講習会の案内等は以下のページで公開していきます! http://www.toppers.jp/contest.html 協賛社からの 特別賞も予定 しています 学生や組込み 初心者からベテラン エンジニアまで、 幅広い応募をお待ち しています! がじぇるね IoT 部門 がじぇるね マイコンボードと (GR-PEACH, GR-SAKURA,…) TOPPERS開発成果物を利用した アプリケーションは、 こちらの部門へ! 応募者向けの技術講習会の開催 & GR-PEACH ボードの 無償提供・貸出しもあります! 利用するマイコン、OSの 選択は自由! Arduino on TOPPERS(TOPPERS/R2CA)や TOPPERS/EV3RT を利用したアプリも こちらの開発部門へ! 大事なことなので もう1回!!

×