GR-SAKURA
GR-KURUMI
GR-COTTON
GR-CITRUS
GR-PEACH
GR-KAEDE
GR-ADZUKI
GR-LYCHEE
GR-ROSE
GR-MANGO(*)
SNShield
Web Compiler
IDE for GR
TOPPERS関連
女子美コラボ
その他
※プロデューサミーティング中
作り方使い方資料
イベント関連
作品記事
体験記事
ライブラリ
ツール
その他・過去ファイル
Loop()の関数が帰ってこなかった場合、ソフトウェアリセットをかけたいのですが、どうコードを書けばようでしょうか? まあ、Watchdog Timerのオバーフローとかで処理できればと思います。
Ethernet サーバーをGR-SAKURAで動かしていますが、長期(1年とか)連続で動かしたいので、ハングしたときとかに使いたいと思います。Ethernet サーバーは、複数のクライアントがアクセスしに来ると、どうも挙動がよくないです。
reboot.h をインクルードし、
system_reboot(REBOOT_USERAPP);
でリセットできます。
木下様、藤田様、こんにちは。自己診断で非常事態モードに入ってソフトウェアリセットを掛ける様な場合は良いのですが、ハングした場合の話であれば本当にウォッチドッグタイマリセット機能でリセットしないと、どうにもならないのでは無いでしょうか?ちなみに、ふと思い出したのですが、以下の本には火星でローバーの動作が異常になった時に事態を復旧させた話(ただしソフトウェア技術者向けでは無くて一般読者向けです)が載っていて、面白かった(というか惑星探査プロジェクトで技術者個人が勝手にコマンドを追加していいのか?と思った)のですが、たぶん、これはハングアップではなくて何かしらエラーが検出可能な状態で動作していた時の話だと思います。ローバー、火星を駆ける - 早川書房http://www.hayakawa-online.co.jp/product/books/119531.html
すみませんでした。そうですね。(経験不足で、そこまで気が回りませんでした。) しかも、暫く前から、GR-CITRUSでRXシリアルデバッガを使おうとしていた件でUSB MSCファームウェアの改造もしていたので気付いて然るべきだったのですが、思い至りませんでした。ただ、そのおかげで、どの辺りを改造すれば良いか、更に、藤田様が提案された仕様にどう改造すれば良いか、概ね目星は付きます。とはいえ、GR-SAKURAのUSB MSCファームウェアと同一バイナリをビルド出来る環境は構築出来てないのとGR-SAKURAを持っていないこともあり、うまく動かずにMOTファイルのやりとりが1度で済まないかも知れませんが、それで構わなければ来週辺りにも作れそうな気はします。ただ、ウォッチドッグタイマリセット機能でないと駄目な気がするものの、充分なのかどうか分からなくて、その辺りについての藤田様や木下様の見解を待って、先走ったりすることなく、それから着手するのが良さそうだとも思っています。(あと、深刻なトラブルが発生すると岡宮様の手を煩わせてしまうかもしません。)