
「モダンな組み込みシステムプログラミング」ビデオコースへようこそ。
このコースでは、基本から現代のモダンな組み込みプログラミングプラクティスまで、埋め込まれたマイクロコントローラーを現代的な方法でプログラムする方法を学びます。
このコースのユニークなアプローチは、マシンレベルに頻繁に降りて、埋め込まれたマイクロコントローラー内で何が起こるかを正確に示すことです。この深い理解により、概念をより効率的かつより自信を持って適用することができます。
組み込みプログラミングの重要な概念を説明する実用的で実践的な、十分に構造化された、詳細なコースを探しているなら、この無料コースはあなたにぴったりです。
コースは2013年にすでに始まったため、正当な質問は「それでも関連していますか?」です。答えはイエスです。おそらく、2013年よりもさらに多くの主な理由があります。
このコースは、組み込みプログラミングの本質的かつ基本的な概念に焦点を当てています。事前に予測されたすべての概念は詳細にカバーされており、以下を含みます。
このコースは、過去10年間に埋め込まれたMCU市場で間違いなく支配的になった一般的な腕皮質-Mアーキテクチャに焦点を当てています。 ARM Cortex-Mに精通していることは、雇用主が探している最も人気のあるスキルです。

皮質-Mファミリーを含むアームプロセッサ
このコースは、30年以上の経験を持つ埋め込まれたソフトウェアの専門家であるMiro Samekによって設計および教えられています。ミロは教育を楽しんでおり、このビデオコース、彼の本、記事、会議の講演は、多くの開発者がスキルを向上させ、厳しい就職の面接に合格し、組み込みプログラミングのポジションのために雇われるのを助けました。

ミロサミック
コースは基本から始まりますが、この部分は短く、Cのプログラミングの組み込み側面に焦点を当てています。したがって、このコースをCプログラミング言語の一般的な研究で補う必要があるかもしれません。また、CPUがどのように機能するかについて少し知りたいと思うかもしれません。
また、このコースは実践的です。つまり、このコースを最大限に活用するには、PCで議論されたプロジェクトをフォローして実行する必要があります。これを行うには、ハードウェア(組み込みボード)とソフトウェア(組み込み開発ツールセット)が必要です。
注記
いくつかの初期のレッスンはシミュレーターを使用するため、すぐに埋め込まれたボードは必要ありません。より高度なレッスンは、MCU周辺機器(GPIOなどなど)と対話する必要があり、埋め込みボードが必要です。
コース全体で使用される主な埋め込みボードは、テキサスインスツルメンツのARM Cortex-M4Fマイクロコントローラーに基づくTIVAC LaunchPadボード(別名、EK-TM4C123GXL)です。ボードは安価であり、複数の電子ディストリビューターから購入できます。それは自己完結型であり、内部状態のデバッグと検査を可能にするビルトインハードウェアデバッガー/プログラマー(Stellaris ICDI)を提供します。

tivac launchpad(ek-tm4c123gxl)
コースのダウンロードには、ARM Cortex-M0+ MCUに基づいたSTM32 Nucleo-C031C6のプロジェクトバージョンも含まれています。ボードはまた、安価で自己完結型であり、1段階のデバッグと内部状態の検査を可能にする、さらに汎用性の高い組み込みハードウェアデバッガー(ST-Link)が含まれています。

STM32 Nucleo-C031C6
注記
他の安価な埋め込みボードのコースプロジェクトが将来追加されます。
このコースで提示されたコードを構築および実行するには、次の埋め込みツールセットのいずれかが必要になります。
このコースは、レッスン1-19で使用されるIAR埋め込みワークベンチ(Ewarm)から始まりました。 Iar Ewarmは、優れたコンパイラと安定したデバッガーを備えたプロフェッショナルなツールセットです。

