[PSOC™] 4148擦写Flash可以跨行操作吗

[复制链接]
 楼主| 善水789 发表于 2024-1-15 16:14 | 显示全部楼层 |阅读模式
对于CY8C4148来说,OTA升级擦写Flash可以跨行操作吗?谢谢。
IFX_Lingling 发表于 2024-1-15 16:47 | 显示全部楼层
我的理解是升级部分的应用程序代码不能跨行写,不然PC的指针访问会出现问题。这个可以参考我们bootloader的底层代码库。
flycamelaaa 发表于 2024-1-16 16:32 | 显示全部楼层
对于CY8C4148微控制器,其OTP(One-Time Programmable)闪存可以进行跨行擦除和编程。这意味着在OTA(Over-The-Air)升级过程中,可以一次性擦除多个Flash行,而不仅仅是单个行。
PSoC小子 发表于 2024-1-19 16:25 | 显示全部楼层
PSOC4 对内部 flash 的操作是以 row 为单位进行的,具体擦除&烧录那个 row 是由固件层的 ProgramRow API 被调用的逻辑来决定的。默认的 bootloader 对 application 进行升级基本都是遵循逐行擦除&烧录的方式进行的,如果你需要不同的擦除烧录顺序,技术上是可行的,只是需要用户自己去对底层逻辑做调整,
IFX-LeiSUN 发表于 2024-1-26 17:12 | 显示全部楼层
操作Flash时可以调用如下函数来进行flash的擦除和写入:
uint32 CySysFlashWriteRow(uint32 rowNum, const uint8 rowData[])
其中rowNum是Flash Row number,是flash row size对齐的。rowData数组包含了要写入的数据,长度必须等于flash row size。

应用层可以实现所有地址的数据写入,需要按照上述API的要求对数据进行分包并逐个page写入即可。
你可以参考PSoC Creator中的Flash Example例子。
如下文档也给出了PSoC4系列的编程规范,供参考。
https://www.infineon.com/dgdl/Infineon-CY8C4xxx_CYBLxxxx_Programming_Specifications-Programming%20Specifications-v07_00-EN.pdf?fileId=8ac78c8c7d0d8da4017d0f66dca2562f
LOVEEVER 发表于 2024-1-28 13:15 | 显示全部楼层
升级部分的应用程序代码不能跨行写
星辰大海不退缩 发表于 2024-1-28 15:44 | 显示全部楼层
PSOC4 对内部 flash 的操作是以 row 为单位进行的
小夏天的大西瓜 发表于 2024-1-28 15:53 | 显示全部楼层
最好按照固有的层级进行编写下载
szt1993 发表于 2024-1-29 22:29 | 显示全部楼层
最好不要跨行进行擦写操作
jf101 发表于 2024-1-29 23:00 | 显示全部楼层
OTA升级擦写Flash不要跨行操作
药无尘 发表于 2024-1-30 22:11 | 显示全部楼层
不可以的
su1yirg 发表于 2024-2-6 14:24 | 显示全部楼层
在OTA(Over-the-Air)升级中,擦写Flash通常是一个关键的操作。对于大多数单片机和嵌入式系统,擦写Flash通常是以页(page)为单位进行的,而页通常是一个固定大小的内存块。因此,擦写Flash通常是不能跨页进行的
b5z1giu 发表于 2024-2-6 15:34 | 显示全部楼层
当进行OTA升级时,如果新固件的大小超过了一个Flash页的大小,那么擦写操作通常需要先擦除整个页,然后再将新的固件数据写入
y1n9an 发表于 2024-2-6 16:39 | 显示全部楼层
如果整个页写,这可能会导致擦写操作的时间较长,同时也需要额外的空间来存储临时数据
q1d0mnx 发表于 2024-2-6 17:44 | 显示全部楼层
在实际的OTA升级实现中,通常会考虑到擦写Flash的限制,采取一些策略来处理跨页擦写的情况,比如将固件分割成适当大小的块,或者使用双缓冲区技术来减少擦写操作的影响
kaif2n9j 发表于 2024-2-6 19:02 | 显示全部楼层
我的理解是不能跨行操作,而且你说的跨行是啥操作啊?
l1uyn9b 发表于 2024-2-6 20:12 | 显示全部楼层
不都是以页为单位吗?咋还跨行了呢?
g0d5xs 发表于 2024-2-6 21:36 | 显示全部楼层
不支持,这么做估计会乱的
lix1yr 发表于 2024-2-7 09:22 | 显示全部楼层
你说的跨行没啥 意义吧,毕竟都被擦除了,之前的数据也没了,你夸行干啥啊
p0gon9y 发表于 2024-2-7 11:13 | 显示全部楼层
不建议这么弄,数据乱不说,而且你组成升级包也费劲啊

您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

31

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

15

主题

31

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部