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

关于dsPIC33FJ128芯片的Flash读写的问题

[复制链接]
1910|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
阿巴斯|  楼主 | 2023-1-31 19:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
近日在做dsPIC33FJ128芯片的片内Flash读写的时候,遇到2个问题:

1、程序1读写片内Flash,然后通过CAN 发送出来,写是通过扇区的方式来写的,读数据也是按照扇区的方式来读。即一次读写一个扇区。但是程序1中在一个地址写入数据,下载进芯片,等待芯片运行几秒后,通过MPLAB X IDE软件在读取整个Flash的数据,发现写数据的地址与程序1中写数据的地址不一样,如:写的地址是0x0000F000,但是重新读取的flash中的数据地址是:0x0000E400。这个很不理解。

2、程序1在片内的Flash中写入数据,在程序2中要读这个数据,如何保证数据不被程序2覆盖?

麻烦大佬给上上课。。。。。

使用特权

评论回复
沙发
阿巴斯|  楼主 | 2023-1-31 19:45 | 只看该作者
@lvyunhua  大佬解读写下,感谢

使用特权

评论回复
板凳
lvyunhua| | 2023-2-2 09:35 | 只看该作者
1、程序1读写片内Flash的地址是不是和程序1的存储空间重合了,需要避开
2、程序1写完做一个标志,通知程序2可以读取了,这个标志可以在数据FLASH中指定一个地址来存储’

使用特权

评论回复
地板
阿巴斯|  楼主 | 2023-3-2 16:24 | 只看该作者
lvyunhua 发表于 2023-2-2 09:35
1、程序1读写片内Flash的地址是不是和程序1的存储空间重合了,需要避开
2、程序1写完做一个标志,通知程序2 ...

谢谢,问题解决了!是2个不同的程序,程序1写flash,然后下载程序2读程序1写的flash数据。需要使用IPE软件设置保留区域范围,程序写数据到核实的区域就行了!

使用特权

评论回复
5
嵌入式新手hhh| | 2024-4-26 15:41 | 只看该作者
有偿求大佬的flash代码哦~

使用特权

评论回复
6
l1uyn9b| | 2024-5-11 12:53 | 只看该作者
关于程序1中写入数据后读取出现地址不一致的问题,可能是由于程序1中的写入操作没有正确完成导致的

使用特权

评论回复
7
lamanius| | 2024-5-11 14:10 | 只看该作者
建议在进行Flash写入操作时,需要确保写入操作已经完成,可以通过检查相关的状态寄存器或标志位来确认写入操作是否成功

使用特权

评论回复
8
b5z1giu| | 2024-5-11 15:17 | 只看该作者
需要考虑是否有其他操作或中断干扰了写入操作,导致数据写入不完整

使用特权

评论回复
9
q1d0mnx| | 2024-5-11 16:13 | 只看该作者
为了确保程序2中读取的数据不被覆盖,可以考虑在程序1中写入数据时,使用某种方式进行标记或保护

使用特权

评论回复
10
g0d5xs| | 2024-5-11 17:22 | 只看该作者
其实可以在写入数据时在Flash中的特定位置写入一个标记,表示该数据已经被写入并且有效

使用特权

评论回复
11
y1n9an| | 2024-5-11 18:28 | 只看该作者
我觉得可以在程序2中读取数据时,首先检查这个标记,如果标记存在且有效,则可以读取相应的数据。这样可以避免程序2覆盖程序1中写入的数据

使用特权

评论回复
12
zhizia4f| | 2024-5-12 07:45 | 只看该作者
Flash的话,只要地址设置好,一般不会覆盖啥的吧

使用特权

评论回复
13
lix1yr| | 2024-5-12 08:30 | 只看该作者
你想要做啥啊?是OTA升级吗?

使用特权

评论回复
14
liu96jp| | 2024-5-12 10:05 | 只看该作者
建议你仔细检查程序1中的写入操作是否正确完成,并考虑在写入数据时添加一些标记或保护机制来确保数据的完整性和不被覆盖

使用特权

评论回复
15
t1ngus4| | 2024-5-12 11:27 | 只看该作者
按理来说,地址设置对了,应该就可以的啊,而且数据地址设置别弄重合了

使用特权

评论回复
16
阿巴斯|  楼主 | 2024-5-28 14:47 | 只看该作者
嵌入式新手hhh 发表于 2024-4-26 15:41
有偿求大佬的flash代码哦~

这个网上还是有教程的

使用特权

评论回复
17
原来是wjc| | 2024-9-28 22:56 | 只看该作者
如果在写入之前没有正确擦除目标扇区,写入的数据可能会覆盖旧数据,但由于Flash特性,实际写入位置可能会有偏移。

使用特权

评论回复
18
原来是wjc| | 2024-9-28 23:14 | 只看该作者
充分体验3 nm工艺技术提供高性能和低功耗性能。

使用特权

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

本版积分规则

7

主题

28

帖子

0

粉丝