os development beginner with breadboard version 20161126
TRANSCRIPT
ブレッドボードを用いたOS開発ブレッドボードでOS自作入門
浜松OS自作友の会
Langur(@osarusystem)
Sat Nov 26 2016
About Me
CC-BY-SA 3.0 from Wikipedia
Name : LangurAge : 0x20Twitter : @osarusystemJobs : Embedded Software Engineer
Network Software EngineerAffiliation : Xiao Project/Hamamatsu.rb/
東海道らぐ/...etcInterestedness : OS/Primates/FreeBSD/Ruby/
...etc
モチベーション
• 幼い頃からの夢- MS-DOS, Windows, UNIX(Linux, FreeBSD, NetBSD), ITRON- TK-85で組込みに目覚める
• 遍歴- TOPPERS- 30日でできる!OS自作入門- 12ステップで作る組込みOS自作入門◦ V850に移植
• 自分用のプラットフォームが欲しい- 組込み用途- 汎用的な開発環境
こんなOSを作っています
Xiao
• Xiao(Xiao Is An Operating system)• 自作系組込みOSの一つ• KOZOSを参考に実装
- マイクロカーネルを採用• Target
- ARM Cortex-M0 ... LPC1114FN28- ARM Cortex-M0+ ... LPC810M021FN8(シングルタスク)- ARM Cortex-A7 ... BCM2836(対応中)
• 一部Rubyで自動生成
Targetの例
ブレッドボードを用いた開発
ブレッドボード
CC-BY-SA 3.0 from Wikipedia
• 電子回路の試作・実験用の基板• ハンダ付けなしで回路を構成• 部品の交換が簡単• 高周波回路には向かない• 大電流を流す場合も向かない
ブレッドボードを用いた開発
• これまでの開発事例- I2C- A/D Converter- PWM- Push Switch- LED- Timer
−→ CPUのペリフェラルを試しやすい−→ デバイスドライバを作りやすい
現在の開発環境
• GNU Binutils ... 2.23.2• GNU GCC ... 4.8.1• GDB ... 7.12• OpenOCD ... 0.9.0• lpc21isp ... 1.97
※GNUツールチェーンはアーキテクチャにarm-none-eabiを指定※エディタは主にEmacsを使用
デモ環境
宣伝
ご清聴ありがとうございました