コンテンツコード | DPMIF202307 |
---|---|
著者 | Interface編集部 |
発行元 | CQ出版社 |
価格(ライセンス料金) | 1,320円 |
仕様 | 本誌260ページ PDF 約30Mバイト |
発行日 | 2023/07/01 |
更新日 | 2023/06/01 |
制限 | ダウンロード制限: サービス停止まで |
---|---|
ライセンス条件 | ●本書は著作物であり,著作権法により保護されています.本書の一部,または全部を著作権者に断りなく,複製または改変し他人に譲渡すること,インターネットなどに公開することは法律により固く禁止されています.違反した場合は,民事上の制裁および刑事罰の対象となることがあります. ●本書は,CQ出版社から出版された,2023年7月1日発行の同タイトルの雑誌・書籍をPDFファイルとしたものです.電子版制作の都合上,オリジナルの書籍と比べて,一部の書体や線の太さ・種類が変更になっている場合があります.また,電子版という性格から,オリジナルの書籍と同一のプリント品質は保証できません.ご了承ください. ●予告なく,本サービス(Tech Village 書庫&販売)を一時休止または終了することがあります.サービス休止時やサービス終了後は,本コンテンツをダウンロードまたは閲覧できなくなります. |
解説
※ 本コンテンツは,2023年5月25日発売の『Interface 2023年7月号』をPDFファイルとしたものです
本誌オリジナル Try Kernel付き
特集 ラズパイPicoで1500行 ゼロから作るOS
特設:ラズパイPicoで徹底解説!マイコン&CPUメカニズム
付録基板コーナ:ラズパイPicoの端子拡張にも使える「RpiPico Debug Board」
目次
【第1部 OSとは何か,そしてどんなOSを作るのか】OSを理解するには…作ってしまおう!
プロローグ 自作する1500行OS「Try Kernel」はここがスゴイ
コラム1 PC用OSと組み込み用OSの違うところ
コラム2 OS用語集
タスクの優先度や状態遷移,スケジューリングが肝
第1章 マイコンOSの基本…リアルタイムとマルチタスク
最小構成だけど仕事で使えるレベル
第2章 今回作る1500行OS「Try Kernel」の仕様を決める
Appendix1 開発環境の構築
Appendix2 Try Kernelを拡張するときはμT-Kernelが参考になる
【第2部 ステップ1…起動処理を作る】
電源ON直後のマイコンの動作と参照するデータ
第1章 一般的なマイコンの起動処理と例外ベクタ・テーブル
メモリ・マップを見て理解する
第2章 Picoの起動処理の流れ
main関数の代わりにLEDを点滅させるまで
第3章 起動処理のプログラムを作る
デバッグ用文字出力関数を作る
第4章 起動処理のプログラムでひとまずhello,worldを表示
【第3部 ステップ2…マルチタスク機能を作る】
実行コンテキストの退避/切り替え/復元
第1章 プログラムを切り替えるディスパッチャ
待ち行列/優先度スケジューリング/タスク管理ブロック
第2章 実行すべきタスクとその順番を決めるスケジューラ
時間管理の単位チック・タイムと割り込みの設定
第3章 システム・タイマとタスクの時間待ち機能
【第4部 ステップ3…タスクの同期と通信機能を作る】
例えばセンサ制御とデータ処理…優先度をコントロールできる
第1章 主に1対1のタスク同期に使われる…起床待ちと起床
フラグの生成/待ち/セット/クリア
第2章 複数のタスク間で複雑な同期もできる…イベント・フラグ
資源の獲得と返却
第3章 複数のタスク間での資源競合を防ぐ…セマフォによる排他制御
【第5部 総仕上げ…作ったOSで動くPico向けのアプリケーションを作る】
I2CとA-Dコンバータを利用する
第1章 ハードの準備…ジェスチャ・センサ,光センサ,LCDを接続する
CPUがシリアル通信やA-Dコンバータを制御するために
第2章 デバイス・ドライバとデバイス管理機能の実装
マルチタスク・プログラムなら拡張性もリアルタイム性もバッチリ!作って合点!
第3章 ついに完成!自作OSでセンサとLCDを制御
【特設 ラズパイPicoで徹底解説!マイコン&CPUメカニズム】
デコーダ/演算器/レジスタ/パイプライン/カウンタ/ポインタ/割り込みなどの基礎用語を覚えよう
第1章 CPUの基本を学ぶ…内部構造/周辺回路/基本動作
実際のマイコンで実例を見てみる
第2章 Pico掘り下げ…RP2040内部構成/メモリ・マップ/キャッシュ/ブートローダ
メカニズム理解の仕上げ…LED点滅のプログラムをブート部分から作る
第3章 起動プログラム作り…ブート・プログラム/リンカ・スクリプト
【特集関連】
プログラムのクラッシュや情報流出,マルウェアの実行をOSレベルで防ぐ
Cortex-AのMMUで不正なメモリ書き込み/読み出し/実行を禁止する方法
【付録基板コーナ】
全ピンが引き出されているので拡張や信号観測に便利!機能が一目で分かるシルク印刷入り
ラズパイPicoの端子拡張にも使える「RPiPicoDebugBoard」
【音の信号処理】
[実験]音で音を消す アクティブ・ノイズ・キャンセリング〈第2回〉
モノラル音声を入力してその逆位相音を出力
【鉄道・航空コーナ】
Arduino/ラズパイで作るコックピット〈第8回〉
Arduinoを使ってハードウェア入出力を追加する
【OS使いこなし】
LCD表示/WAVファイル再生/ボタン検出/Bluetooth通信…複数スケッチをマルチタスクで動かす
M5Stack×FreeRTOSで作る無線接続リモート・コンソール
YoctoProjectではじめる組み込みLinux開発入門〈第9回〉
ユーザ・アプリ組み込み済みLinuxをコマンド1行で生成するレシピを作る
【RaspberryPiライフ】
ハイレゾ&I2S伝送対応![新]ラズパイPicoDACの製作〈第5回〉
I2Sデータ受信対応(4)…非同期サンプリング・レート変換のリサンプリング処理改善
【回そう!モータ】
毎号実験!自律移動ロボット〈第3回〉
狙った区画へ移動&駐車
【テクノロジー掘り下げ】
4月号特集で使ったJetsonOrinの活用術
Jetson大実験…int8量子化でモデル容量を半分にしつつ精度低下を防ぐ
マイコンとクラウド・サーバで作る自然観察カメラ〈第2回〉
撮影&アップロードのプログラム
作りながら学ぶ!プリント基板設計 超入門〈第6回〉
自作USBキーボード編(1)…回路図入力
【ニュース&レポート&お知らせ】
読者プレゼント
ほんのりInterface
作業部屋 ツール自慢〈第12回〉
マイコンやセンサの消費電流測定に便利なキット
次号予告
【別冊付録】
プログラミング学園 Python部