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

嵌入式程序存储结构

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

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

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

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

 

相关文章:

  • 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工程?以及遇到问题的解决方法
  • 建立网站需要的技术/网络营销品牌有哪些
  • 电商网站界面设计流程/游戏搜索风云榜
  • 重庆网站建设aiyom/产品网络营销策划方案
  • 宁波海曙网站开发/网络营销教程
  • 网站服务器做缓存/百度里面的站长工具怎么取消
  • 淘宝网站推广策略/东莞seo计费