微机构成在嵌入式中的知识点


title: ‘微机组成’
date: 2023-10-17 15:28:30
tags: [嵌入式,微机原理]

如果文章内容有误,请留言

本文发布在个人博客,请勿转载,如有需求,请联系作者
博客地址: 可直接点击访问 https://feiling4.github.io/

一、微机的概念

微机和微处理器的区别:
微处理器(芯片):只是处理和控制部分
微机:是一个完整的计算机系统,有处理和控制功能。
包括:

  • 微处理器
  • 存储器
  • 接口适配器
  • 通用IO

二、嵌入式行业的微机

单片机构成

单片机:

  • 处理器
  • RAM
  • ROM
  • I/O
  • 等电路集成在一块芯片上

现在的单片机都是内核+外围电路,构成。内核由专门的内核公司生产,其他芯片公司,在内核上搭建他们自己需要的外围单片机电路,所以现在有很多的单片机类型:低功耗,入门级等

程序执行过程

上电后,会先初始化堆栈空间,堆栈空间是C语言执行的前提。初始化后,在程序计数器PC(指令地址寄存器)存入第一条要执行的指令的内存地址,也就是程序的起始地址。之后每执行一条指令,程序寄存器PC值自动+1,推动整个程序的执行。如果涉及到函数跳转,条件选择等,本质上就是修改PC里面的地址值,让内核去执行对应的指令,这样程序从完全线性,变成了可选分支的线性。

为什么说堆栈控制是C语言执行的前提?

堆栈空间分为堆和栈。不是一个东西。具体待完善!!!!

函数执行中的局部变量,函数传递的实参,形参,函数的返回地址,返回值等,都需要保存在堆栈空间内。通过程序指针PC的配合,去移动程序执行的顺序,在跳转和执行中,上一个函数的地址和状态,需要进行保存【类似中断的现场保护,但是不是完全相同】

三、微机的构成【暂时不需要了解】

构成

各部分的作用

四、和嵌入式相关的一些疑惑

程序下载在哪里

程序下载到flash中,现在flash(闪存)被ROM(read only memory)替代。但是数据手册里,内存一章,还是用的flash大小,来表示。

ROM:只读存储器,掉电保存,所以用来保存代码。提供指令和程序
RAM:随机访问存储器,掉电不保存,访问速度快,所以用来保存相关的变量参数值。提供变量暂存的空间

程序在哪里执行

程序可以运行在RAM,flash里,根据启动方式的选择不同,会有不通的启动地址。

正常的模式,一般都是运行在flash中。执行过程为:

  • 初始化后,把第一条指令的地址,从ROM(flash)加载到程序寄存器PC中
  • 处理器从PC获取到对应指令的操作数和操作码,进行执行
  • 因为内核从flash中获取指令地址,所以可以说是执行在flash中
  • 这个执行的过程的变量保存在RAM中,保存对应的参数和变量地址等

【感觉讲的不够透彻,需要重新修改】!!!!

如何查看代码占用空间的大小

keil和Makefile,编译完成之后,都会生成一个map文件,该文件的最后一行,就是所占用的ROM和RAM大小。

下图为keil5,编译之后:
在这里插入图片描述

RW Size大小,就是运行时,程序需要的RAM空间。
ROM Size大小就是下载程序时,所占用的空间大小。

RAM空间

RAM:随机访问存储器

RAM空间大小,表示程序运行时,可以使用的空间。例如64KB,表示程序运行中,堆栈空间,函数,变量,局部变量,全局变量,数组等,运行起来之后,最大只能占用这么大,如果超出,就会内存泄漏,导致单片机复位。

ROM空间

ROM:只读存储器,用来保存代码

ROM大小,表示程序所能下载的大小,如512Kb,256Kb等。

对应的转化关系是:

  • 1K == 1024k
  • 1Byte == 8bit

此处需要做转化512Kb = (512 / 8)KB = 64KB。也就是说,该芯片,我最大能下64KB的bin文件。

五、数据存储类型

【可以加上例子,例如哪些常用的单片机使用什么端的存储方式】!!!

小端模式

高位数据在前,低位数据在后。

大端模式

低位数据在前,高位数据在后。

六、寻址方式【工作中没有接触到,暂空】

七、声明

如果文章内容有误,请留言

本文发布在个人博客,请勿转载,如有需求,请联系作者
博客地址: 可直接点击访问 https://feiling4.github.io/

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值