はじめての組込みOS (2)
さて,連載形式でおくる「はじめての組込みOS」の第二回目です.
注文していたシリアル延長ケーブルが届いたので,今回は前回STEP1と2を実施しました.
STEP 1:開発環境の作成
まずは本書のSTEP1を読み進める前に,「Macで環境構築;『12ステップで作る 組込みOS自作入門』」に記載されてる内容を最後まで進めました.
OS X 10.11 El Capitanで実施していますが,なにも詰まる所なくHello Worldを出力することができました.
打つコマンドと出力が書いてあるので,分かりやすかった.
- シリアルパスメモ
- /dev/tty.usbserial-FTZ5UUFE
その後,本書のSTEP1の内容を確認.
とりあえずコードの内容の理解よりも動かしてみるところに重きがあるstepであるため,コードの内容はとりあえずおいておいて読み進めました.
ほぼ上記のブログの内容だった.
一言
言われるがままに進めただけだったが,やはり実査に手を動かすのは楽しい!
マイコンを使ってはじめてHello worldを出しただけでそこそこの満足感を感じれた.
STEP 2:シリアル通信
前半はこの章はSTEP1で使ったコードの内容の解説がメイン.
読み進める中で気になった用語をメモ.
メモ
用語集
用語 | 説明 |
---|---|
インターフェース | データ転送速度,信号電圧などの決まり事 |
コントローラ | モジュールごとに信号の制御を行う |
レジスタ | マイクロプロセッサが内蔵している演算や実行状態を保持する記憶素子.動作が極めて高速だが容量が小さい |
データ・バス | 数値データを転送する際にCPUが持っている入出力ピン |
アドレス・バス | アドレス指定するためにCPUが持っている入出力ピン |
チップセレクト | 複数の素子を接続している場合に読み書きを行う素子を指定する信号 |
比較器(コンパレータ) | 2つの電圧の大きさを比較し,その比較結果により異なる値を出力する素子 |
メモリマップドI/O | CPUがI/Oデバイスにアクセスするための目入れをメインメモリへアクセスするための命令と同じアドレス空間で行う方式 |
SCI(Serial Communication Interface) | 名の通りシリアル通信インタフェース |
C言語
用語 | 説明 |
---|---|
volatile | 変数の操作時に最適化が抑制される |
後半はライブラリ関数を追加します.
今回はちゃんと手でコードを追記しました.(手を動かさないと楽しくないから)
で,実行してみて,問題なく動いていることを確認してして終了.
Cで関数を追加するだけなので,こちらも特に問題なくこなせた.
一言
C言語に触れるのは久しぶりだったので,syntaxがわからない部分がちょこちょこあった.
これを気にポインタの復習もやっていきたいな.
CPUが持つピンとか,メモリのアクセス方式について意識する機会がないので,はじめは拒否反応があったが実際にコードを書いて動かしてみることで理解が格段に深まったし,モチベーションのベースが上がる.
今回はここまで!
今の所,順調!
はじめての組込みOS (1)
はじめに
最近普段触れないような技術的分野について知識をつけたいなと思いまして,急に飛躍しますがOSについて勉強することにしました. (先輩のなにげない一言から決めました笑)
My PCがMacbookなのでOS Xで問題なく学習できる書物を探していたら,「12ステップで作る組込OS自作入門」という本を見つけ,購入しました.
この本を選んだ理由としては,以下の通りです.
- こちらのブログを見て思いがドンピシャだった.また初心者でも実際に手を動かして無理なく知識をつけることができるとオススメされていた.
- OS Xで試してみた内容をとてもわかりやすくまとめてくれている.
- 公式サポートページが充実
はじめは汎用OSについて勉強するつもりでしたが,この本を即買してしまったため組込みOSになりました. ちょうどハードも触りたいなと思っていたので,良しとしました.
自分がやった内容について記録しアウトプットする意味を込めて連載形式で書いていきたいと思います!
必須アイテムを集めよ
まず本の他に学習を進めるうえで必要なものを準備します.
- H8/3069Fネット対応マイコンLANボード(完成品)
- USB変シリアル変換ケーブル
- Macbookにはシリアル端子がないため.
- iBUFFALO USBシリアルケーブル(USBtypeA to D-sub9ピン)0.5m
- 超小型スイッチングアダプタ AD-D50P100
- シリアル延長ケーブル (買いそこねた!!!)
ちなみに,本とマイコンなど必要なパーツを含めた入門セットがあります.こちらを買った方が楽だし,確実だと思います.
今回やったこと
Macで環境構築;『12ステップで作る 組込みOS自作入門』を参考に,
- binutils-2.19.1のビルド
- クロスコンパイル用gcc-3.4.6のビルド
- クロスコンパイル用gcc-3.4.6へのパッチ当て
- フラッシュROM書き込みツール「kz_h8write」のビルド
をやりました. binutilsとgccにのバージョンは本に記載されているのと同じです. Hello worldまでやりたかったが,延長シリアルケーブルの購入をわすれていた(必要ないと思っていた..)のでここで中断. 秋葉原まで行く時間がなかったので,amazonでこれを注文しました.
早速出鼻をくじかれてしまったが,今回はここまで.