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

网站更新前知道内容网站后台管理模板免费下载

网站更新前知道内容,网站后台管理模板免费下载,乌海seo公司,河南省省建设厅网站1. Flash#xff08;闪存#xff09;#xff08;程序存储器#xff09; 用途 存储程序代码#xff1a;编译后的机器指令#xff08;如 .text 段#xff09;、常量数据#xff08;如 .rodata 段#xff09;等。 掉电不丢失#xff1a;程序固化在 Flash 中#xff0…1. Flash闪存程序存储器 用途 存储程序代码编译后的机器指令如 .text 段、常量数据如 .rodata 段等。 掉电不丢失程序固化在 Flash 中重启后仍存在。 特点 只读或需擦除写入运行时不可直接修改需特殊操作如 Flash 编程。 访问速度较慢比 RAM 慢但容量较大STM32 的 Flash 通常为几十 KB 到几 MB。 寿命有限Flash 有擦写次数限制约 1 万~10 万次。 示例 STM32 的 .hex 或 .bin 文件烧录到 Flash 中CPU 从 Flash 读取指令执行。 2. RAM随机存取存储器数据存储器 用途 存储运行时数据包括全局变量、静态变量、栈、堆等。 掉电丢失数据仅在供电时保持。 特点 可读写直接通过指令如 LDR/STR操作。 访问速度快适合频繁读写的临时数据。 容量较小STM32 的 RAM 通常为几十 KB 到几百 KB。 RAM 的细分区域 栈Stack 存储函数调用的临时数据局部变量、返回地址等。 由编译器自动管理向下增长高地址 → 低地址。 堆Heap 存储动态分配的内存如 malloc 分配。 由程序员手动管理向上增长低地址 → 高地址。 全局/静态变量区 存储全局变量.data 段和未初始化的静态变量.bss 段。 3. 栈Stack与堆Heap 位置均位于 RAM 中但方向相反栈向下堆向上。 管理方式 栈由编译器自动管理通过 PUSH/POP 或函数调用。 堆需手动分配/释放malloc/free在单片机中较少使用。 典型问题 栈溢出Stack Overflow函数嵌套过深或局部变量过大。 堆内存泄漏Heap Leak未释放动态内存。 4. 四者的关系与内存布局 内存分布示例STM32 plaintext 复制 Memory Address↑| 0xFFFFFFFF (不存在的地址)| ... | Heap向上增长 ← 堆顶Heap Top| ... | 未使用的 RAM 空间| ... | Stack向下增长 ← 栈顶Stack Top| 全局/静态变量.data/.bss| ↓ 0x00000000RAM 起始地址 Flash 与 RAM 的分工 Flash存放代码和常量只读CPU 直接从 Flash 取指令执行。 RAM存放运行时的变量和临时数据可读写。 5. 对比表格 特性FlashRAM栈Stack堆Heap用途存储代码、常量存储变量、栈、堆函数调用时的临时数据动态分配的内存读写速度慢快快直接操作栈指针慢需内存管理生命周期永久掉电不丢失临时掉电丢失随函数结束释放需手动释放管理方式编译器分配编译器/程序员分配编译器自动管理程序员手动管理增长方向无无向下高→低地址向上低→高地址典型问题擦写次数耗尽容量不足栈溢出内存泄漏、碎片化 6. 实际开发中的关键点 Flash 相关 代码优化减少 Flash 占用如启用编译器优化 -Os。 常量存储使用 const 关键字将常量放入 Flash而非 RAM。 固件更新通过 Bootloader 更新 Flash 中的程序。 RAM 相关 全局变量最小化避免占用过多 RAM。 栈大小配置在启动文件如 startup_stm32xxxx.s中设置足够栈空间。 堆的谨慎使用在单片机中尽量避免动态内存分配。 调试技巧 内存溢出检测 使用调试器监视栈指针SP和堆指针。 在栈和堆的边界填充特定模式如 0xDEADBEEF通过断点检测溢出。 链接脚本分析 检查 .ld 文件明确 Flash 和 RAM 的地址分配。 内存使用统计 通过编译生成的 .map 文件查看各段.text, .data, .bss的大小。 7. 示例STM32 的启动文件配置 在 STM32 的启动文件如 startup_stm32f4xx.s中Flash 和 RAM 的分配通过链接脚本.ld定义 /* 链接脚本片段 */ MEMORY {FLASH (rx) : ORIGIN 0x08000000, LENGTH 512K /* Flash 起始地址和大小 */RAM (xrw) : ORIGIN 0x20000000, LENGTH 128K /* RAM 起始地址和大小 */ }/* 栈和堆大小的定义 */ _stack_size 0x1000; /* 4KB 栈 */ _heap_size 0x200; /* 512B 堆 */
http://www.hkea.cn/news/14591766/

相关文章:

  • 钢管网站建设深圳平台设计
  • app开发需要用到哪些工具seo优化的基本流程
  • 如何建单页网站上海闸北城市建设有限公司网站
  • 邢台做网站企业把自己做的网站上传到服务器
  • 公司做网站入什么科目信息发布型网站是企业网站的什么
  • 简捷的网站开封网站优化
  • 网站优化与seo四川住房和城乡建设部网站首页
  • 建网站专用网站天津建筑工程公司有哪些
  • 如何自己做网站优化做网站建设推广好做吗
  • 鲜花网站建设结构布局网站建设7
  • 山西企业建站系统平台企业营销网站建设系统
  • 济南免费建站申请网址费用
  • 网站建设单位排名免费的ppt制作软件
  • 免费网站站长推广免费无货源代理
  • 12380网站建设存在的问题无锡建设局网站一号通
  • 重庆建网站的公司集中在哪里网站 设计 工具
  • 陕西煤化建设集团铜川分公司网站wordpress 贴吧
  • 网站建设背景及意义温州网站关键词排名
  • 1元云购网站建设如何搭建购物平台
  • 重庆最大的网站制作公司医院网站建设滞后
  • 转塘有做网站的吗设计素材网站排行榜前十名
  • 深圳宝安美容医院网站建设17货源网一件代发
  • 网站建设、百度推广株洲网站建设开发
  • 网站源代码怎么下载一级a做爰片官方网站
  • wordpress快速仿站视频教程做性视频大全在线观看网站
  • 做网站需要准备些什么做全景的网站
  • 茂港网站建设公司郑州上海做网站的公司有哪些
  • 怎样做旅游视频网站wordpress vs jumoola
  • 有什么检索标准的网站产品软文案例
  • 建设网站备案与不备案区别英文自助建站