完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我一直在尝试读写DSPIC33 EP512GM604闪存。我遵循了数据表中指定的过程。下面的代码在程序中指定的地址上运行在MPLABX模拟器上。但是当我尝试在PIC18F46K80上运行代码时,Flash读/写/擦除发生在不同的地址上。我已经硬编码了地址到0x800。当我在模拟器上运行程序时,我可以看到程序存储器的内容在0x800改变。但是当我在DSPIC33 EP512GM604上运行程序时,内容不会改变如何用按钮“读取设备存储器”从内存中读取,看看内存中会发生什么?我的源代码附在下面:[代码] [代码]
|
|
相关推荐
12个回答
|
|
我已经告诉过您两次了,我不知道如何解释这一点,但是您的PIC使用了不同的算法,而不是您实现的算法。它使用NVMSRCADR寄存器代替TBLWT。Andthis在数据表中描述:“…源数据直接从这些设备上的数据存储器(RAM)获取。已经提供了两个新的寄存器来指向SuxDeDATA驻留的RAM位置。
|
|
|
|
Heyy,我同意你的看法,但是我们可以使用RTSP模式或RAM缓冲区HTTP://WW1. Microchip…com……EVICEDOC/7000 05156B.PDF,
|
|
|
|
这正是我要告诉你的。您阅读的文档不适用于您的PIC(比如您引用的文档),并且您期望您阅读的文档能够与您的PIC一起工作。所有图片都是不同的。请阅读PIC的数据表。
|
|
|
|
实际上,你是对的,对于双字写入,它确实使用锁存器。当你写锁存器时,你应该写到0xfa0000。您可以写入0xFA0801。
|
|
|
|
http://www1.micro..com/downloads/en/DeviceDoc/70000689c.pdfdsPIC33EPXXXGM3XX/6XX/7XX设备包含用于存储和执行应用程序代码的内部Flash程序存储器。在整个Vdd范围上正常操作期间,存储器是可读、可写和可擦除的。闪存可以通过两种方式编程:·电路内串行编程(ICSP)·运行时自编程(RTSP)
|
|
|
|
ICSP是指由外部设备编程。你所做的就是RTSP。
|
|
|
|
为什么要启动重复线程?应该写入缓冲区(目标),而不是0x800或0x3000。(你的程序可能在这里)缓冲区大小应该是512,而不是8,因为擦除会擦掉512条指令。对齐可以是512为方便。
|
|
|
|
嘿,当我替换
|
|
|
|
嗨,有人知道如何更新程序内存的内容吗?我正在向闪存写入值,并且在页满时擦除该值以存储一些运行状态,我知道写入/擦除正在工作,因为当我使用模拟器时它工作。
|
|
|
|
嗨,我需要你的帮助。有人知道如何更新程序内存的内容吗?我正在向闪存写入值,并且在页满时擦除该值以存储一些运行状态,我知道写入/擦除正在工作,因为当我使用模拟器时它工作。
|
|
|
|
我不会使用FLASH不断更新一些统计由于耐力。你真的需要一个EEPROM。
|
|
|
|
也许这有帮助:Word写和行写的代码示例:CE47 8:RTSP Word WrreCeCe141:RTSP RAMPLE用于MPLAB-X和C.
|
|
|
|
只有小组成员才能发言,加入小组>>
5146 浏览 9 评论
1993 浏览 8 评论
1921 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3162 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2218 浏览 5 评论
714浏览 1评论
601浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
484浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
615浏览 0评论
513浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-13 09:08 , Processed in 1.287873 second(s), Total 65, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号