关于CYT2B75flash读取的问题

公告

大中华汽车电子生态圈社区并入开发者社区- 更多资讯点击此

Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
lock attach
Attachments are accessible only for community members.
asyulin
Level 3
Level 3
25 sign-ins 5 questions asked 10 replies posted

您好,在使用SDL中关于flash的例程时,发现访问地址读取到的flash的数据与预想的有偏差,并且在IAR调试器中仿真,也会有程序跑飞的现象。请问这可能是什么原因?谢谢。

0 点赞
1 解答
Jimmy_L
Moderator
Moderator
Moderator
250 replies posted 250 sign-ins 50 solutions authored

你好,

可以在读之前先进行blank check,如果返回success说明区域为空不能读,因为此时读会返回unknown结果导致报错。此外可以进行读取。

之前那个community的thread有讨论过,您可以参考下。

在原帖中查看解决方案

0 点赞
8 回复数
Jimmy_L
Moderator
Moderator
Moderator
250 replies posted 250 sign-ins 50 solutions authored

Hi asyulin,

请问您用的SDL版本是多少?

如果不改sample code测试会有问题吗?

0 点赞
asyulin
Level 3
Level 3
25 sign-ins 5 questions asked 10 replies posted

您好,我使用的是7.50版本的,直接跑sample code 程序没有问题不会跑飞, 但是sample code的执行顺序是,erase -> write -> read,而目前我们这边需要 read->判定是否需要 erase->write,我们修改了代码,read指定地址的内容时候,会发生错误。

0 点赞
asyulin
Level 3
Level 3
25 sign-ins 5 questions asked 10 replies posted

所以想请教,是否是我们read方式有问题

0 点赞
asyulin
Level 3
Level 3
25 sign-ins 5 questions asked 10 replies posted

提供的cy_mw_flash.c文件中,没有找到read flash的相关函数。

0 点赞
Jimmy_L
Moderator
Moderator
Moderator
250 replies posted 250 sign-ins 50 solutions authored

Hi asyulin,

sample code里面program之后的verify操作就是读相关操作。

读取操作要对已写入的区域进行操作,否则会报错。而如果读取区域还在erase state则会读取到随机数。

community有个类似的讨论可参考

https://community.infineon.com/t5/TRAVEO-T2G/CYT2B6%E9%9D%9E%E9%98%BB%E5%A1%9Ework-flash%E8%BF%9B%E8...

0 点赞
asyulin
Level 3
Level 3
25 sign-ins 5 questions asked 10 replies posted

请问一下,还有没有什么方法,读取workflash,但是不需要执行erase->write等操作。

0 点赞
Jimmy_L
Moderator
Moderator
Moderator
250 replies posted 250 sign-ins 50 solutions authored

你好,

可以在读之前先进行blank check,如果返回success说明区域为空不能读,因为此时读会返回unknown结果导致报错。此外可以进行读取。

之前那个community的thread有讨论过,您可以参考下。

0 点赞
asyulin
Level 3
Level 3
25 sign-ins 5 questions asked 10 replies posted

谢谢,通过blank check解决了问题

0 点赞