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

百度收录效果好的网站北京seo网站诊断

百度收录效果好的网站,北京seo网站诊断,那个大学业做网站,网站开发哪种语言更安全一、存储区划分与变量分类 STM32的存储空间分为Flash(非易失性)和RAM(易失性)两大区域: ​Flash存储器 ​代码段(Code)​:存储程序指令和常量(如字符串、const变量&…

一、存储区划分与变量分类

STM32的存储空间分为Flash(非易失性)和RAM(易失性)两大区域:

  1. Flash存储器

    • 代码段(Code)​:存储程序指令和常量(如字符串、const变量)。
    • RW-Data段:存储已初始化的全局变量和静态变量的初始值,这些值在启动时会被复制到RAM中。
    • RO-Data段:存放只读数据(如const修饰的全局变量)。
  2. RAM存储器

    • Data段:存放已初始化的全局变量和静态变量的运行时值(从Flash的RW-Data段复制而来)。
    • BSS段:存放未初始化或初始化为0的全局变量和静态变量,启动时由系统清零。
    • 堆(Heap)​:动态内存分配区域(如malloc申请的内存)。
    • 栈(Stack)​:存储局部变量和函数调用上下文。

二、启动时的数据加载流程

STM32上电后,启动文件(如startup_stm32fxxx.s)会执行以下操作:

  1. 初始化栈和堆指针
    根据链接脚本(.ld或.sct文件)定义的Stack_SizeHeap_Size分配内存空间。

  2. 复制RW-Data到RAM

    • 从Flash的RW-Data段(如地址0x08000000+Code_Size)读取已初始化变量的初始值。
    • 将这些值复制到RAM的Data段(如起始地址0x20000000)。
  3. 清零BSS段
    将RAM中BSS段对应的区域全部初始化为0。

  4. 跳转到main函数
    完成上述初始化后,程序开始执行用户代码。


三、关键机制详解

1. ​RW-Data的双重存储
  • Flash中的静态存储:初始值保存在Flash的RW-Data段(如0x0800xxxx)。
  • RAM中的动态运行:启动时复制到RAM的Data段(如0x2000xxxx),确保变量在运行时可修改。
2. ​const变量的特殊处理
  • 全局const变量:存储在Flash的RO-Data段,无法修改。
  • 局部const变量:可能存储在栈中(取决于编译器优化),但仍为只读。
3. ​动态数据管理
  • 堆区:通过malloc动态申请的内存位于堆区,需手动释放。
  • 栈区:局部变量和函数参数自动分配/释放,空间有限需避免溢出。

四、实例分析与调试

1. ​查看变量存储位置

通过编译生成的.map文件可确认变量分配:

  • Code和RO-Data:映射到Flash地址(如0x08000000)。
  • RW-Data和BSS:映射到RAM地址(如0x20000000)。
2. ​手动访问Flash数据

通过指针可直接读取Flash中的变量初始值:

// 读取Flash中0x08000000地址的32位数据
uint32_t flash_data = *(__IO uint32_t*)(0x08000000);

此方法常用于读取存储在Flash末页的配置参数。

3. ​优化存储空间
  • 减少全局变量,优先使用局部变量和静态变量。
  • 合理设置堆栈大小(通过修改启动文件)以避免溢出。

五、高级应用场景

1. ​IAP(在应用中编程)​

将用户数据存储在Flash末页,通过HAL_FLASH_Program函数动态更新。

2. ​选项字节配置

通过操作选项字节(Option Bytes)设置读/写保护,增强安全性。

3. ​从Flash搬移代码到RAM执行

对实时性要求高的函数(如中断服务程序),可将其加载到RAM中运行以提升速度。

http://www.dtcms.com/a/547642.html

相关文章:

  • 在哪个网站做推广好网站建设费用应按几年摊销
  • 黄陂区建设局网站谷歌搜索引擎大全
  • 全网推广平台推荐快速排名优化怎么样
  • vs2008做网站长春做网站费用
  • 外贸出口工艺品怎么做外贸网站贵阳市城乡建设学校网站
  • 免费拓客软件seol英文啥意思
  • 长沙可以做网站的公司南宫企业做网站
  • 做网站平台需要什么条件遂宁市网站建设
  • 学院网站群建设方案上海网站络公司
  • 关于服装的网站规划与设计定制网站开发报价单
  • 怎样创建网站详细步骤咖啡网页制作素材
  • 全国知名网站排名潍坊网站建设方案外包
  • 在线建站网站工作手机
  • 做网站接雕塑业务泰安网站建设公司哪家好
  • 网站没有内容 备案能成功吗搜索引擎的工作原理分为
  • 广东建网站国家企业信用信息公示系统官网全国
  • 做网站有关机械的图片建微网站需要购买官网主机吗
  • 怎么用服务器ip做网站网站开发工作量
  • 做自媒体的有哪些素材网站wordpress多站批量发布
  • 网站建设前台后台教站点地址和wordpress区别
  • 接单做效果图网站广东省优质高职院校建设网站
  • 没网站怎么做cpa专门做狗猫配套网站有什么意思
  • 网站开发做账国家企业信用信息公示系统查询
  • 做网站哪里最便宜订阅号 wordpress
  • 网站的免费空间是什么深圳宝安网站设计公司
  • 创新的企业网站建设校园网登录入口
  • 做的网站怎么打开是白板网站开发基于什么平台
  • 网站建设费用用常用的seo工具的是有哪些
  • 免费站长工具网站推广现状
  • 最低成本做企业网站高校对网站建设的重视