こんにちは、
他のボードで特定の操作を実行するために、ボードを停止する必要がある場合があります。
そして、その責任者が遠隔地にいることも多々あります。
そのため、以前のボード セット (x86 アーキテクチャ ベース) に機能を開発し、管理者がキーを押した後にボードを停止 (/sbin/halt) して再起動できるようにしました。
Linux カーネルの machine_restart() 関数内にフックを実装して呼び出しました。
unsigned char キー;
printk( KERN_ERR "再起動するには任意のキーを押してください\n");
キー = inb(0x3f8);
while (inb(0x3f8) == キー);
今度は、imx93 ベースのボードでも同じことを実行したいと思います。
次のように試してみましたが、while ループに留まらず、すぐにボードを再起動します。シリアルコンソールとしてLPUART1を使用します。