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

嵌入式程序存储结构

        最近有同事说资源不够用了,这里的资源说的是RAM(内存),但是硬件资源就这么点,怎么解决呢?实际上资源是够用的,只是分配不合理罢了,作为软硬通吃的全栈工程师,这点难不倒我。

        我们知道,所有的程序只有两部分结构,指令和变量,指令是让控制器知道要干啥,而变量(数据)是那个被干的对象(操作数),程序是指令和变量的合集,那么他们在CPU系统里面如何存储,存在哪里?下面这张图总结的很好,

        对于小型的嵌入式CPU(51单片机,M核单片机等),没有足够的RAM,程序一般运行在flash中,即.text内容不需要搬运到RAM,对于高端一点的CPU(如R核,A核单片机),运行的功能比较多,系统资源也比较多的场景,可以将.text搬运到RAM运行,一般的跑大型操作系统的设备程序都是运行在内存中。

        在资源(flash和RAM)紧张的平台上,根据上面的图我们就可以对程序进行一定的优化,合理安排变量的类型,将资源合理的分布在flash和RAM里。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.dtcms.com/a/244305.html

相关文章:

  • postman调用接口报错401, Unauthorized, Invalid Token. null解决办法
  • 论文笔记 -《MegaBlocks- Efficient Sparse Training with Mixture-of-Experts》
  • 第27节 Node.js Buffer
  • AI中间件,构建大模型应用的标准化接入枢纽
  • ptyhon 导入本地模块 no module named Python Error几种解决方案
  • Docker安装mysql数据库后显示时间问题
  • 若依微服务Openfeign接口调用超时问题
  • 【网页端数字人开发】基于babylonjs+mediapipe实现视频驱动数字人姿态生成
  • 大型语言模型的中毒攻击的系统评价
  • 汽车租赁小程序开发指南
  • URL末尾加“/“与不加“/“区别
  • Java面试题019:一文深入了解微服务之负载均衡Ribbon
  • vscode界面设置透明度--插件Glasslt-VSC
  • mysql递归查询所有父节点拼接父节点名称
  • 随记 使用certbot申请ssl证书
  • 去除百度AI图像中包含的水印内容
  • 【亲测可行】linux安装miniforge miniconda无痛迁移到miniforge
  • 保险丝的作用、基本参数和选型
  • 使用R进行数字信号处理:婴儿哭声分析深度解析
  • 如何创建vue工程?以及遇到问题的解决方法
  • 佰力博科技与您探讨铁电材料电滞回线测量法
  • 从一组线段中得出四边形的算法
  • 代码训练LeetCode(29)最后一个单词的长度
  • (LeetCode 动态规划(基础版) )337. 打家劫舍 III (深度优先搜索dfs)
  • [特殊字符] Altair:用Python说话,让数据自己讲故事!!!
  • SpringBoot使用oshi获取服务器相关信息
  • innovus自动绕RDL线
  • GIS数据制备,空间分析与高级建模实践技术应用
  • C++异常处理深度解析:try-catch全方位指南
  • GPT-ArcGIS 在生态评价中的综合应用:多因子权重分析与适宜性制图