Nios® V/II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® V/II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++

uCos II & EIC

Honored Contributor II

According to the wiki page the NIOS II port does not support the External Interrupt Controller (EIC) / Vector Interrupt Controller (VIC). Has anyone had any success in get the EIC / VIC to work with the uCOS port? 


I've successfully got the system to boot and it runs for a little while but it eventually crashes in the scheduler (Memory Protect Unit exception). It looks like the scheduler is trying to run a thread id that has been reserved for a mutex. 


Any pointers would be appreciated. 


0 Kudos
1 Reply
Honored Contributor II

After several days of trying to get it to work, or finding a reason why it wont, I found the same obscure note that you did. It is the only place I find any suggestion that it wont work, and it includes absolutely no reason why this is so. 


I think your error is completely random. Mine generally just reboots after a random time. It also seems to often work correctly when I am debugging, but then crash almost immediately when trying to run normally. This makes me think that it is something like the debugger is using its own stack rather than the normal stack, allowing it to work without crashing. Either way, the EIC/VIC with uCOS appears to be a complete time-waster. Too bad. The "internal" interrupt controller is just a software hack that is terribly inefficient.  


I think that it is a serious dis-service to promote the VIC without nary a word about how it doesn't work with uCOS.
0 Kudos