こんにちは、よしとです。
r_fwup 1.06 がサポートしている環境には RI600V4 が動作しているシステムは含まれていないと思います。
しかし、RX66N + RI600V4 のシステムで何とかセルフアップデートを実現したいと考えており、RI600V4 に対して何らかの処置をすれば動作できるのではないかと考えていろいろと試しています。やりたいことは、ユーザコマンドを処理するタスクでファームウェアアップデートコマンドを認識したら、SCI経由のファームアップ機能を起動してファームのセルフアップデートをDUAL modeで行うという事です。
これを実現しようとして色々やってみているのですが、r_flash_fcu.c 内の Excep_FCU_FRDYI() から flash_ready_isr_handler() を呼んでいる部分までは走っていることが追跡できるのですが、その後 _RI_sys_dwn() に捕まってしまいます。_RI_sys_dwn() 内でパラメータを確認したところ、type=-1, inf1=-25, inf2=3, inf3=213440(不定値)となっており、「カーネル管理割り込みハンドラ終了時点で,PSW.IPL >カーネル割り込みマスクレベルである。」というエラーで捕まったものと思われます。PSW.IPL をレジスターウィンドウで確認したところ、0 でした。
この状況はファームアップを開始する直前に dis_dsp() をコールしてみたり loc_cpu() をコールしてみたりしても同様でした。
アップデートを開始する前にRTOSに対して何か処理をすれば回避できるものでしょうか。
何かお分かりになる方がいらっしゃいましたらご教授頂けましたら幸いです。
以上、よろしくお願いいたします。
皆さん、こんにちは。NoMaYです。そういえば、そもそも、RI600V4とFITの個別モジュールって共存出来るのでしたでしょうか?FITのBSPモジュールは使えるようになっていたと思うのですが(それとCMTモジュールも?)、FreeRTOSやAzure RTOSの場合とは異なり、皆さん、割り込みハンドラをゴリゴリ手書きしているのでは無かったでしょうか?[追記]ついこのあいだ、以下のスレッドでガヤガヤやっていたばかりなのですけれども、RI600V4とFITの個別モジュールとが共存出来るのであれば、もうちょっと話は素朴だった筈である様な気がしなくも無いのですけれども。MISPOさんのNORTiをRX SmartConfiguratorと一緒に使いたい場合の課題と対策を考察してみるスレッドcommunity-ja.renesas.com/cafe_rene/forums-groups/tools/f/forum21/8266/mispo-norti-rx-smartconfigurator[追記]以下のFAQでは何も触れられていませんでしたが、FITの割り込みを全てカーネル管理外割り込みとして使うという使い方なら出来るのかな。(つまり割り込みルーチンからシステムコールを絶対に発行しないように運用するということになるのかな。)FAQ 2001203 : FITモジュールとRTOSを組み合わせて使用したいja-support.renesas.com/knowledgeBase/20117077