- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
Hello i've used IRQ without any problems in the DE2 but it isn't working in this kit (PCI Cyclone II)
My IRQ code is the following..
int main()
{
// Enable all 4 button interrupts.
IOWR_ALTERA_AVALON_PIO_IRQ_MASK(PIO_0_BASE, 0xf);
// Reset the edge capture register.
IOWR_ALTERA_AVALON_PIO_EDGE_CAP(PIO_0_BASE, 0x0);
// Register the interrupt handler.
alt_irq_register( PIO_0_IRQ,&edge_capture, handle_button_interrupts );
alt_irq_enable_all;
alt_printf("loop start\n");
while(1)
{
usleep(100000);
alt_printf("%x",IORD_ALTERA_AVALON_PIO_DATA(PIO_0_BASE));
//if(led==1)
// {
// led = 2;
// initdma();
// printf("content of fifo:before DMA operation\n");
// for ( i=0;i<32;i++)
// {
// printf("%d: %x\n",i,IORD(FIFOWRAPPER_0_BASE,0));
// }
// }
// if (led==2){
// alt_printf("FIM");
// while (1){}
// initdma();}
// }
}
//alt_printf("%i:",led);
//}
return 0;
}
static void handle_button_interrupts(void* context, alt_u32 id)
{
// Cast context to edge_capture's type. It is important that this be
// declared volatile to avoid unwanted compiler optimization.
//
volatile int* edge_capture_ptr = (volatile int*) context;
// Store the value in the Button's edge capture register in *context.
*edge_capture_ptr = IORD_ALTERA_AVALON_PIO_EDGE_CAP(PIO_0_BASE);
// Reset the Button's edge capture register.
IOWR_ALTERA_AVALON_PIO_EDGE_CAP(PIO_0_BASE, 0);
led=1;
//initdma();
// irq_count++;
}
I am basically counting up to 50 seconds and it should generate an IRQ.. My valid is connected to a input PIO in the sopc. //always@(posedge clk_1 or negedge resete)
//begin
//if(~resete)
// begin
// contador <= 0;
// soma <= 0;
// valid <= 0;
// end
//else
//begin
//valid <= 1;
////contador <= contador +1;
////valid <= 0;
//// if(contador==100000000)
//// begin
//// contador<=0;
//// soma <= soma+1;
//// end
//// if (soma==50)
//// begin
//// valid<=1;
//// end
//end
That's very weird.. the exactly same verilog/ C code works for my DE2 project, why should it be different for the PCI kit?
링크가 복사됨
0 응답
