Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
14 years ago

uCos II & EIC

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.

jcn.

1 Reply

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    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.