【提问】EF2M45LG48B有没有办法可以在FPGA设置信号快速触发MCU中断服务函数-Anlogic-安路社区-FPGA CPLD-ChipDebug

提问EF2M45LG48B有没有办法可以在FPGA设置信号快速触发MCU中断服务函数

我在FPGA实现了一些自定义的时序逻辑去获取数据,这个数据需要发给EF2M45LG48B内的MCU去处理,如果通过定时器定时去获取这些数据,数据的实时性满足不了需求,有没有办法可以在FPGA的设置信号去触发MCU中断。

本来我是想通过DMA的三个信号去触发DMA中断,来达到我的目的(FPGA设置信号触发MCU中断)

20231112232915692-image

但是我在使用dma的demo程序时,修改相关配置都无法触发DMA的中断函数

void mem2mem()
{
	volatile uint8_t a,b;
	uint32_t buf_rx[10] = { 0 };
	DMAC_InitTypeDef dma_config;
	dma_config.device = AHB_SLAVE;
	dma_config.type = Peripheral_to_Memory_DMAC_Flow_Controller;
	dma_config.msize = Burst_Transaction_Length_1;
	dma_config.width = Transfer_Width_32_bits;
	dma_config.src_inc = Address_Increment;
	dma_config.dst_inc = Address_Increment;
	dma_config.int_en = Interrupt_Enabled;
	DMAC_Int_Register(dma_isr_func, NULL);
	HAL_DMAC_Init(DMAC_CHANNEL_1,dma_config);
	NVIC_EnableIRQ(DMAC_IRQn);

	HAL_DMAC_Start_Transfer(DMAC_CHANNEL_1, DMAC_AHB_RW_ADDRESS, buf_rx, 10);

	a = HAL_DMAC_Get_Busy_Channel();
	HAL_DMAC_Wait_Done(DMAC_CHANNEL_1);
	b = HAL_DMAC_Get_Busy_Channel();
}

 

请登录后发表评论

    • ICMaker的头像-ChipDebugICMaker徽章-资深玩家-ChipDebug等级-LV3-ChipDebug版主0