[单片机芯片] 【CH32X035评估板测评】+2 用户选择字存储使用说明及发现的问题

[复制链接]
 楼主| 6552918 发表于 2023-10-15 21:43 | 显示全部楼层 |阅读模式
#申请原创# #技术资源# @21ic小管家

最近测试时想使用flash存储些数据,看了下X035的存储器分配
aca8b4290bfc4f88664e1f9c8a661058
10d0f6d4bb6ced5ac7c0fa1dff0b8e1e
可供用户使用的存储器有程序最大 62K 字节的程序闪存存储区(CodeFlash)和256 字节用于用户选择字存储区
由于不想占用程序闪存存储区就研究了一下用户选择字存储区,虽然描述中用户选择字存储区大小为256字节,但在详细描述中却只介绍了用户选择字信息块的8个字节,对于其他地址的信息没有任何描述。
7ca9435d65cdab141e5637a292de7572
1222ec8255298ea89f9fa1bfe604fa09 难道用户选择字存储区只有0x1FFFF800---0x1FFFF80C地址的数据可以使用吗?
看了下官方例程,也是只进行了0x1FFFF800---0x1FFFF80C地址的数据进行读写测试
1ffb6847fce8c04c19a7e9fa19cb26e2
仔细研究了一下例程的函数,和用户选择字存储区相关的函数有3个
701393ab9f7513e5b015df5c972b2f1c
在函数库内还发现库文件修改不彻底的如下描述
f53194dd39ddac740b18595ae97eea70
通过寄存器对比发现,用户选择字内容,改写后,设备复位后会被映射到FLASH_OBR和FLASH_WPR,这两个寄存器均为只读。
32f88ffe2237c03cd967bf3fd72ce70a
11c6ff9310deec71421963d00f700408
并且发现一处描述不清晰的地方,
5db0103cf155d2c6bda281955b4be59b
b3ff6ee294a974e709d8a858791468fe
在文字描述中两个参数描述的内容不一致,不清楚改怎么用,直到看到了例程源码才大概知道是怎么回事,**原厂尽快统一描述!!!
6ebb88e70530b3b66a2f3897291125bc
而用户选择字存储区0x1FFFF80C之后的存储区如何使用就只能自己摸索了。于是我使用flash例程做的如下测试
前4的字的地址是0x1FFFF800---0x1FFFF80C
第五个字的地址是0x1FFFF810(buf[4])
de093c4bbd5d4a981676cf2e23c10ff2
7f5bbc553d77fb33690d0905de6814ff
运行结果如下
4d3581887841b8a18d706bd232dbce31
写入的测试 数据和读写的测试数据一致,说明从0x1FFFF810开始往后的地址用户可以正常使用 544dc19b1cffc482d48ec1b10beb6261
总结:用户选择字存储区的前4个字(16个字节)存储区是有专门用途或格式要求的(每个字节有对应的反码),而后面的240个字节就没有格式要求了,可是按自己的意愿随意使用,但每次改写前都要先把前4个字的内容保存好再一起重新写入才行。

评论

不错,赞一个  发表于 2023-10-30 21:50
tpgf 发表于 2023-11-7 15:14 | 显示全部楼层
使用这种存储方式是不是需要注意大小端的问题啊
木木guainv 发表于 2023-11-7 15:52 | 显示全部楼层
一般闪存之类的存储介质都是以什么单位进行操作的啊
磨砂 发表于 2023-11-7 16:54 | 显示全部楼层
这个相关的要求是要根据具体的芯片型号来定的吗
 楼主| 6552918 发表于 2023-11-7 17:27 | 显示全部楼层
磨砂 发表于 2023-11-7 16:54
这个相关的要求是要根据具体的芯片型号来定的吗

是  没款型号可能有差异
 楼主| 6552918 发表于 2023-11-7 17:27 | 显示全部楼层
木木guainv 发表于 2023-11-7 15:52
一般闪存之类的存储介质都是以什么单位进行操作的啊

这个不一定,要看手册
八层楼 发表于 2023-11-7 19:19 | 显示全部楼层
不同型号的存储芯片的存储方式差别大不大呢
晓伍 发表于 2023-11-7 19:49 | 显示全部楼层
写入的地址必须是指定的吗?
xiaoqizi 发表于 2023-11-7 20:20 | 显示全部楼层
字模式和字节模式相比有什么优势呢
 楼主| 6552918 发表于 2023-11-8 10:23 | 显示全部楼层
八层楼 发表于 2023-11-7 19:19
不同型号的存储芯片的存储方式差别大不大呢

不大
 楼主| 6552918 发表于 2023-11-8 10:24 | 显示全部楼层
晓伍 发表于 2023-11-7 19:49
写入的地址必须是指定的吗?

是要指定地址
 楼主| 6552918 发表于 2023-11-8 10:24 | 显示全部楼层
xiaoqizi 发表于 2023-11-7 20:20
字模式和字节模式相比有什么优势呢

效率上可能会有差别
chenjun89 发表于 2023-11-9 10:02 来自手机 | 显示全部楼层
MCU内部FLASH适合用来存储少量不用经常更改的变量。
 楼主| 6552918 发表于 2023-11-9 10:05 | 显示全部楼层
chenjun89 发表于 2023-11-9 10:02
MCU内部FLASH适合用来存储少量不用经常更改的变量。

是的,我用来存储数据的不是程序flash,是数据flash,但厂家提供的文档描述的很不清楚
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:北京汇冠触摸技术有限公司/电子工程师
简介:电子工程师,嵌入式应用爱好者。

102

主题

1290

帖子

10

粉丝
快速回复 在线客服 返回列表 返回顶部
认证:北京汇冠触摸技术有限公司/电子工程师
简介:电子工程师,嵌入式应用爱好者。

102

主题

1290

帖子

10

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