Microchip
直播中

钟晶

7年用户 183经验值
私信 关注
[问答]

dsPIC33EPXXXGM3XX / 6XX勘误表歧义

你好。上面提到的CPU有一个错误,根据它的勘误文件:引用:2。模块:核心,在对程序存储器地址的访问期间,001h到200h可能会出现意外的地址错误陷阱。当使用TBLRDH/L、TBLWTH/L或基于PSV的指令读取或写入程序存储器地址时断言一个或多个中断请求时,就会出现这种情况。基于PSV的指令,到底是什么?这对我来说很重要,因为每次控制器访问地址0到0x200时,禁用中断的工作量很大。它还窃取执行时间和防止其他中断。此外,这个CPU是已知的车?它有四个修订版本,我已经列举了许多“不可能”的bug。(最后一个问题不是针对任何McCm的员工:)

回帖(3)

李天竹

2020-4-3 10:45:11
控制器通常不访问这些地址,因为这是IVT。不需要阅读它,除了一些非常特殊的案例。PSV是“程序空间可见性”。你可以在数据表中看到它。
举报

冯超

2020-4-3 10:56:00
很好,我没有注意到它是程序存储器而不是数据存储器。如果是数据存储器,那将是一个严重的bug!第二件事,如果有人读到这个,编译器(XC16)警告从C. Why访问ACACH和ACCAL是吗?寄存器访问是不安全的,但是ACCA?当做。
举报

杨叶

2020-4-3 11:05:15
嗨,我有一个不同于这个硅臭虫的解释:每当发生中断,地址001至200将被访问,因为添加的中断必须被获取。PSV在默认情况下由编译器启用,但是您可以在中断函数定义中使用属性禁用它。这不是一个核心问题,因为我没有想到其他dsPIC33EP派生工具有这个限制。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分