01.先导

1. 概念

mcu:MCU是将CPU,RAM,FLASH等器件集成在一起的微控制单元。MCU(Micro Control Unit),叫微控制器,是指随着大规模集成电路的出现及其发展,把中央处理器、存储器、定时/计数器(timer/counter)、各种输入输出接口等都集成在一块集成电路芯片上的微型计算机,形成芯片级的芯片。与应用在个人电脑中的通用型微处理器相比,它更强调自供应(不用外接硬件)和节约成本。它的最大优点是体积小,可放在仪表内部,但存储量小,输入输出接口简单,功能较低。
mpu:MPU (Micro Processor Unit),叫微处理器,是可编程特殊集成电路。MPU只是一个处理器,需要搭配内存等非常多的其他外设才可以构成一个系统。MCU内部有处理器、内存、Flash及其他模块,仅仅需要搭配少量外设就可以构成一个系统。

系统上电,CPU一定要执行某些程序。

Flash(非易失性存储介质)

SPI FLASH:
首先它是个Flash,分为NOR和NAND两种。SPI一种通信接口。那么严格的来说SPI Flash是一种使用SPI通信的Flash,即,可能指NOR也可能是NAND。但现在大部分情况默认下人们说的SPI Flash指的是SPI NorFlash。早期Norflash的接口是parallel的形式,即把数据线和地址线并排与IC的管脚连接。但是后来发现不同容量的Norflash不能硬件上兼容(数据线和地址线的数量不一样),并且封装比较大,占用了较大的PCB板位置,所以后来逐渐被SPI(串行接口)Norflash所取代。同时不同容量的SPI Norflash管脚也兼容封装也更小。,至于现在很多人说起NOR flash直接都以SPI flash来代称。

  1. XIP(executed in place)本地执行:是系统上电之后CPU执行的第一条指令是直接在非易失性存储器中执行的,比如被存储在flash中的启动程序(flash就是XIP设备),便可以直接在flash中执行,而不需要拷贝到内存中运行,直接在代码的存储空间直接运行。
    XIP是一种能够直接在闪速存储器中执行代码而无须装载到RAM中执行的机制。
    XIP的原理很简单,即指操作系统或应用程序直接从非易失性存储器中执行。
  2. 非XIP设备启动:如SD卡,USB,UART,网卡等不同的启动方式,这些启动程序一般都是储存在ROM中的,CPU会与ROM直接通信,ROM由于是只读设备,其中的程序需要拷贝到内存中去执行,这个过程称为并非XIP机制。

假设系统支持SPI FLASH启动,这就意味着,上电后,CPU要执行SPI FLASH上的代码。但SPI FLASH不是XIP设备,CPU无法直接执行里面的代码。CPU执行的第一个程序就存放在片上的ROM中。ROM中的程序帮助CPU运行SPI FLASH中的程序。可读可写的变量放在RAM中。但是随着程序越来越复杂,就又加入了DDR内存。
CPU发出的地址通过memory control,分发到RAM,外接设备等对应的模块中。

一个芯片,不仅有CPU,还有各种控制器。叫做SOC(片上系统) system on chip

posted @ 2024-09-25 11:36  yyyyyllll  阅读(99)  评论(0)    收藏  举报