Upload
kiyoshi-ogawa
View
348
Download
0
Embed Size (px)
DESCRIPTION
TOPPERS /ssp kernel source study group
Citation preview
TOPPERS/ssp カーネルソース勉強会の進捗、成果と今後
CEST 2014/8/26
小川清 @kaizen_nagoya名古屋市工業研究所
技術士(情報技術)・工学博士
配布資料OS( 自作)を創る前に
Mini Maker Oogaki 2014 プレゼン
第 4 回 TOPPERS 活用アイデア・アプリケーション開発コンテストの案内
TOPPERS 開発者会議 2014 のご案内
小中学生対象「みんなのテクノひろば2014」。とき 2014 年 11 月 9 日 ( 日 )
ところ 名古屋市工業研究所〒 456-0058 名古屋市熱田区六番三丁目 4 番 41 号
豊橋技術科学大学中山 雅哉
情報処理学会研究会Juice 浜名湖会合就任前年に HAL でインタネットの講演会東海インタネット立ち上げ
高田広章JPNIC ドメイン名 WG
斉藤直希名古屋市工業研究所入所
興味の共通部分: ITRON, 小さい物
豊橋技術科学大学 高田広章研究室訪問宮城県の今井さんが研究生で来ていたことを紹介
宮城県が中心の TOPPERS/jsp の横展開事業に参加宮城、福島、北海道、名古屋。ヴィッツさんを紹介してもらう
OSEK の試作事業に参加OSEK の最小仕様と ITRON の最小仕様がほぼ同等TOPPERS/jsp を基に ssp 実装
TOPPERS 公募プロジェクト割り込み処理モデルに対応した ssp 実装
ソフトウェア3つの技術
プログラミング言語を創るC 言語の拡張と OBJ シンタックスチェッカ ( 電総研 )
MISRA-C 研究会
OSを創るTOPPERS/SSP (最小セット OS)
ネットワークプロトコルを創る遅延測定 ( 博士論文)
12 ステップで作る組込み OS 自作入門第 1 部 ブート・ローダーの作成
1st ステップ:開発環境の作成2nd ステップ:シリアル通信3rd ステップ:静的変数の読み書き4th ステップ:シリアル経由でファイルを転送する5th ステップ: ELF フォーマットの展開6th ステップ:もう一度, Hello World
第 2 部 OS の作成7th ステップ:割込み処理を実装する8th ステップ:スレッドを実装する9th ステップ:優先度スケジューリング10th ステップ: OS のメモリ管理11th ステップ:タスク間通信を実装する12th ステップ:外部割込みを実装する
30 日でできる ! OS 自作入門開発を始める前にPC の仕組みからアセンブラ入門までアセンブラ学習と Makefile 入門32ビットモード突入と C 言語導入C 言語と画面表示の練習構造体と文字表示と GDT/IDT初期化分割コンパイルと割り込み処理FIFO とマウス制御マウス制御と 32ビットモード切替メモリ管理重ね合わせ処理ついにウィンドウタイマ1タイマ2高解像度・キー入力... 開発を終えた後で
C 言語によるリアルタイム組込 OS 自作講座組込みシステムとソフトウェアリアルタイム OS とはリアルタイム OS が提供する機能の概要リアルタイム OS の内部スケジューラ同期・通信機能メモリ管理機能組込み処理機能時間管理機能信頼性を高める機能リアルタイム OS の設計タスク管理機能の実装タスク間通信機能の実装割込み管理機能の実装...
自作本・ TOPPERS ダウンロード挫折
難しい何からすればいいか分からない
動かす環境が造れない
コンパイルエラーが出ても分からないコンパイラの課題か OS の課題か切り分けられないデバッガが造れないデバッガのバグか判定できない
演習、セミナなどが参加できない
どんな OS があるの?PC 用 : Windows 8, Mac OS X, Linux …
携帯用: iOS, Android( 実は Linux)
自動車用 : ISO OSEK, Autosar( 実は OSEK)…TOPPERS/ATK2
家電用 : TOPPERS/ASP…
航空宇宙用: TOPPERS/HRP…
一番小さい: TOPPERS/SSP(smallest Set Profile)
https://www.toppers.jp/ssp-kernel.html
過去のカーネルソース勉強会CEST主催1回目 @ 豊橋技術科学大学
ヴィッツ、 SRA 、名古屋市工業研究所 ,,,
CEST主催2回目@名古屋大学ヴィッツ、アイシン、富士通、名古屋市工業研究所、、、
名古屋市工業研究所主催Facebook と Partake で告知1 2014/ 4/30 , 5 + 5=10
2 2014/ 5/28 , 3 + 5 = 8
3 2014/ 6/25 , 3 + 5 = 8
4 2014/ 7/23 , 3 + 3 = 6
5 2014/ 8/20 , 3 + 3 = 6
6 2014/ 9/24 ,7 2014/10/228 2014/11/269 2014/12/24
12
TOPPERS/ssp カーネルソース勉強会名古屋市工業研究所( TOPPERS特別会員)主催、参加無料
毎月第四水曜日(8月は SWEST が第四週にあるので第三週) 2014 年 4月開始( 8/20,9/24,10/22,11/26,12/24)
Google ハングアウトで遠隔参加可能(20人まで)URLは facebook, partake, twitter @kaizen_nagoya で通知
一番小さい ソースコード可読!!
機能が少ない OS の基本機能に絞って理解
1時間ごとに区切って内容を変える 好きな時間だけ参加可能〔 10時 ,11時、 14時、 15時、 16時の5限〕
実際にコンパイルしたり、ロードしたりして結果を確認ボードない人用シミュレータ環境 , GCC, MISRA-C 対応
SWEST でセッション開催予定講師:アライブビジョンソフトウェア株式会社:高橋和浩 (兵庫県明石市)
OSC2014Kansai@Kyoto
これまでの OS
どんどん機能が増えていく個人では手が出ない何かわからずに使う
これからの OS:個人で勉強できるものソースコードが読めるもの=>オープンソース機能が小さい物−>最小セット
OS を創るまで写経:短いものを写してみる
TOPPERS/ssp
開発環境のライブラリを使うSWEST16: カーネルソース勉強会
OS 自作本を読む12 ステップで作る組込み OS 自作入門30 日でできる ! OS 自作入門C 言語によるリアルタイム組込 OS 自作講座
TOPPERS/SSP の特徴ITRON 最小セットプロファイルに対応
タスクの「待ち」がない
タスクスタックが1本
割り込み処理モデルに対応
現在 TTSP未対応
04/13/2023SSP HEWを シミュレータで動かす16
5)SSP のコンソール出力のソース修正
\pdic\rx600\rx600_uart.c:/* 標準入力からの 1 文字入力処理 */extern void charput(unsigned char);/* * シリアル I/Oポートへのポーリングでの出力 */voidrx600_uart_pol_putc(char_t c, ID siopid){#if 0
const SIOPINIB *p_siopinib;-------------------省略 ----------------------------------------------------------------
sil_wrb_mem((void *)p_siopinib->tdreg, (uint8_t)c);#endif
charput(c);}
04/13/2023SSP HEWを シミュレータで動かす17
5)SSP のコンソール出力のソース修正
/* * シリアル I/Oポートへの文字送信 */bool_trx600_uart_snd_chr(SIOPCB *p_siopcb, char_t c){ bool_t ercd = false;#if 0if((sil_reb_mem((void *)p_siopcb->p_siopinib->ssrreg) & SCI_SSR_TEND_BIT) != 0){sil_wrb_mem((void *)p_siopcb->p_siopinib->tdreg, (uint8_t)c);ercd = true;}#endifcharput(c);ercd = true;
return ercd;}
04/13/2023SSP HEWを シミュレータで動かす18
5)SSP のコンソール出力のソース修正
syssvc\serial.c: serial_wri_chr(SPCB *p_spcb, char_t c)/* 標準入力からの 1 文字入力処理 */extern void charput(unsigned char);
/* * シリアルポートへの 1 文字送信 */static ER_BOOLserial_wri_chr(SPCB *p_spcb, char_t c){#if 0
bool_t buffer_full;ER ercd, rercd;/* * LF の前に CR を送信する. */
----------------略 ----------------------------------------------------------------------------------#endif
charput(c);return(false);
}
04/13/2023SSPシュリンク版19
シュリンク版の SSP の紹介
Interface誌附属 RX62Nボード用のみ (現在)
シュリンク版は、開発ツールをベースにスケジューラ / ディスパッチャ部分のみライブラリとして、利用できるようにしたものです。
シュリンク版の目的:非 RTOS 環境から RTOS 環境に移行しやすくすることを念頭においています。またカーネル学習にもよいと考えています。割り込みの管理、スタートアップおよびデバッグ機能は、開発環境側のものを利用するものとし、 SSPはスケジューラ / ディスパッチャのみのものとする。
ソース量が減り、デバッグ用のドライバも不要になるため移植性が向上すると考えます。
自作・コンパイルまとめ写経:短いものを写してみる
TOPPERS/ssp
開発環境のライブラリを使うSWEST16: カーネルソース勉強会
OS 自作本を読む12 ステップで作る組込み OS 自作入門30 日でできる ! OS 自作入門C 言語によるリアルタイム組込 OS 自作講座
自作 OS をコミケに出そうMISRA-C 対応でより強固な OS を
自作本・ TOPPERS ダウンロード挫折
難しい何からすればいいか分からない=>カーネルソースの勉強会に参加する
動かす環境が造れない今回はルネサスの開発環境に基づいて
コンパイルエラーが出ても分からないコンパイルエラーに対応
演習、セミナなどが参加できないグーグルハングアウトで1時間ごとに参加可能
成果グーグルハングアウトで遠隔参加が
これまでうまくなかった人の間で連携できた
シミュレータ環境での作業方法についての資料ができた
MISRA-C 対応の作業、方向性を検討できた
成果を mini Maker 2014@ 大垣 , SWEST2014@下呂で展開
MISRA-C向け作業C2011 国際規格のソース断片のコンパイル
C++2011国際規格のソース断片のコンパイル
MISRA-C2012 ソース断片のコンパイル
MISRA-C2012 ソース断片の TOPPERS-SSP での実行
TOPPERS-SSP の MISRA-C 対応
今後の展開参加者の倍増
他の CPU 、ボードへの移植の展開
TTSP 対応の検討
MISRA-C 対応の FIX
参加状況によっては 2015/1,2,3 も開催
OSC2014Kansai@Kyoto
開催決定!
TOPPERS プロジェクトの開発成果物使用して開発したアプリケーション成果物活用したり、 TOPPERS プロジェクトを良くするアイデア募集!
TOPPERS を利用した楽しい・独創的なアプリケーション、実用的なア
プリケーション、わかりやすいサンプルアプリケーションを募集
アプリケーション部門 活用アイデア部門
TOPPERS 開発成果物の利用者にとって有益な活用アイデアや
TOPPERS プロジェクトをより良くするアイデアを募集
応募資格:国内に在住している方(グループ、法人の場合には、その代表者)なら 誰でも ※ TOPPERS プロジェクトの会員でない方もご応募頂けます
応募期間: 2014 年 8 月 4 日(月)~ 2014 年 9 月 15 日(月)表彰 :<活用アイデア部門>
賞金: 1 万円!<アプリケーション部門> 賞金: 金賞 5 万円!! 銀賞 3 万円!! 銅賞 1万円<学生賞> 活用アイデア、アプリケーション部門に応募した学生の作品の中で 優秀なものに学生賞(賞金 1 万円)を授与しますさらに詳しい募集要項、応募規約、 FAQ 等は以下のページで公開!
http://www.toppers.jp/contest.html
CQ 出版賞も
ご用意しております
25
第 4 回 TOPPERS アプリケーション・活用アイデアコンテスト
26
OSC2014Kansai@Kyoto
第 3 回 (2013) 受賞作品活用アイデア部門:.NET Micro Framework for TOPPERS(株)デバイスドライバーズ(代表:日高 亜友)
TOPPERS 活用アイデア・アプリケーション開発コンテスト主催: NPO 法人 TOPPERS プロジェクト協賛: CQ 出版ウェブサイト: http://www.toppers.jp/Facebook ページ: http://www.facebook.com/toppersproject
たくさんのご応募お待ちしております!
TOPPERS Realtime System Sample (RSS) の狙いリアルタイム OS の使い方をサンプルとして提供して、ユーザがサンプルを雛形にプロジェクトを始められるようにしたいメリット:•リアルタイム OS 使用方法サンプルとして使用可能•RSS を雛形にプロジェクトをはじめられる•リアルタイム OS やソフトウェア初学者に提示可能な内容
動作させるためのハードの回路図もコンテストページにて公開!
.NET Micro Framework をTOPPERS 上に移植することで•リアルタイム性の確保•容易なシステム開発•豊富なミドルウェアサポートをマルチプラットフォームで実現する
アプリケーション開発部門:TOPPERS Realtime System Sample(RSS)-LPCXpresso GPS Clock 中村 晋一郎 ( 個人 )
TOPPERS Realtime System Sample (RSS)
– LPCXpresso GPS Clock
簡単な GPS時計を題材にした、 TOPPERS のサンプルプログラム
リアルタイムOS を使用する上で重要なポイント(タスク間通信、優先度)等を学べ、基礎を学ぶことができるサンプルに仕上がっている
TOPPERS のウェブサイトのコンテストページにて、ハードウェアの回路図、ソースコードも公開されています!!
27OSC2014Kansai@Kyoto
TOPPERS プロジェクト :Facebookページ
28
TOPPERS 最新情報・関連行事内容・写真掲載
TOPPERSFacebook ページ利用者からの情報掲載
2011 年 5 月試験運用開始。 20140802 現在 425 「いいね!」
OSC2014Kansai@Kyoto
どなたでも利用できます。ぜひ「いいね!」を押してください!http://facebook.com/toppersproject
29
WOCS(JAXA/IPA) 一般発表募集Workshop on Critical Software Systems(12thWOCS2 )
日時: 2015 年 1 月 20 日 (火 ) 、 21 日 (水 ) 、 22 日 (木 )
会場:東京御茶の水ソラシティカンファレンスセンター
(独)宇宙航空研究開発機構( JAXA )情報・計算工学センター
(独)情報処理推進機構 (IPA) 技術本部ソフトウェア高信頼化センター
一般講演発表日: 2014 年 1 月 21 日水曜日 (予定 )
発表時間: 30 分程度 (予定 )
【概要提出締切】 2014 年 10 月 1 日 (水 )
各界の専門家による招待講演・基調講演、 JAXA, IPA による専門セミナ (1月 20 日予定)あり。参加無料。 OSC2014Kansai@Kyoto