セキュリティ・キャンプ全国大会2023 開発コース X3【ハードウェア魔改造ゼミ】応募課題 以下の設問に回答してください。考察力や説明力を主に問うものなので、Web で検索するなどの情報収集は自由に行ってください。文字数制限はありませんが、説明のために最低限必要な簡潔な記述であることが望ましいです。 (1) マイクロコントローラーで動作するファームウェアのデバッグにはどのような方法がありますか?また、それらの手法を使ってあなたが今まで行ったデバッグの体験談や感想を教えて下さい。マイコンでの開発経験がない場合はマイコン以外のデバッグ体験談でもかまいません。 (2) Linux 6.1で、これまでカーネル開発に使われたCに次ぐ第二の言語として Rust が追加されました。C++ を Linux カーネルで使用する議論をかつて痛烈に批判した Linux の開発者リーナス・トーバルズの同意を得て Rust が追加されたことは大きな話題になりました。なぜここに Rust が加われたのか、リーナスの視点を念頭に置いて考察し論じてください。 (3) USB 機器が任意の電圧による電源供給を受けられる規格として USB Power Delivery があります。最初に登場し、USB Type-A 端子と Type-B 端子を利用する USB PD Revision 1.0 はほとんど普及しませんでしたが、Type-C 端子と共に登場した USB PD Revision 2.0 は広く普及しました。この要因を自由に考えて述べてください。規格そのものの差分だけではなく、より広い視点で記述された考察を期待します。 (4) Wi-Fi による無線通信が可能なマイコン、MOSFET、モーターの3つを組み合わせて車のラジコンを作りました。マイコンと通信するためのスマートフォンのプログラムと、制御コマンドを受け取ったマイコンが MOSFET を駆動しモーターを回転させるプログラムも開発しました。しかし実際に前進コマンドを送ってみると、何度試しても、一瞬ラジコンが前に進んだあとすぐに停止してスマートフォンとマイコンの通信が切断してしまいます。しばらくすると再度通信可能になるので、不可逆的な故障は生じていないようです。ラジコンが前進し続けずに通信が切断するという現象の例と要因を考察し列挙してください。可能であればその調査方法と具体的な対策も挙げてください。 (5) 市販される無線ルーターの筐体は、ふつう、特殊なネジを使って組み立てられていて、分解が難しくなっています。無線ルーターは電波を発射するために法で定められた基準を満たした機器であることを念頭に置き、分解が難しくなっている理由を回答してください。 (6) 本トラックでは工作、電気回路、Linux、Python、Web3言語 (HTML, CSS, JavaScript) に触れることを通じてすべてのレイヤーを渡り歩きます。意気込みを教えて下さい。(この分野が最も気になる、など)