打印
[PIC®/AVR®/dsPIC®产品]

擦、写闪存Flash时NVMKEY 寄存器值不变。

[复制链接]
1408|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
在PIC24FJ128gc006的数据手册中看到,擦、写Flash的话需要对NVMKEY寄存器进行如下图所示操作:但是为什么我在调试时查看MPLABX提供的SFR窗口(如图2示),发现执行赋值操作后NVMKEY寄存器的值完全不变。谁能解释下?

1XYG3V%M15(A~LWH}_3_S$S.png (5.08 KB )

NVMKEY寄存器

NVMKEY寄存器

K}%)C~GKK(O1DZUAB[IJJVT.png (12.18 KB )

K}%)C~GKK(O1DZUAB[IJJVT.png
沙发
青鸟的虚像|  楼主 | 2015-8-24 11:53 | 只看该作者
本帖最后由 青鸟的虚像 于 2015-8-24 11:56 编辑

我需要擦、写Flash,但是程序感觉都没错,可每次运行后对应地址单元的内容都没有按我预期的写入对应内容。感觉是不是因为NVMKEY无法写入的原因?因为不仅NVMKEY无法一次复制0x55和0xAA,后面下一步是将NVMCON寄存器的WR位进行置1,单也是执行后对应位没有发生变化。求大神帮忙分析下。完整的擦、写程序如下。

FLO[(Y_2C@86EK5MJ{97V]5.png (38.41 KB )

FLO[(Y_2C@86EK5MJ{97V]5.png

S$C]~7C3O}Y7X}$F@ZC]V7M.png (33.03 KB )

S$C]~7C3O}Y7X}$F@ZC]V7M.png

使用特权

评论回复
板凳
青鸟的虚像|  楼主 | 2015-8-25 15:22 | 只看该作者
原来NVMKEY是只写寄存器,一开始没看到,难怪读出来的都是0x00.

使用特权

评论回复
地板
青鸟的虚像|  楼主 | 2015-8-25 15:23 | 只看该作者
但是这个程序还是没办法如预想的那样擦、写程序存储器啊。。。help!!!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

37

帖子

1

粉丝