良い質問。言及されていないものもあります...
低レベルのマルチタスクを実現するためのさまざまなオプションを学びます。基本的なラウンド ロビン (非プリエンプティブ) スケジューラから、ハードウェア タイマーのタイミング ティック、プリエンプティブ RTOS まで。RTOS が必要な理由と必要でない理由を学びましょう。RTOS を使用している場合は、PC のバックグラウンドを持つ初心者は、おそらくあまりにも多くのタスクを作成したいと考える傾向があることを知っておいてください。
デバッグのために内部を可視化することは困難な場合があります。通常は画面がないため、必要な場所に「printf」呼び出しをスローする必要はありません。エミュレーターまたは JTAG インターフェイスが理想的です。ブレークポイントを設定し、プログラムをステップ実行できます (ただし、ロボット アームを全速力で振り回すように、マイクロを停止してもハードウェアが異常にならないようにする必要があります)。エミュレーター/JTAG が利用できない場合は、いくつかの簡単なメモリ ピーク/ポーク コマンドを使用して、デバッグ チャネル用に予備のシリアル ポートを使用する方法 (またはシリアル ポートを作成するためにピンをビット バッシングする方法) を学びます。