简要问题:在VisualDSP里面找不到DAI_IMASK_H , DAI_IMASK_L.我在EZ-kit上使用DAI相连的那两个按钮只能触发DAI High Priority中断。
详细问题:
Hardware Reference P285 做了对比 Core Versus DAI/DPI Interrupts:
A pair of registers ( DAI_IMASK_H and DAI_IMASK_L ) replace functions normally performed by the IRPTL register.
Hardware Reference P286: DAI Shadow Registers The DAI_IMASK_L_SH and DAI_IMASK_H_SH shadow registers are provided for the DAI_IMASK_L and DAI_IMASK_H registers respectively.
这两个用来读取DAI_IMASK的状态,以免直接读取DAI_IMASK导致清零。
但是在P694: DAI Controller Register列表里面寄存器却对应着这些名字:
DAI_IRPTL_H (ROC)
DAI_IRPTL_HS (RO)
DAI_IRPTL_L (ROC)
DAI_IRPTL_LS (RO)
查看def21369.h的内容发现:
#define DAI_IRPTL_FE (0x2480) /* DAI Falling Edge Interrupt Latch Register */
#define DAI_IMASK_FE (0x2480) /* DAI Falling Edge Interrupt Latch Register */
#define DAI_IRPTL_RE (0x2481) /* DAI Rising Edge Interrupt Latch Register */
#define DAI_IMASK_RE (0x2481) /* DAI Rising Edge Interrupt Latch Register */
#define DAI_IRPTL_PRI (0x2484) /* DAI Interrupt Priority Register */
#define DAI_IRPTL_H (0x2488) /* DAI High Priority Interrupt Latch Register */
#define DAI_IRPTL_L (0x2489) /* DAI Low Priority Interrupt Latch Register */
#define DAI_IRPTL_HS (0x248C) /* Shadow DAI High Priority Interrupt Latch Register */
#define DAI_IRPTL_LS (0x248D) /* Shadow DAI Low Priority Interrupt Latch Register */
前面四个寄存器有地址重复的. 跟High/Low Priority有关的只有DAI_IRPTL_H/DAI_IRPTL_L这两个Latch Register, 没有IMASK这一类寄存器。
同时,P280 DAI Interrupt Priorities页面中间提到: By default interrupts are mapped onto low priority interrupt. 为什么我在EZ-kit上默认触发的是High Priority中断?