質問: インテル Cyclone 10 LP FPGA 評価キットを使用して、SimpleSocket(RGMII)(ucosii)を動かしてみました。 ソケット通信は問題なくできましたので、 SYS_CLK_TIMERを実装して動かすと、今まで動いていたソケット通信が出来なくなってしまいます。 原因および対処法を教えて下さい。 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- volatile int m_context_Timer; static void timer1ms_interrupts(void* context) { IOWR_ALTERA_AVALON_TIMER_STATUS(SYS_CLK_TIMER_BASE,0); } void init_timer() { void* timer_ptr=(void*)&m_context_Timer; IOWR_ALTERA_AVALON_TIMER_STATUS(SYS_CLK_TIMER_BASE,0); IOWR_ALTERA_AVALON_TIMER_CONTROL(SYS_CLK_TIMER_BASE,7); alt_ic_isr_register(SYS_CLK_TIMER_IRQ_INTERRUPT_CONTROLLER_ID,SYS_CLK_TIMER_IRQ,timer1ms_interrupts,timer_ptr,0x0); Niosにて、自動で生成されたiniche_init.cファイル内に上記コードを挿入し、 SSSInitialTask内の適当なところに、init_timer()を呼ぶようにしました。
回答: timer1ms_interruptsは定期的に呼ばれるのですが、他タスクが止まってしまうようで、ソケット通信が出来なくなってしまいました。