29
TOPPERS/ssp カカカカカカカカカカ カカカ カカカカカ CEST 2014/8/26 カカカ @kaizen_nagoya カカカカカカカカカ カカカ カカカカカ カ カカカカ ()

Ssp before-making-os2

Embed Size (px)

DESCRIPTION

TOPPERS /ssp kernel source study group

Citation preview

Page 1: Ssp before-making-os2

TOPPERS/ssp カーネルソース勉強会の進捗、成果と今後

CEST 2014/8/26

小川清 @kaizen_nagoya名古屋市工業研究所

技術士(情報技術)・工学博士

Page 2: Ssp before-making-os2

配布資料OS( 自作)を創る前に

Mini Maker Oogaki 2014 プレゼン

第 4 回 TOPPERS 活用アイデア・アプリケーション開発コンテストの案内

TOPPERS 開発者会議 2014 のご案内

小中学生対象「みんなのテクノひろば2014」。とき 2014 年 11 月 9 日 ( 日 )

ところ 名古屋市工業研究所〒 456-0058 名古屋市熱田区六番三丁目 4 番 41 号

Page 3: Ssp before-making-os2

豊橋技術科学大学中山 雅哉

情報処理学会研究会Juice 浜名湖会合就任前年に HAL でインタネットの講演会東海インタネット立ち上げ

高田広章JPNIC ドメイン名 WG

Page 4: Ssp before-making-os2

斉藤直希名古屋市工業研究所入所

興味の共通部分: ITRON, 小さい物

豊橋技術科学大学 高田広章研究室訪問宮城県の今井さんが研究生で来ていたことを紹介

宮城県が中心の TOPPERS/jsp の横展開事業に参加宮城、福島、北海道、名古屋。ヴィッツさんを紹介してもらう

OSEK の試作事業に参加OSEK の最小仕様と ITRON の最小仕様がほぼ同等TOPPERS/jsp を基に ssp 実装

TOPPERS 公募プロジェクト割り込み処理モデルに対応した ssp 実装

Page 5: Ssp before-making-os2

ソフトウェア3つの技術

プログラミング言語を創るC 言語の拡張と OBJ シンタックスチェッカ ( 電総研 )

MISRA-C 研究会

OSを創るTOPPERS/SSP (最小セット OS)

ネットワークプロトコルを創る遅延測定 ( 博士論文)

Page 6: Ssp before-making-os2

12 ステップで作る組込み OS 自作入門第 1 部 ブート・ローダーの作成

1st ステップ:開発環境の作成2nd ステップ:シリアル通信3rd ステップ:静的変数の読み書き4th ステップ:シリアル経由でファイルを転送する5th ステップ: ELF フォーマットの展開6th ステップ:もう一度, Hello World

第 2 部  OS の作成7th ステップ:割込み処理を実装する8th ステップ:スレッドを実装する9th ステップ:優先度スケジューリング10th ステップ: OS のメモリ管理11th ステップ:タスク間通信を実装する12th ステップ:外部割込みを実装する

Page 7: Ssp before-making-os2

30 日でできる ! OS 自作入門開発を始める前にPC の仕組みからアセンブラ入門までアセンブラ学習と Makefile 入門32ビットモード突入と C 言語導入C 言語と画面表示の練習構造体と文字表示と GDT/IDT初期化分割コンパイルと割り込み処理FIFO とマウス制御マウス制御と 32ビットモード切替メモリ管理重ね合わせ処理ついにウィンドウタイマ1タイマ2高解像度・キー入力... 開発を終えた後で

Page 8: Ssp before-making-os2

C 言語によるリアルタイム組込 OS 自作講座組込みシステムとソフトウェアリアルタイム OS とはリアルタイム OS が提供する機能の概要リアルタイム OS の内部スケジューラ同期・通信機能メモリ管理機能組込み処理機能時間管理機能信頼性を高める機能リアルタイム OS の設計タスク管理機能の実装タスク間通信機能の実装割込み管理機能の実装...

Page 9: Ssp before-making-os2

自作本・ TOPPERS ダウンロード挫折

難しい何からすればいいか分からない

動かす環境が造れない

コンパイルエラーが出ても分からないコンパイラの課題か OS の課題か切り分けられないデバッガが造れないデバッガのバグか判定できない

演習、セミナなどが参加できない

Page 10: Ssp before-making-os2

どんな 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

Page 11: Ssp before-making-os2

過去のカーネルソース勉強会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

Page 12: Ssp before-making-os2

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

Page 13: Ssp before-making-os2

これまでの OS

