はじめての組込み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が持つピンとか,メモリのアクセス方式について意識する機会がないので,はじめは拒否反応があったが実際にコードを書いて動かしてみることで理解が格段に深まったし,モチベーションのベースが上がる.
今回はここまで!
今の所,順調!