EV3RT Real- Time platform for EV3 user/ev3pf/wiki/whatsev3rt TOPPERS/HRP2カーネルをベースとしたプラット フォーム メモリ 保 護 機 能 を 提 供 CやC++で 開 発



Similar documents
EV3RTの概要.pptx

スライド 1

ERTLテンプレート

Microsoft PowerPoint _開発環境構築相談会_資料_05.pptx

1

160 アプリケーションとデータ 管 理 8.1 Microsoft Office Mobile Office Mobileでは 以 下 の4つのアプリケーションを 使 用 して Microsoft 文 書 を 作 成 編 集 閲 覧 することができます Word Mobile は Microsof

(Microsoft PowerPoint - Ver12\203o\201[\203W\203\207\203\223\203A\203b\203v\216\221\227\277.ppt)

DN6(R04).vin

電子納品チェックシステム利用マニュアル

目 次 1. Web メールのご 利 用 について Web メール 画 面 のフロー 図 Web メールへのアクセス ログイン 画 面 ログイン 後 (メール 一 覧 画 面 ) 画 面 共 通 項 目

PATENTBOY/Netバージョンアップ説明書(Ver.1.92)

目 次 1. 大 学 情 報 データベースシステムの 使 用 方 法 について EXCEL 一 括 登 録 EXCEL ダウンロード 検 索 条 件 の 指 定 プレビュー EXCEL ダウンロード(データ 抽 出 あ

DIGNO® C 404KC ユーザーガイド Chapter8

PC 移 行 は 以 下 の 流 れで 行 います 次 ページ 以 降 に 各 手 順 を 記 載 しますのでご 確 認 ください ( をクリックすると 該 当 の 説 明 にジャンプします ) 移 行 元 のPCでの 作 業 Step1 移 行 するデータをバックアップする (3ページ) [データ

PowerPoint プレゼンテーション

MATRIX TRADER(インストール版) 取扱説明書


活用ガイド-編集しよう

MetaMoJi ClassRoom/ゼミナール 授業実施ガイド

<4D F736F F D C97F195CF8AB DEC90E096BE8F912091E6312E313294C52E646F63>

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

取扱説明書

Studuinoソフトウェアのインストール

R4財務対応障害一覧

MapDK3のインストール

ユーザーズマニュアル_EveryPhone_3.接続_cc

TIPS - 棚 割 りを 開 始 するまで Liteを 起 動 し 企 業 情 報 の 追 加 を 行 い 棚 割 を 行 う 企 業 の 追 加 をして 下 さい 企 業 情 報 の 追 加 時 に エラーメッセージが 表 示 された 場 合 別 途 TIPS トラブルが 発 生 した 場 合

HTG-35U ブルーバック表示の手順書 (2014年12月改定)

KINGSOFT Office 2016 動 作 環 境 対 応 日 本 語 版 版 共 通 利 用 上 記 動 作 以 上 以 上 空 容 量 以 上 他 接 続 環 境 推 奨 必 要 2

スライド 1

目 次 1.はじめに 1-1. はじめに 2. 操 作 2-1. 概 要 2-2. 操 作 方 法 ( 調 査 依 頼 の 確 認 ) 2-3. 操 作 方 法 ( 回 答 登 録 ) 2-4. 操 作 方 法 (ワークシート 出 力 ) 2-5. 操 作 方 法 (ワークシート 取 込 ) 3.

文科省様式3-2集計オプションマニュアル

1.AmiVoice SP2 の 最 新 版 について 無 料 アップデートモジュールにつきまして 以 下 よりダウンロードできます 標 準 ( 大 ) 汎 用 音 響 モデル という 辞 書 が

同 期 を 開 始 する( 初 期 設 定 ) 2 1 Remote Link PC Sync を 起 動 する 2 1 接 続 機 器 の [PIN コード ] [ ユーザー 名 ] [ パスワード ] を 入 力 する [PIN コード ] などの 情 報 は 接 続 機 器 の 設 定 画 面

Untitled

スライド 1

Microsoft Word - MyWebPortalOffice_BackupRestore2012.doc

目 次 はじめに 3 仕 様 3 インストールの 仕 方 4 取 り 込 み 方 6 分 類 の 概 要 10 おまかせ 分 類 イメージ 10 ファイル 拡 張 子 一 覧 ( 大 分 類 ) 11 アンインストールの 仕 方 13 困 ったときには? 14 商 品 に 関 するお 問 い 合 わ

< AD82E98AC7979D89E696CA837D836A B A B817A5F E786C73>

目 次. WEB メールへのログイン.... メール 送 信 手 順.... メール 受 信 手 順 アドレス 帳 の 操 作 手 順 フォルダーの 操 作 手 順 メール 発 信 者 登 録 署 名 登 録 手 順 基 本 的 な 設 定

<4D F736F F F696E74202D E738E7B8DF48C9F8DF D836A B208F8994C52E B8CDD8AB B83685D>

事前チェック提出用現況報告書作成ツール入力マニュアル(法人用)

データコピーとは データコピーは 古 い NAS のデータを 新 しい HDL-Z シリーズに 簡 単 にコピーできます 環 境 例 本 製 品 は 以 下 の 用 途 の 際 に 最 適 です 古 い HDL-Z シリーズから 新 しい HDL-Z シリーズへのコピー 古 い HDL-Z シリーズ

インストール インストール ダウンロードしたファイルをダブルクリックすると 下 記 のファイルが 展 開 されます JigenApp.exe JigenRestart.exe JIGENctrl.dll PC 内 の 任 意 の 同 一 フォルダに 上 記 ファイル 全 てコピーします インストール

目 次 1. 積 算 内 訳 書 に 関 する 留 意 事 項 1 ページ 2. 積 算 内 訳 書 のダウンロード 3 ページ 3. 積 算 内 訳 書 の 作 成 (Excel 2003の 場 合 ) 6 ページ 4. 積 算 内 訳 書 の 作 成 (Excel 2007の 場 合 ) 13

Microsoft Word - サンプル _データベースアクセス_.doc

Thunderbird のメール/設定を別PCへ移行する方法(「MozBackup」を使って)

~ 目 次 ~ 1. 履 修 登 録 のながれ 1 2. 利 用 可 能 な 機 能 について 2 3.Web 履 修 登 録 画 面 へのログイン ログアウト 方 法 3 4. 予 備 登 録 ( 定 員 設 定 科 目 の 履 修 ) (1) 予 備 登 録 5 (2) 予 備 登 録 状 況

file:///L|/kajo/_RESOURCE/index.html

Transcription:

ETロボコン 向 けTOPPERS 活 用セミナー EV3RTの 概 要 2015 年年 6 月20 日( 土) 名 古 屋 大 学 石 川 拓拓 也 1

EV3RT Real- Time platform for EV3 http://dev.toppers.jp/trac_ user/ev3pf/wiki/whatsev3rt TOPPERS/HRP2カーネルをベースとしたプラット フォーム メモリ 保 護 機 能 を 提 供 CやC++で 開 発 が 可 能 TOPPERS OS/newlib/EV3 用のAPIを 利利 用 可 能 その 他 の 利利 点 起 動 時 間 が 早 い( 約 5 秒.LMS2012では30 秒 以 上 ) メモリ 消 費 量量 が 少 ない(LMS2012の 約 10%) ダイナミックローディング 機 能 (OSを 再 起 動 せずにアプリケー ションを 更更 新 可 能 ) ETロボコン2015での 公 式 プラットフォーム 2

EV3 用プラットフォーム LMS2012 (LinuxベースのVM) lejos (Java VM) MonoBrick (.Net framework) その 他 のOSS... 名 古 屋 大 学 により 開 発 デバドラなどを Linuxなどから 移 植 MINDSTORMS EV3 用 TOPPERSプラットフォーム EV3RT... ev3dev (Linux) TOPPERS/ASP TOPPERS/HRP2 TECS 仕 様 TECS WGにより 開 発 mrubyの 動 作 環 境 3

EV3RTのアーキテクチャ HRPカーネルの 機 能 を 利利 用し,アプリケーションを 非 特 権 モードで 動 作 させ,カーネルやデバイスドライバなどを 特 権 モードで 動 作 さ せることで,アプリケーションの 不不 具 合 を 検 出 しやすくしている 4

EV3RTのインストール 開 発 環 境 をホストPCにインストール http://dev.toppers.jp/trac_ user/ev3pf/wiki/devenv の 開 発 環 境 (クロスコンパイラ,ツール)のインストール を 参 考 に パッケージをダウンロード http://dev.toppers.jp/trac_ user/ev3pf/wiki/download から β5(ev3rt- beta5- release.zip)を 取 得 パッケージを 解 凍 $ unzip ev3rt- beta5- release.zip カーネルソースコードを 解 凍 $ cd ev3rt- beta5- release $ tar xvf hrp2.tar.xz 5

EV3RTパッケージのフォルダ 構 成 Changelog.txt リリースノート EV3RT_ CPP_ API_ Reference EV3RTのC++ APIリファレンス EV3RT_ C_ API_ Reference EV3RTのC APIリファレンス index.htmlを 開 くと 閲 覧 可 能 ngki_ spec- 170.pdf TOPPERSカーネルの 仕 様 書 (Ver.1.7.0) sdcard SDカードに 保 存 するファイルのサンプル EV3RTはカーネルやアプリケーションのイメージファイルをSD カードに 保 存 し,EV3 本 体 に 挿 入することで 使 用 hrp2 EV3RTのソースコード 本 体 HRP2カーネル デバイスドライバやミドルウェア アプリケーションのワークスペース 6

SDカードに 置 くファイルのサンプル sdcardフォルダの 中 身 uimage EV3RTのカーネル, 動 的 ローダのイメージ ファイル(EV3 起 動 時 にここから 実 行行を 始 める) ev3rt EV3RTの 使 用するファイル apps アプリケーションのロードイメージを 置 く フォルダ etc/rc.conf.ini Bluetoothデバイスの 設 定 ファイル res サンプルアプリケーション(ファイルI/O)で 使 用 しているフォルダ /ev3rt/resというパスでアクセスできる 7

Bluetoothの 設 定 ファイル ホストPCから 見見えるBluetoothデバイスの 名 前 やペアリング 時 のピンコードを 設 定 [Bluetooth] LocalName=Mindstorms EV3 PinCode=0000 rc.conf.ini デバイス 名 ピンコード 8

EV3RTのフォルダ 構 成 hrp2フォルダの 中 身 EV3RTのサンプルアプリケーションおよびアプリケー ションのワークスペースは workspace cfg はTOPPERS 新 世 代 カーネル 用コンフィギュレータ のフォルダ cfg は EV3RTでのビルド 時 に 必 要 なツール ( 静 的 APIのため) Windows 以 外 の 環 境 ではcfgのバイナリを 入れ 替 える 必 要 がある http://www.toppers.jp/cfg- download.html から 環 境 に あったバイナリをダウンロードし,cfg/cfg/ に 置 く configureはアプリケーションのmakefileをテンプレー トから 生 成 するユーティリティ HRP2カーネルのソースコードは,arch / include / extension / kernel / library / pdic / syssvc / target デバイスドライバなどは target/ev3_ gcc/ のさらに 下 9

アプリケーションのビルド EV3RTのworkspaceフォルダに 移 動 してアプリ ケーションをビルド $ cd ev3rt- beta5- release/hrp2/workspace/ スタンドアローン 形 式 のモジュールをビルドす る 場 合 は make app=<フォルダ 名 > $ make app=helloev3 動 的 ローディング 形 式 のモジュールをビルドす る 場 合 は make mod=<フォルダ 名 > $ make mod=helloev3 10

スタンドアローン 形 式 EV3RTとアプリケーションを 一つのモジュールにリンク してEV3RT 起 動 とともにアプリケーションを 実 行行 開 始 す る 形 式 EV3RTとアプリケーションが 一つのuImageファイルと なるため,SDカードのuImageファイルを 置 き 換 えるこ とでアプリケーションを 書 き 換 える SDカードのトップフォルダにuImageを 置 けばよい EV3が 起 動 すると,EV3のメモリに 書 き 込 まれている ブートローダubootが 起 動 し,SDカードにある uimageファイルをsdramに 展 開 してEV3RTを 起 動 11

動 的 ローディング 形 式 EV3RTの 提 供 する 動 的 ローダにより,アプリケーション をEV3RTの 起 動 後 にロードする 形 式 アプリケーションモジュール(デフォルト 名 はapp)と, 動 的 ローダを 含 んだEV3RTのモジュールを 別 々にビ ルドする 動 的 ローダはスタンドアローン 形 式 のEV3RTアプリ ケーションの 一 種 動 的 ロード 用のアプリケーションモジュールはSDカー ドの/ev3rt/appsフォルダに 置 く EV3RT( 動 的 ローダ) 起 動 中 にBluetooth 経 由 でアプリ ケーションモジュールを 転 送 することも 可 能 参 考 :http://dev.toppers.jp/trac_ user/ev3pf/wiki/ SampleProgram#Bluetoothまたはシリアルケーブルによる アプリケーションのロード 方 法 12

アプリケーションの 実 行行 (1a) スタンドアローン 形 式 の 場 合 はuImageをSDカードのトップ に 置 く (1b) 動 的 ロード 形 式 の 場 合 はappを,Bluetooth 経 由 もしくは 直 接 SDカードの/ev3rt/apps/に 置 く ファイル 名 をappから 変 更更 してもよい (2) EV3を 起 動 ( 中 央 ボタンを 押 す) (3a) スタンドアローン 形 式 の 場 合 は Run App と 画 面 下 部 に 表 示されているときに 中 央 ボタンを 押 すとアプリケーションが 起 動 (3b) 動 的 ロード 形 式 の 場 合 は Load App と 画 面 下 部 に 表 示され ているときに 中 央 ボタンを 押 すと 動 的 ローダが 起 動 するので SD card を 選 択 し,アプリケーションを 選 択 して 起 動 上 下 ボタンでカーソル 移 動, 中 央 ボタンで 決 定 アプリケーション 実 行行 時 にバックボタンを 長 押 しするとEV3 起 動 時 のコンソールに 戻 る EV3 起 動 時 のコンソールで 右 ボタンを 押 して Shutdown と 画 面 下 部 に 表 示されているときに 中 央 ボタンを 押 すと 電 源 を 切切 る 13

ビルドの 仕 組 み 1. workspace/makefileを 使 ってmake mod=test or app=test 2. workspace/test/makefile.incをinclude configureのパラメータを 設 定 3. workspace/objをmkdirしてobj/に 移 動 4. OBJ/でconfigureを 実 行行して,Makefileを 生 成 workspace/testをパスに 含 めて,2の 設 定 を 使 用 Makefileのテンプレートはtest/Makefile.appmod make app=xxxの 場 合 のテンプレートはMakefile.app 5. OBJ/で 4. で 生 成 したMakefileを 使 ってmake 6. スタンドアローン 版 の 場 合 は,objcopy で ELF 形 式 のモジュー ルからバイナリ 形 式 のhrp2.binを 生 成 したあと,mkimageコマ ンドでhrp2.binからuImageを 生 成 ubootがロードするためのファイル 形 式 に 変 換 7. workspace/にapp or uimageをコピー appは 動 的 ローディング 形 式 のアプリケーションモジュール 14

新 しくプロジェクトを 作 る 簡 単 な 方 法 は 既 存 のプロジェクトをコピーする 1. cp a helloev3 new_ proj 2. 不不 要 なソースコードファイルを 削 除 し, 必 要 なファイルを 追 加 注 意 :app.c / app.cpp / app.cfg はデフォルトで 必 要 とな るファイルなので 削 除 しないこと!この 名 前 を 変 える 場 合 は, workspace/makefileの"- A app"となっている 場 所 を 変 更更 す るか,new_ proj/makefile.app[mod]のapplnameを 直 書 き すればよい app.c 以 外 のソースコードを 追 加 する 場 合 は 3. でビルド 対 象 とすればよく,app.cfg 以 外 のcfgを 追 加 する 場 合 は app.cfgからincludeすればよい 3. Makefile.incでアプリケーションの 設 定 APPL_ COBJS += xxx.o # gccでビルドするファイル 群 APPL_ CXXOBJS += xxx.o # g++でビルドするファイル 群 SRCLANG := c c++ # CのみかC++ありか new_ proj/makefile.app[mod] を 直 接 書 き 換 えてもよい 15

タスクを 追 加 する(1/2) cfgファイルにタスクを 生 成 するための 静 的 APIを 追 加 CRE_ TSK(タスクID, { タスク 属 性,タスクに 渡 す 引 数, タスク の 関 数 名, 優 先 度度, スタックサイズ, スタックの 先 頭 番 地 }) タスクIDはシステムサービスのパラメータとなるマクロ 識識 別 子 タスク 属 性 は 初 期 状 態 (TA_ ACT: 起 動,TA_ NULL: 休 止) 優 先 度度 は0に 近 いほど 高い 優 先 度度 となる スタックの 先 頭 番 地 はNULLを 指 定 するとカーネルが 自 動 的 にス タック 領領 域 を 確 保 する DOMAIN(TDOM_ APP) { CRE_ TSK(MAIN_ TASK, { TA_ ACT, 0, main_ task, 8, 1024, NULL }); } タスクをカーネルに 登 録 するための 記 述 タスクを 非 特 権 モード で 動 かすための 記 述 app.cfg 16

タスクを 追 加 する(2/2) Cファイルにタスクとして 動 作 する 関 数 を 追 加 cfgファイルに 記 述 したタスク の 関 数 名 と 同 じ 名 前 void main_ task(intptr_ t exinf) {... ext_ tsk(); } タスクを 終 了了 するためのAPI 呼 出 し そのままmain_ taskからリターン してもext_ tskにジャンプする 仕 組 みになっているが, 明 示 的 に ext_ tskを 呼 び 出 すほうが 正 式 cfgファイルに 記 述 したタスク に 渡 す 引 数 がexinfに 渡 される app.c 17