コンテンツコード | DPMIF202411 |
---|---|
著者 | Interface編集部 |
発行元 | CQ出版社 |
価格(ライセンス料金) | 1,430円 |
仕様 | 本誌293ページ PDF 約37Mバイト |
発行日 | 2024/11/01 |
更新日 | 2024/09/24 |
制限 | ダウンロード制限: サービス停止まで |
---|---|
ライセンス条件 | ●本書は著作物であり,著作権法により保護されています.本書の一部,または全部を著作権者に断りなく,複製または改変し他人に譲渡すること,インターネットなどに公開することは法律により固く禁止されています.違反した場合は,民事上の制裁および刑事罰の対象となることがあります. ●本書は,CQ出版社から出版された,2024年11月1日発行の同タイトルの雑誌・書籍をPDFファイルとしたものです.電子版制作の都合上,オリジナルの書籍と比べて,一部の書体や線の太さ・種類が変更になっている場合があります.また,電子版という性格から,オリジナルの書籍と同一のプリント品質は保証できません.ご了承ください. ●予告なく,本サービス(Tech Village 書庫&販売)を一時休止または終了することがあります.サービス休止時やサービス終了後は,本コンテンツをダウンロードまたは閲覧できなくなります. |
解説
※ 本コンテンツは,2024年9月25日発売の『Interface 2024年11月号』をPDFファイルとしたものです
ラズパイPicoで割り込み/コア間通信/PicoSDK共存
ゼロから作るマルチコアOS
【特設】ゼロから学ぶOS
(特設記事は2023年7月号特集を再編集したものです)
【別冊】やり直しのためのコンピュータ技術 Vol.4 コンピュータの構成と動作
【注目】最新ラズパイ・マイコンPico 2に搭載 RP2350レポート
目次
ラズパイPicoで割り込み/コア間通信/PicoSDK共存ゼロから作るマルチコアOS
マルチコアOSを理解するためには…作ってしまおう!
プロローグ ゼロから作るマルチコアOS「Try Kernel」の概要
【第1部 OS作りの準備(1)…マルチコアを理解する】
分類/プログラム構造/OSの方式
第1章 マルチコア・マイコンの基礎知識
ハードウェア・スピンロック/インターコアFIFO/メモリ・アクセス
第2章 RP2040マイコンのマルチコア機能
2コアで起床→休止を交互に繰り返してLチカ
第3章 マルチコア・プログラムをベアメタルで実行する
Appendix1 マルチコアOSの開発環境
【第2部 OS作りの準備(2)…割り込みを理解する】
マルチコアの制御に必須!基本動作からRP2040の割り込み機能概要まで
第1章 割り込みの基礎知識
割り込みハンドラ/API/遅延ディスパッチ
第2章 OSの割り込み管理機能と実装
超音波距離センサを例にμsオーダの時間計測を試す
第3章 割り込み機能を使ってみる
【第3部 OS作り(1)…ユーザがタスクを各コアに割り振る「AMP方式」】
各コアに特定の処理を行わせる
第1章 AMP方式「Try Kernel-A」の概要と実装
リセット・ハンドラ/メイン関数/初期タスクからアプリケーション・プログラム実行開始の同期まで
第2章 OS起動処理の実装
機能検討から生成APIの設計,超音波距離センサを使った実験まで
第3章 CPUコア間メッセージの実装
【第4部 AMP方式「Try Kernel-A」で製作にトライ】
モータとセンサをリアルタイム自作OSで制御!まずはシングルコア版で実装する
第1章 マイコン・カーの自動走行プログラムの作成
タスク間通信をCPUコア間通信に置き換えてTry Kernel-Aへ移植する
第2章 自動走行プログラムをマルチコア化する
【第5部 OS作り(2)…OSがタスクを各コアに割り振る「SMP方式」】
内部構造から割り込み管理,CPUコア間の同期通信まで
第1章 SMP方式「Try Kernel-S」の概要と実装
SMP方式の要であるスケジューラ&ディスパッチャを実装する
第2章 タスク・スケジューリングの概要と実装
演算能力を必要とする処理を並列実行してマルチコア化の効果を測定する
第3章 SMP方式「Try Kernel-S」を動かしてみる
Appendix1 組み込みにおけるSMP方式のタスク・スケジューリング
【第6部 Pico SDKとTry Kernelの良いとこ取り】
USB/Wi-Fi/Bluetoothや各種ライブラリとTry Kernelを共存
第1章 Pico SDKと連携するハイブリッド・システムの構築
Pico SDKのネットワーク機能とTry Kernelを組み合わせる
第2章 製作(1)…Wi-Fi接続センサ・ノード
割り込みハンドラとCPUコア間通信で操縦コマンドを伝える
第3章 製作(2)…Wi-Fi経由で操作するリモート・マイコン・カー
【特設 ゼロから学ぶOS】
いきなりマルチコアOS はちょっと…のビギナ向け
プロローグ 1500行OS「Try Kernel」でOSの基礎を学ぶ
【第1部 OSとは何か,そしてどんなOSを作るのか】
タスクの優先度や状態遷移,スケジューリングが肝
第1章 マイコンOSの基本…リアルタイムとマルチタスク
最小構成だけど仕事で使えるレベル
第2章 1500行OS「Try Kernel」の仕様を決める
【第2部 ステップ1…起動処理】
main関数代わりにLEDを点滅させるまで
第1章 起動処理のプログラムを作る
【第3部 ステップ2…マルチタスク機能】
実行コンテキストの退避/切り替え/復元
第1章 プログラムを切り替えるディスパッチャ
待ち行列/優先度スケジューリング/タスク管理ブロック
第2章 実行すべきタスクとその順番を決めるスケジューラ
時間管理の単位チック・タイムと割り込みの設定
第3章 システム・タイマとタスクの時間待ち機能
【第4部 ステップ3…タスクの同期と通信機能】
例えばセンサ制御とデータ処理…優先度をコントロールできる
第1章 主に1対1のタスク同期に使われる…起床待ちと起床
フラグの生成/待ち/セット/クリア
第2章 複数のタスク間で複雑な同期もできる…イベント・フラグ
資源の獲得と返却
第3章 複数のタスク間での資源競合を防ぐ…セマフォによる排他制御
Try Kernel 2.0の新機能
第4章 タスク間でデータ通信を行うメッセージ・バッファの実装
【Raspberry Piライフ】
ArmとRISC-Vの両アーキテクチャ対応!データシートからハードウェアとセキュリティの進化を読み解く
最新ラズパイ・マイコンPico 2に搭載 RP2350レポート
IoTシステム構築塾〈第4回〉
電源断対策/障害復旧/セキュリティ…ゲートウェイのセットアップと疎通確認
【テクノロジー掘り下げ】
エンジニア数学〈第5回〉
音の信号処理(5)…「適応ノイズ・キャンセリング」
Pythonで体験カルマン・フィルタ入門〈第2回〉
カルマン・フィルタで1次元運動を推定(1)
【AI画像処理】
画像生成AIの新機能を試す〈第2回〉
追加学習モデルを既存モデルと並行して動かす「LoRA」 湊 雄一郎
ラズパイでエッジAI〈第2回〉
PoseNet/MoveNetを使った人物姿勢推定
【画像評価】
ラズパイで体験!CMOSイメージセンサ性能の測定評価〈第9回〉
PRNUその1…測定法
【回そう!モータ】
毎号実験!自律移動ロボット〈第10回〉
左右のかじ取りをマイコンで自動化し目的地に向かう
【ニュース&レポート&お知らせ】
台風にも負けず今年も開催! 組み込み技術者向け
ワークショップSWESTに潜入
ほんのりInterface
Dojo通信〈第3回〉
光(山口県)編
【別冊付録】
やりなおしのためのコンピュータ技術 Vol.4