Projecsの1つでiar ewarm
注記
Iar Ewarmは、かつて無料のサイズに制限されたキックスタートライセンスの下で利用可能でしたが、最近、IARシステムは無料のライセンスの提供を停止しました。残っている唯一の無料オプションは、2週間の評価ライセンスです。 IAR Ewarmのプロジェクトは、ツールセットの新しいバージョンに更新されており、レッスン1-19のために提供されています。
Keil MDK(Microcontroller Development Kit)は、このビデオコースで使用されているもう1つの専門開発ツールセットです。 Iar Ewarとは対照的に、Keil Mdkは、無料のKeil Mdk V6 Community Editionを含むますます寛容なライセンスの下で提供されています。

Projecsの1つを使用したKeil Uvision IDE
注記
Keil MDKプロジェクトは、このコースのすべてのレッスンで利用できるようになりました。これには、もともとIAR EwarmまたはTi CCSのために提示されたレッスン1-21が含まれます。
一般的な需要のため、コースの2つのレッスン(19および20)は、テキサスインスツルメンツのコードコンポーザースタジオ(CCS)IDEを示しています。ここでの唯一の貴重な側面は、オープンソースのGNU-Armコンパイラとリンカーの使用です。
注記
Code Composer Studio(CCS)11は、デフォルトでTIコンパイラを使用し、GNU-ARMコンパイラがインストールされていることがありません。ただし、GNU-ARMツールチェーンはメニューを介してインストールできます。「ヘルプ| GCCアームコンパイラツール...」

Projecsの1つを使用したEclipseベースのコードコンポーザースタジオIDE
CCS IDEはEclipseに基づいており、そのために発射して使用するのは非常に遅いです。 Eclipseプロジェクトは、複数のファイルとディレクトリで構成されているため、共有するのが困難です。また、プロジェクトはIDEで単純に開くことはできませんが、代わりに「輸入」する必要があります。生成されたエラーメッセージはしばしば混乱しています。最後に、デバッグは遅く、不安定です。
このリポジトリは、特定の組み込みツールセットで開いて自宅でPCで実行できるプロジェクトのダウンロードを提供します。プロジェクトは、次の注釈付きディレクトリツリーに示されているように編成されています。
modern-embedded-programming-course/
+---lesson-01/ // lesson number
| +---simulator-iar/ // simulator with IAR EWARM
| | workspace.eww // IAR workspace
| |
| ---simulator-keil/ // simulator with KEIL MDK
| ---RTE/ // Run Time Environment for KEIL MDK
| lesson.uvprojx // uVision project
|
+---lesson-.../
|
+---lesson-04/
| +---stm32c031-keil/ // STM32C031 board with KEIL-MDK
| | ---RTE/ // Run Time Environment for KEIL MDK
| +---tm4c123-iar/ // TM4C123 board with IAR EWARM
| | workspace.eww // IAR workspace
| |
| ---tm4c123-keil/ // TM4C123 board with KEIL MDK
| ---RTE/ // Run Time Environment for KEIL MDK
| lesson.uvprojx // uVision project
|
+---lesson-...
|
+---lesson-19
| ---tm4c123-ccs // TM4C123 board with CCS
| +---ek-tm4c123gxl/ // board-specific code
| ---targetConfigs/ // CCS project directory
| .ccsproject // CCS project file
| .csproject // Eclispe project file
| .project // Eclipse project file
ARM/Keil Uvisionのすべてのプロジェクトは、時代遅れのコンパイラ5から新しいコンパイラ-6に更新されました。
このコースまたは関連科目について話し合いたい場合は、YouTubeに質問やコメントを投稿してください。
ビデオコースの多数のリソースは、コンパニオンWebページから入手できます。
www.state-machine.com/video-course
とりわけ、あなたはそこで見つけることができます:
このプロジェクトが気に入ったら、

好きなビデオについての言葉を広めます(たとえば、埋め込まれた人々が頻繁に訪れる他のウェブサイトに投稿することで)
このgithubリポジトリに星を付けてください(ブラウザウィンドウの右上隅に):
