Embedded Linux Development (LFD450)

このコースでは、組み込みLinux製品を開発するための段階的なフレームワークを提供します。 Linuxカーネルとユーザー空間のライブラリとユーティリティを、家電、軍事、医療、産業、および自動車産業で使用されている環境など、特定の組み込み環境に適合させる方法を学びます。

$3250 申し込む 見積もりを取得

コースの概要

このコースでは、組み込みLinuxデバイスの開発に必要なツールとテクニックを学びます。

もっと見る

このコースでは次のことを学びます。

  • Linuxカーネルアーキテクチャ。カスタムの組み込みプラットフォームにカーネルを適合させることに関連する重要なポイントを強調しています。
  • プロジェクトの制約を満たすためにシステムを適切なサイズにするための手法
  • 組み込みプロジェクトのクロス開発環境を構築するために利用できる多数のリソース。
  • 組み込みシステムの目標と制約を満たすために、ライブラリとアプリケーションのユーザー空間を作成するために利用可能なオプション。
  • もっと。

このコースの情報は、主要なLinuxディストリビューションで機能します。

スケジュール

インストラクター主導
6/1/2020 - 6/4/2020
アトランタ
$3250 カートに追加 見積もりを作成する
インストラクター主導
7/13/2020 - 7/16/2020
オースティン
$3250 カートに追加 見積もりを作成する
インストラクター主導
8/31/2020 - 9/3/2020
アトランタ
$3250 カートに追加 見積もりを作成する
あなたのスケジュールに合うコースがない場合は、こちらを参照してください。 パートナーが提供するコース>

おもなテーマ

  1. 前書き
    • 目的
    • あなたは誰ですか
    • The Linux Foundation
    • Linux Foundationのトレーニング
    • 認定プログラムとデジタルバッジ
    • Linuxディストリビューション
    • プラットフォーム
    • システムの準備
    • Linuxで物事が変わる
    • ドキュメントとリンク
    • コース登録
  2. 予選
    • Linuxディストリビューション
    • 仮想マシンのインストール
    • 手続き
  3. OSSプロジェクトでの作業方法**
    • 適切に貢献する方法の概要
    • セキュリティと品質のためにメインラインの近くにとどまる
    • プロジェクトDNAの研究と理解
    • スクラッチしたいものを把握する
    • メンテナーとそのワークフローと方法を特定する
    • 初期の入力を取得し、オープンで作業する
    • 大きなコードダンプではなく、増分ビットを提供する
    • あなたのエゴをドアに置いてください:薄くなるな
    • 忍耐強く、長期的な関係を築き、助けになる
  4. 組み込みおよびリアルタイムシステムの概念
    • 基本概念
    • 保護の動機
    • オフザシェルフ(OTS)
    • 組み込みの警告
    • リアルタイムオペレーティングシステム
    • リアルタイムLinux
    • カスタムハードウェアアシスタンス
    • リソース
  5. クロス開発環境:目標とニーズ
    • 前書き
    • なぜ難しいのですか?
    • プロジェクト目標の考慮事項
    • 追加のディスカッションへのリンク
    • ラボ
  6. Kbuildシステム
    • 前書き
    • Kbuild Makefile
    • Kconfigの基本
    • Kconfigの検索
  7. クロス開発ツールチェーン
    • コンパイラートリプレット
    • 組み込みのLinuxディストリビューションクロスコンパイラ
    • リナロ
    • CodeSourcery
    • クロスツール-ng
    • ビルドルート
    • OpenEmbedded
    • ヨクトプロジェクト
    • クラン
    • ラボ
  8. 基本的なターゲット開発ボードのセットアップ
    • ラボの目的
    • ラボ
  9. uSDからのターゲット開発ボードの起動
    • ラボの目的
    • ラボ
  10. イーサネットを介したターゲット開発ボードの起動
    • より簡単な開発方法
    • ラボの目的
    • ラボ
  11. ブートローダーとU-Boot
    • ブートコードステージ
    • 一部のGPLブートローダー
    • Das U-Boot
    • U-Bootコマンドライン
    • U-Boot環境
    • ラボ
  12. カーネル構成、コンパイル、起動
    • 開発ボード用のカーネルの構成
    • ラボ
  13. デバイスドライバ**
    • デバイスの種類
    • デバイスノード
    • キャラクタードライバー
    • ラボ
  14. デバイスツリー
    • デバイスツリーとは何ですか?
    • デバイスツリーが行うことと行わないこと
    • デバイスツリーの構文
    • デバイスツリーウォークスルー
    • デバイスツリーバインディング
    • ブートローダーでのデバイスツリーのサポート
    • ドライバーでのデバイスツリーデータの使用
    • 古いドライバーの共存と変換
    • ラボ
  15. ターゲットファイルシステムのパッケージング
    • 組み込みファイルシステムの目標
    • ディレクトリ:調査
    • 埋め込みファイルシステムの種類
  16. ターゲットルートファイルシステムのビルド
    • ラボの目的
    • ラボ
  17. ルートファイルシステムの選択
    • SysV initとBusyBox init
    • udevとBusyBox mdev
    • システム化
    • Cライブラリの選択
  18. uClibcの構成
    • 設定中 uClibc にとって NFS
    • ラボ
  19. 別の代替Cライブラリ:musl **
    • Muslとは何ですか?
    • 設定中 BuildRoot にとって ムスル
    • ラボ
  20. BusyBoxユーティリティスイートを構築
    • 基本的な仕組み
    • Buildrootと統合
    • ラボ
  21. カーネルの監視とデバッグ
    • トレースとプロファイリング
    • Ftrace、Trace-Cmd、Kernelshark
    • 性能
    • を使用して 性能
    • sysctl
    • SysRqキーおよびoopsメッセージ
    • カーネルデバッガー
    • ラボ
  22. 適切なサイズ
    • 必要な組み込みコンポーネント
    • カーネルサイズのインベントリを作成する
  23. メモリテクノロジーデバイス(フラッシュメモリファイルシステム)
    • MTDデバイスとは何ですか?
    • NAND vs. NOR vs. eMMC
    • ドライバーとユーザーモジュール
    • フラッシュファイルシステム
    • ラボ
  24. 圧縮ファイルシステム
    • SquashFS
    • MTDパーティションに展開する
    • ラボ
  25. システムのアップグレード
    • いつ更新する必要がありますか?
    • 更新戦略
    • 事前構築済みのアップグレードシステム
    • ラボ
  26. リアルタイム拡張
    • 予測可能性とプリエンプションおよびロック
    • PREEMPT_RTプロジェクト
    • リアルタイムチェックリスト
  27. Closing and Evaluation Survey
    • 評価調査

