F28335第五篇 | 您所在的位置:网站首页 › dsp的作用是什么意思 › F28335第五篇 |
在DSP中,为了防止重要寄存器被误写入,设置EALLOW保护。EALLOW 和 EDIS 配套使用,分表表示写入申请(Edit allow)和禁止写入(Edit disable)。举例: EALLOW; // This is needed to write to EALLOW protected registers PieVectTable.WAKEINT = &wakeint_isr; EDIS; // This is needed to disable write to EALLOW protected registers这是将中断服务程序地址写入到中断向量表中。由于中断向量表受到了保护,所以,在写入之前需要进行写入申请,写完之后要禁止写入,保护寄存器。 EALLOW保护主要是针对DSP存储空间外设帧(Peripheral Frame)而言的。关于外设帧的更多信息,可以参考博客(F28335第四篇——存储器及CMD文件)。外设帧又简称PF。在DSP中,外设帧总共分成四个区域,为PF0-PF3。其中,PF1-PF3中所有寄存器都受到EALLOW保护,而在PF0中有些寄存器是不受EALLOW保护的。换言之,所有不受保护的寄存器都在PF0中,他们分别为: ADC寄存器XINTF寄存器(存疑。。。)计时器0/1/2PIE寄存器附上TI官方说明: 由于上文中引用的TI官方文档比较老旧,所以有些数据并不相同,下面给出最新的官方文档中的说明。 不受保护的寄存器只有三个,如下: ADC寄存器计时器0/1/2PIE寄存器通过阅读官方文档,我发现之前的书本上的说法是错误的。PF1-PF3并非所有寄存器都受到EALLOW保护。总结所有不受保护的寄存器如下: PF0 ADC寄存器计时器0/1/2PIE寄存器 PF1 部分eCAN寄存器eCANB Mailbox RAMeCAP 寄存器GPIO Data 寄存器 PF2 SPI 寄存器SCI 寄存器ADC寄存器外部中断寄存器I2C寄存器 PF3 McBSP寄存器EALLOW保护就是禁止CPU对于DSP寄存器的写操作,如下表 EALLOW位CPU写操作CPU读操作JTAG写操作JTAG读操作0禁止允许允许允许1允许允许允许允许使用保护的寄存器包括: 器件仿真寄存器Flash寄存器CSM寄存器PIE向量寄存器DMA寄存器系统控制寄存器GPIO控制寄存器(包括GPIO中断寄存器)部分eCAN寄存器Xintf寄存器ePWM寄存器 注意:以上是参考TI官方文档TMS320x2833x, 2823x System Control and Interrupts Reference Guide(2010年3月)。但是,官方文档自身也有矛盾的地方。例如:XINTF寄存器,DMA寄存器等。下面附上所有文档内容,如有纰漏,敬请批评,谢谢! |
CopyRight 2018-2019 实验室设备网 版权所有 |