どんどん機能が増えていく個人では手が出ない何かわからずに使う

これからの OS:個人で勉強できるものソースコードが読めるもの=>オープンソース機能が小さい物−>最小セット

Page 14: Ssp before-making-os2

OS を創るまで写経:短いものを写してみる

TOPPERS/ssp

開発環境のライブラリを使うSWEST16: カーネルソース勉強会

OS 自作本を読む12 ステップで作る組込み OS 自作入門30 日でできる ! OS 自作入門C 言語によるリアルタイム組込 OS 自作講座

Page 15: Ssp before-making-os2

TOPPERS/SSP の特徴ITRON 最小セットプロファイルに対応

タスクの「待ち」がない

タスクスタックが1本

割り込み処理モデルに対応

現在 TTSP未対応

Page 16: Ssp before-making-os2

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);}

Page 17: Ssp before-making-os2

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;}

Page 18: Ssp before-making-os2

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);

}

Page 19: Ssp before-making-os2

04/13/2023SSPシュリンク版19

シュリンク版の SSP の紹介

Interface誌附属 RX62Nボード用のみ (現在)

シュリンク版は、開発ツールをベースにスケジューラ / ディスパッチャ部分のみライブラリとして、利用できるようにしたものです。

シュリンク版の目的:非 RTOS 環境から RTOS 環境に移行しやすくすることを念頭においています。またカーネル学習にもよいと考えています。割り込みの管理、スタートアップおよびデバッグ機能は、開発環境側のものを利用するものとし、 SSPはスケジューラ / ディスパッチャのみのものとする。

ソース量が減り、デバッグ用のドライバも不要になるため移植性が向上すると考えます。

Page 20: Ssp before-making-os2

自作・コンパイルまとめ写経:短いものを写してみる

TOPPERS/ssp

開発環境のライブラリを使うSWEST16: カーネルソース勉強会

OS 自作本を読む12 ステップで作る組込み OS 自作入門30 日でできる ! OS 自作入門C 言語によるリアルタイム組込 OS 自作講座

自作 OS をコミケに出そうMISRA-C 対応でより強固な OS を

Page 21: Ssp before-making-os2

自作本・ TOPPERS ダウンロード挫折

難しい何からすればいいか分からない=>カーネルソースの勉強会に参加する

動かす環境が造れない今回はルネサスの開発環境に基づいて

コンパイルエラーが出ても分からないコンパイルエラーに対応

演習、セミナなどが参加できないグーグルハングアウトで1時間ごとに参加可能

Page 22: Ssp before-making-os2

成果グーグルハングアウトで遠隔参加が

これまでうまくなかった人の間で連携できた

シミュレータ環境での作業方法についての資料ができた

MISRA-C 対応の作業、方向性を検討できた

成果を mini Maker 2014@ 大垣 , SWEST2014@下呂で展開

Page 23: Ssp before-making-os2

MISRA-C向け作業C2011 国際規格のソース断片のコンパイル

C++2011国際規格のソース断片のコンパイル

MISRA-C2012 ソース断片のコンパイル

MISRA-C2012 ソース断片の TOPPERS-SSP での実行

TOPPERS-SSP の MISRA-C 対応

Page 24: Ssp before-making-os2

今後の展開参加者の倍増

他の CPU 、ボードへの移植の展開

TTSP 対応の検討

MISRA-C 対応の FIX

参加状況によっては 2015/1,2,3 も開催

Page 25: Ssp before-making-os2

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 アプリケーション・活用アイデアコンテスト

Page 26: Ssp before-making-os2

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  中村 晋一郎 ( 個人 )

Page 27: Ssp before-making-os2

TOPPERS Realtime System Sample (RSS)

– LPCXpresso GPS Clock

簡単な GPS時計を題材にした、 TOPPERS のサンプルプログラム

リアルタイムOS を使用する上で重要なポイント(タスク間通信、優先度)等を学べ、基礎を学ぶことができるサンプルに仕上がっている

TOPPERS のウェブサイトのコンテストページにて、ハードウェアの回路図、ソースコードも公開されています!!

27OSC2014Kansai@Kyoto

Page 28: Ssp before-making-os2

TOPPERS プロジェクト :Facebookページ 

28

TOPPERS 最新情報・関連行事内容・写真掲載

TOPPERSFacebook ページ利用者からの情報掲載

2011 年 5 月試験運用開始。 20140802 現在 425 「いいね!」

OSC2014Kansai@Kyoto

どなたでも利用できます。ぜひ「いいね!」を押してください!http://facebook.com/toppersproject

Page 29: Ssp before-making-os2

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