付録

  1. カーネルアーキテクチャプレビュー
    • LinuxおよびUNIX
    • モノリシックカーネルとマイクロカーネル
    • メインカーネルタスク
    • ユーザースペースとカーネルスペース
  2. カーネルソースツリーの概要
    • カーネルソースのインストールとレイアウト
    • カーネルブラウザ
    • カーネル構成ファイル
    • なぜ難しいのですか?パート2
  3. カーネルプログラミングプレビュー
    • コーディングスタイル
    • kernel-doc
    • 汎用カーネルルーチンとメソッドの使用
    • エラー番号、カーネル出力の印刷、syslogd
    • タスク構造
    • メモリ割り当て
    • ユーザーとカーネルスペース間でのデータの転送
  4. モジュール
    • モジュールとは何ですか?
    • 些細な例
    • モジュールのコンパイル
    • モジュールと組み込み
    • モジュールユーティリティ
    • モジュールの自動ロード/アンロード
    • モジュール使用数
    • モジュールのライセンス
    • シンボルのエクスポート
    • シンボルの解決**
    • {D.11Labs

**これらのセクションは、一部または全体をオプションと見なすことができます。これらには、背景の参考資料、専門的なトピック、または高度な主題が含まれています。インストラクターは、教室での経験と時間の制約に応じて、それらをカバーするかしないかを選択できます。

前提知識

このコースは、主にLinuxを組み込みシステムに適合させる方法を学ぶことに興味のある経験豊富な開発者、プログラマー、およびエンジニアを対象としています。基本的なLinuxユーティリティに精通し、Cプログラミング言語を理解し、LinuxまたはUNIX用の開発に慣れている必要があります。クラスの前に、クラス前の準備資料が提供されます。

コメント

このコースは、デバイスツリーや一般的なLinuxショートカットなど、これまで知らなかった多くのことを明らかにしました」2020年1月

 

インストラクターが個々の質問や課題に注意を向けてくれたことに本当に感謝しています。レッスンとラボの間には素晴らしいつながりがありました」2020年1月

 

The instructor had relevant experience and a great passion for Linux」2020年1月

 

構成

実施方法

ライブ(教室)

含まれているもの

  • インストラクター主導の4日間の授業時間
  • 演習と課題
  • リソースとコースマニュアル
  • 修了証
  • デジタルバッジ
  • 無料のChromebook

経験レベル

   中級

コースの評価

   

アドバイス

5人以上でトレーニングを受けるなら?
企業向けの団体割引を受ける>

Chromebook
$3250 申し込む 見積もりを取得