沁恒risc-v蓝牙芯片的flash使用注意点

目录

Ⅰ.调用接口方面(表格中使用CH592F实测)

  ①不论是codeflash还是dataflash,写之前一定要先擦除。dataflash的接口名中带有EEPROM字样,但本质上它还是flash。

  ②操作flash相关接口,在库中已包含失能/恢复中断 ,无需应用层代码再添加。

  ③操作flash接口导致硬件错误复位,常见情况是4字节对齐问题导致,排查方法见博客:CH57x/CH58x/CH32V wch risc-v 芯片hardfault问题追踪&程序卡死追踪 - iot-fan - 博客园 (cnblogs.com)

 

Ⅱ.手册信息,介绍了擦写寿命、单词扇区擦除操作时间。RISC-V内核的CH5Xx蓝牙MCU此处参数相差不大。

 

Ⅲ.BLE例程中使用到的dataflash区域。注意避开或是在宏定义中重新规划。

如果使用的是CH57x系列、CH58x系列(包括CH582系列和CH585系列),以及非CH592A这一型号且已使用了CH59x的24年9月前的EVT包的情况下,可以参考以下表格中的地址:

 

如果使用的是CH592A这一特定型号,那么dataflash一定要按下方表格配置。

25年及以后发布的CH592EVT包已改成兼容CH592A的下表地址。如果实际用其他59x系列MCU如CH592F、CH591D等,可自定义修改;可改成与上方表格一致的地址配置来节省空间;已量产的代码也可以继续使用,不必修改到兼容CH592A的代码。

BLE代码中,由于CH592A的dataflash擦除单位为4K,不建议在0x7000~0x7FFFF范围内存放自定义内容,实际默认使用256字节来保存单个设备的配对绑定信息(0x7000~0x70FF为1个,依次往后保存)。

 

 Ⅳ.操作dataflash时间开销实测(表格中使用CH592F实测)

注意CH592A这个型号,支持了105℃工作,其code/dataflash都只支持4096字节”块擦“

②codeflash的擦写速度也可以参考该表格。

③仅做大致参考,未排除温度、逻辑分析仪性能(实测使用1G采样率)等因素的干扰。

字节数

擦除时长(ms)

写入时长(ms)

读出时长(us)

1

17.14

2.2

7

100

17.15

2.2

48

256(1页)

17.15

1.6

110

300

34.28

3.7

127

500

34.27

3.7

207

512(2页)

34.28

3.2

212

513

51.45

5.3

212

4096(1块)

17.13

25.5

1.65ms

4096+256(1块+1页)

34.32

27.1

1.75ms

4096+300

51.44

29.2

1.76ms

posted @   JayWell  阅读(377)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示