agoGR-ROSEのAzureRTOS環境について質問なのですが、OSのtickは何msecなのでしょうか?また、プリエンプションは機能しているのでしょうか?AzureRTOSはプリエンプティブスケジューラだと認識しているのですが、スレッドが自発的に処理を手放さない限りCPUを占有し続けるように見えます。優先度が高いはずのloop()すら回りません。(同様のことをFreeRTOSで書くと意図した動作になりました。+1西村備山さんこんにちは、シェルティです。見落としなさそうなので、こちらで再現実験してみたところ再現しました。スケジューラ内部でディスパッチャーが起動してなくてタイムスライスが働いてないように見えてます。ソフトウェア割り込みが思った通り動いてないですね。マイクロソフト社にポーティングいただいたのですが、このあたりピンポイントに指摘して見解を得ようと思います。コメントありがとうございます。RTOSの挙動を明らかにしたいのが目的です。tickが10msecに設定されているならひとまずそれで構わないのですが、タスクスイッチが発生するはず(つもり)のコードを書いてもタスクスイッチが発生しないので疑問に思っております。西村備山さんこんにちは、シェルティです。RTOSのRXマイコンへの移植を担当しています。timetickは以下で決まってます。https://github.com/azure-rtos/getting-started/blob/3a5855b8e82263738ad29f897d201bc0376ecc3d/Renesas/RSK_RX65N_2MB/app/board_init.c#L321GR-ROSEの環境だと違うかもしれませんが、board_init.cの中でR_CMT_CreatePeriodic()を呼び出しているところの第1引数でtimetickが決まってます。100を入れると10msに1回タイマ割り込みが発生します。2ThreadX自体のtimeticはTX_TIMER_TICKS_PER_SECONDにてデフォルト100Hzで決まってます。https://github.com/azure-rtos/threadx/blob/b216ceb25e2b6ae1ea83c1ae91d114a6fc2fc4ec/common/inc/tx_user_sample.h#L11912を合わせることで任意のtimetickに変更できます。2点目のプリエンプションについては機能していると思います。シェルティ西村備山さんこんにちは、シェルティです。チェックポイント1個だけですが持ってきました。TX_DISABLE_PREEMPTION_THRESHOLDが定義されているとプリエンプションしなくなりますね。この定義をgrepして確認してみてはいかがでしょうか。シェルティシェルティさん情報ありがとうございます。