cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
shirley_yang
Observer
Observer
3,560 Views
Registered: ‎05-12-2016

Xilkernel, new thread and interrupt handler for custom ip

 

Hi everyone,

I use VAVIDO2015.4 and SDK2015.4 on board KC705.

My application on SDK is  based on XAPP1026 socket mode.  It includes several servers under use of TCP/UDP protocols and runs on Xilkernel OS. Now i generated an interrupt signal from my custom ip on hardware platform in vivido (interrupt signal has been connected to the interrupt controller in vivado) and want to use it in SDK. When an interrupt is detected in sdk, a great deal of data should be received and handled in my interruptcontroller.

 

Due to the restrictive condition of Xilkernel OS, i created a new thread and used specified API of interrupt handler in SDK. 

„register_int_handler(XPAR_INTC_0_TEST_0_VEC_ID , (XInterruptHandler)test_InterruptHandler, (void*)XPAR_TEST_0_0); „ and „enable_interrupt(XPAR_INTC_0_TEST_0_VEC_ID);“

 

At first, my program works fine. It can detects the interrupt signal correctly and i can see the received data in the handler (for test purpose, i used printf function). But after i ran the program 2 or 3 times, i can’t access my interrupt controller any more. Even if i shut down my board, restart the computer, nothing works. main.c has been attached.

 

I’m still a newbie in c programming and have struggled for this issue several days… I need your help!!!!

 

Thanks for your helps in advance!

0 Kudos
1 Reply
shirley_yang
Observer
Observer
3,548 Views
Registered: ‎05-12-2016

P.S. when i debug my c program i found that, i can use Xil_Out32 function to write data to my custom ip in interrupt handler. However, Xil_In32 and printf don't work in the handler. 

0 Kudos