原创生活

国内 商业 滚动

基金 金融 股票

期货金融

科技 行业 房产

银行 公司 消费

生活滚动

保险 海外 观察

财经 生活 期货

当前位置:滚动 >

smtp服务器工具管理方式 fir滤波器音频系统优化加窗

文章来源:财金网  发布时间: 2019-04-12 21:13:01  责任编辑:cfenews.com
+|-

【原标题:smtp服务器工具管理方式 fir滤波器音频系统优化加窗】财金网消息 早期运用的arm芯片规模较小,在芯片上直接有uart的中断服务函数地址寄存器,直接将中断服务函数的地址写入寄存器就搞定了。然后zynq似乎比较复杂,中断也比较复杂。在zynq中有个Scu(snoop control unit窥探控制单元,也是arm所有的)专门控制中断处理。Vivado SDK中提供了scugic驱动来处理相关的操作。下面具体说一下,中断hook的过程。

XScuGic_LookupConfig  // 找到scugic的定义实体;

XScuGic_CfgInitialize //  初始化scugic实体;

Xil_ExceptionInit()   //异常处理初始化

Xil_ExceptionRegisterHandler(XIL_EXCEPTION_ID_IRQ_INT,

(Xil_ExceptionHandler)XScuGic_InterruptHandler,

pScuGic);

这一步基本是固定的,中断触发之后统一由XScuGic_InterruptHandler先处理,然后在HandlerTable中查找相应的处理函数。这个HandlerTable数组的长度为95个,包含了所有的中断ID。

Xil_ExceptionEnable(); //异常处理使能

XScuGic_Connect( pScuGic,

XPAR_PS7_UART_1_INTR,          (Xil_InterruptHandler)ZUartPs_InterruptHandler ,                                      (void*)pUart1Inst);

这才是将我们定义的中断服务函数地址映射到HandlerTable中。也可以使用UartPs驱动中包含的中断处理函数。

XScuGic_Enable( pScuGic,                                                                       XPAR_PS7_UART_1_INTR);

//使能uart对应的中断ID。

XUartPs_SetInterruptMask( pUart1Inst,                                                            XUARTPS_IXR_RXOVR |                                        XUARTPS_IXR_TXEMPTY                                     /*| XUARTPS_IXR_TNFUL*/ );

这应用程序中开启接收缓冲fifo中断与发送为空中断。

这时uart接收到数据,则会自动跳入中断处理函数ZUartPs_InterruptHandler中。向发送硬fifo中写入数据,在数据发空后,也会跳入中断处理函数ZUartPs_Interrupt Handler中。两者根据不同中断状态寄存器中的标识进行相应的处理。

专题首页|财金网首页

原创
新闻

精彩
互动

独家
观察

京ICP备2021034106号-38   营业执照公示信息  财金网  版权所有  cfenews.com  投稿邮箱:362293157@qq.com  业务QQ:362293157立即发帖