韦东山老师的单片机核心课程学习笔记(一)

 MCU是将CPU,RAM,FLASH等器件集成在一起的微控制单元

对于不同的嵌入式系统支持很多不同的启动方式,主要可分为XIP设备启动和非XIP设备启动等。

  • XIP设备启动:是系统上电之后CPU执行的第一条指令是直接在非易失性存储器中执行的,比如被存储在flash中的启动程序(flash就是XIP设备),便可以直接在flash中执行,而不需要拷贝到内存中运行。
  • 非XIP设备启动:如SD卡,USB,UART,网卡等不同的启动方式,这些启动程序一般都是储存在ROM中的,CPU会与ROM直接通信,ROM由于是只读设备,其中的程序需要拷贝到内存中去执行,这个过程称为并非XIP机制。

科普以下XIP这个概念:(35条消息) XIP简介_yangzcc的博客-CSDN博客_xip

系统上电后CPU必须要执行程序!!!

但是如果我们选择了非XIP设备启动,设备上电后CPU无法直接访问非XIP设备中的启动程序,那么CPU需要执行什么程序呢?这些程序被储存在了哪里?

其实我们可以猜到CPU需要执行的第一条指令必定位于CPU可以直接访问的设备中,这个CPU可以直接访问的设备便是集成在MCU中的片上ROM(Chip ROM),设计师们将多种不同的设备启动方式的程序都保存在了ROM中,(这里就产生了一个问题,ROM是只读设备,但是ROM中存储的程序一般都是用C语言来编写的,这会有什么影响呢?举个例子,C语言定义一个变量是可读可写的,但是这变量读写的操作很明显不能在ROM中来干,所以我们读出来的程序需要找个地方运行起来,这便引入了RAM),我们从ROM中读取出来的启动程序都是放到RAM中去运行的。

知道了上面这一点之后,我们发现在MCU中CPU是不用外设进行直接通信的,CPU只与片上ROM通信,而实现CPU与外设通信的中间工作都是由ROM与对应外设的控制器来负责的。

因此,一个MCU,或者更为复杂的SOC的内部原理图可以如下图所示:(来自视频截图)

 可见一个SOC内部集成了CPU,ROM,RAM和多种外设的控制器,并且它支持外接内存和硬盘

其中CPU只负责与ROM通信,ROM与各种外设控制器通信,来实现对应外设的各种功能。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值