Microchip
直播中

王萍

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

闪存写读在模拟器上有效,但在dsPIC33EP512GM604上无效

我一直在尝试读写DSPIC33 EP512GM604闪存。我遵循了数据表中指定的过程。下面的代码在程序中指定的地址上运行在MPLABX模拟器上。但是当我尝试在PIC18F46K80上运行代码时,Flash读/写/擦除发生在不同的地址上。我已经硬编码了地址到0x800。当我在模拟器上运行程序时,我可以看到程序存储器的内容在0x800改变。但是当我在DSPIC33 EP512GM604上运行程序时,内容不会改变如何用按钮“读取设备存储器”从内存中读取,看看内存中会发生什么?我的源代码附在下面:[代码] [代码]

回帖(12)

李天竹

2020-4-17 08:33:09
我已经告诉过您两次了,我不知道如何解释这一点,但是您的PIC使用了不同的算法,而不是您实现的算法。它使用NVMSRCADR寄存器代替TBLWT。Andthis在数据表中描述:“…源数据直接从这些设备上的数据存储器(RAM)获取。已经提供了两个新的寄存器来指向SuxDeDATA驻留的RAM位置。
举报

白边赫

2020-4-17 08:48:40
Heyy,我同意你的看法,但是我们可以使用RTSP模式或RAM缓冲区HTTP://WW1. Microchip…com……EVICEDOC/7000 05156B.PDF,
举报

李天竹

2020-4-17 08:54:11
这正是我要告诉你的。您阅读的文档不适用于您的PIC(比如您引用的文档),并且您期望您阅读的文档能够与您的PIC一起工作。所有图片都是不同的。请阅读PIC的数据表。
举报

李天竹

2020-4-17 09:10:53
实际上,你是对的,对于双字写入,它确实使用锁存器。当你写锁存器时,你应该写到0xfa0000。您可以写入0xFA0801。
举报

更多回帖

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