お問い合わせを送信いただきありがとうございます!当社のスタッフがすぐにご連絡いたします。
予約を送信いただきありがとうございます!当社のスタッフがすぐにご連絡いたします。
コース概要
1. Linuxカーネル入門
- 組み込みLinuxの概要
- Linuxカーネルのアーキテクチャ
- ユーザー空間とカーネル空間の違い
- カーネルの役割
- カーネル開発ワークフロー
- サポートされている組み込みプラットフォームの概要
2. 開発環境のセットアップ
- 開発ワークステーションの準備
- クロスコンパイルの概念
- 必要な開発ツールのインストール
- BeagleBone Black開発ボードのセットアップ
- シリアルコンソールの設定
- ターゲットデバイスのブート
3. カーネルソースの取得と理解
- Linuxカーネルソースツリー
- 安定版カーネルと長期サポート(LTS)カーネル
- カーネルソースのダウンロード
- ソースコード構造の探索
- カーネルドキュメント
- カーネルバージョンの管理
4. カーネルの構成、コンパイル、ブート
- menuconfigを用いたカーネル構成
- カーネル機能の選択
- カーネルのクロスコンパイル
- カーネルイメージのビルド
- カーネルモジュールのインストール
- ブートローダーの概要
- カスタムカーネルのブート
5. デバイスツリーの基礎
- デバイスツリーの目的
- デバイスツリーソース(DTS)ファイル
- デバイスツリーブラブ(DTB)
- ハードウェア記述の概念
- デバイスツリーファイルの変更
- デバイスツリーのビルドとデプロイ
6. Linuxカーネルモジュール
- カーネルモジュールのアーキテクチャ
- ロード可能カーネルモジュールのビルド
- モジュールのロードとアンロード
- モジュールパラメータ
- モジュール間の依存関係
- カーネルモジュールとのインタラクション
- モジュールデバッグのテクニック
7. Linuxカーネルのデバッグ
- printk()を用いたカーネルログ出力
- dmesgの使用
- 動的デバッグ
- カーネルパニックの分析
- Oopsメッセージ
- GDBを用いたデバッグ
- 基本的なパフォーマンストレーシングツール
8. 文字デバイスドライバー
- Linuxデバイスドライバーモデル
- 文字デバイス
- ドライバーの登録
- ファイル操作
- 読み取りと書き込み操作
- IOCTLインターフェース
- メモリ管理
- ドライバーのクリーンアップ
9. ドライバーの統合とハードウェアアクセス
- プラットフォームデバイスとドライバー
- GPIOプログラミング
- 割り込みの処理
- タイマーとディフェラードワーク
- ハードウェアレジスターへのアクセス
- メモリマップドI/Oの扱い
10. Gitによるバージョン管理
- Gitの基礎
- カーネルソースコードの管理
- ブランチとマージ
- パッチの作成
- 変更内容のレビュー
- カーネル開発におけるコラボレーション
11. 実践的カーネル開発ラボ
- カスタムカーネルの構成
- カーネルのビルドとデプロイ
- シンプルなカーネルモジュールの作成
- 基本的な文字デバイスドライバーの開発
- デバイスツリーファイルの変更
- BeagleBone Blackにおけるカーネル問題のデバッグ
12. ベストプラクティスとまとめ
- カーネルコーディングスタイル
- メンテナンスしやすいドライバーの作成
- 開発における一般的な落とし穴
- カーネルドキュメントのリソース
- オープンソース貢献ワークフロー
- 主要コンセプトの復習
- 質疑応答
- Linuxカーネル開発の次のステップ
要求
GNU/Linuxシステムの基本的な利用経験
14 時間
お客様の声 (2)
トレーナーの知識。彼は私のすべての質問に答えることができました。プラットフォームに関する質問も含めています。また、私たちは全員が内容を理解するまでサポートを続けてくれました。
James O'Donnell - Tennant Company
コース - Embedded Linux Kernel and Driver Development
機械翻訳
I liked the hands-on nature of it.
Maurice Egan
コース - Embedded Linux Kernel and Driver Development
機械翻訳