当前位置: 首页 > news >正文

【沁恒蓝牙mesh】CH58x flash分区与数据存储管理

本文主要介绍了 沁恒蓝牙芯片 CH58x 的flash 分区与数据存储管理

📋 个人简介

  • 💖 作者简介:大家好,我是喜欢记录零碎知识点的小菜鸟。😎
  • 📝 个人主页:欢迎访问我的 Ethernet_Comm 博客主页🔥
  • 🎉 支持我:点赞👍+收藏⭐️+留言📝
  • 📣 系列专栏:沁恒蓝牙mesh二次开发
    🍁
  • 💬格言:写文档啊不是写文章,重要的还是直白!🔥

【沁恒蓝牙mesh】CH58x flash分区与数据存储管理

  • 1. CH583的flash分区
  • 2.code分区介绍
    • 2.1【蓝牙配网数据存储】
    • 2.2 【蓝牙mesh 配网信息数据存储】
    • 2.3 【数据存储示意图】

1. CH583的flash分区

参考: 蓝牙mesh组网实践(dataflash的占用与管理)

512Kb 的 flashRom 0x0000_0000 - 0x0007_FFFF = 512Kb

地址范围用途描述
0x00000000-0x0006FFFFCH583/CH582:用户应用程序存储区 CodeFlash448KB
0x00000000-0x0002FFFFCH581:用户应用程序存储区 CodeFlash192KB
0x00070000-0x00077FFF用户非易失数据存储区 DataFlash32KB
0x00078000-0x0007DFFF系统引导程序存储区 BootLoader24KB
0x0007E000-0x0007FFFF系统非易失配置信息存储区 InfoFlash8KB

通过上位机读取的是 DataFlash 中的数据,上位机显示的是 0x0000 - 0x8000 ,上位机做了0x7000h的偏移,实质的flash地址为 0x00070000-0x00077FFF 范围减去0x7000h,地址范围为: 0x0000_0000 - 0x00007FFF
在这里插入图片描述
在这里插入图片描述

2.code分区介绍

从上一小节介绍,CH58x的 codeflash 分区为 0x00000000-0x0006FFFF,统共 0x70000 = 448 kb 的空间

整个 code 区分为5块:

  • 前4K : 4k (0-4)
  • imageA(APP): 152K (4-156)
  • imageA(OTA): 152K (156-308)
  • imageA(IAP): 4K (308-312)
  • LIB : 136K (312-448)

存放 OTA_DATAFLASH 的地址: 0x00077000 - 0x070000 =0x7000

2.1【蓝牙配网数据存储】

codeflash : 0x00070000-0x00077FFF

若使用到了BLE且配对绑定保存置为true,那么配对绑定的信息保存在dataflash尾部,

BLE_SNV_ADDR - SNV信息保存地址,使用data flash最后( 默认:0x77E00 )

#define BLE_SNV_ADDR 0x77E00-0x70000 = 0x7e00 // 这是一个偏移地址

实质的flash地址为 0x00070000-0x00077FFF 范围减去0x7000h,偏移地址为 0x0000 - 0x8000

所以存储区间为偏移后的地址:0x7e00 - 0x8000 (512字节)

2.2 【蓝牙mesh 配网信息数据存储】

默认mesh协议栈占用的dataflash首地址从0开始,占用3个扇区,每个扇区大小4K,配网信息只占用最前面的部分,即默认保存在dataflash首地址起往后的200个字节内。

const struct device app_dev = {.api = {.read = read_flash,.write = write_flash,.erase = erase_flash,.write_protection = flash_write_protection,},.info = {.nvs_sector_cnt = CONFIG_MESH_SECTOR_COUNT_DEF,   /*占用3个扇区*/.nvs_write_size = sizeof(int),					  /*4字节为单位*/.nvs_sector_size = CONFIG_MESH_SECTOR_SIZE_DEF,  /*每个扇区4096*/.nvs_store_baddr = CONFIG_MESH_NVS_ADDR_DEF,		/*起始地址为0*/},
};

2.3 【数据存储示意图】

在这里插入图片描述

http://www.lryc.cn/news/107207.html

相关文章:

  • Ctfshow web入门 JWT篇 web345-web350 详细题解 全
  • 2023年国家留学基金委(CSC)青年骨干教师项目即将开始申报
  • GC垃圾回收器【入门笔记】
  • 在 React 中渲染大型数据集的 3 种方法
  • uniapp iOS 消息推送扩展:后台/杀死app进程状态能语音播报
  • 批量创建可配置物料参数文件
  • 性能压力测试的重要性与实施方法
  • HCIP入门静态实验
  • Vue与js的融合,如何编写现代化的前端应用
  • Boost开发指南-3.10singleton_pool
  • 腾讯云从业者认证考试考点——云网络产品
  • Miniled透明屏:超薄、轻便,还有哪些特点?
  • MySQL 极速安装使用与卸载
  • 举个栗子!Tableau 技巧(256):灵活折叠文本表的多级数据行
  • Android View 初始化完成后,如果再调用measure再设置点击事件则点击事件会失效的解决方案
  • 客户端电脑使用 FTP的Cadence_CIS库方法说明 (下)
  • 【ES】笔记-let 声明及其特性
  • wps 预加载项插件本地开发启动项目打开wps 客户端,未看到加载项菜单,
  • uni-app开发微信小程序经常遇到的一些问题及解决方案
  • 一个 git 仓库下拥有多个项目的 git hooks 配置方案
  • 钉钉对接打通金蝶云星空获取流程实例列表详情(宜搭)接口与其他应收单接口
  • 用python做一个小项目,python做简单小项目
  • 输入筛选框搜索
  • 公司植物日常护养方法备忘录
  • 小红书JAVA后端一面汇总总结
  • 【图论】强连通分量进阶
  • perl GetOptions
  • QGIS下载谷歌地图或者其他地图
  • Python-re模块-正则表达式模块常用方法
  • 修改el-select或者el-input样式失效