1.什么是嵌入式系统
首先我们要知道计算机系统分为大型机、通用计算机和嵌入式系统三大类。
计算机系统的发展,经历了由1台计算机系统为N个人服务的大型机时代到由1台计算机系统为1个人服务的PC时代,正在步入由N台计算机系统为1个人服务的嵌入式时代。
嵌入式系统(Embedded System)是一种专门为特定任务设计的计算机系统,通常嵌入在更大的设备或系统中,用于控制、监控或执行特定功能,所以叫嵌入式。与通用计算机(如笔记本电脑)不同,嵌入式系统通常具有专用性、实时性和资源受限的特点。
2.什么是嵌入式处理器
嵌入式系统的硬件是嵌入式系统运行的基础,提供嵌入式软件运行的物理平台和通信接口。嵌入式系统的硬件由嵌入式处理器、嵌入式存储器以及嵌入式I/O接口和设备共同组成。需要注意的是,在某些嵌入式处理器(尤其是微控制器)中,存储器是集成在芯片内部的,而在其他情况下(如微处理器),存储器可能是外部的。
嵌入式系统以嵌入式处理器为核心,以嵌入式存储器作为程序和数据的存储介质,借助总线相互连接,通过嵌入式I/O接口和I/O设备与外部世界联系。
所以嵌入式处理器是嵌入式系统硬件的核心,现在几乎所有的嵌入式系统都是基于嵌入式处理器设计的。嵌入式处理器与传统PC上的通用CPU最大的不同在于嵌入式处理器大多工作在为特定用户群所专用的设计的系统中,它将通用CPU许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统在设计时趋于小型化,同时还具有很高的效率和可靠性。
3.嵌入式处理器的主要分类
主要分为三大类微控制器(MCU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)。以上三者组成了我们常见的嵌入式设备。
注意,微控制器(也称为单片机)由于体积小巧,为了便于学习和开发,市面上出现了许多基于相同微控制器的不同开发板。这些开发板为学习和原型设计提供了便利。
4.嵌入式中什么是硬件,软件,固件
硬件是嵌入式系统中的物理组件,包括传感器、执行器、存储器等。其中,处理器和存储器相当于人的大脑,处理器负责思考和支配身体,存储器负责记忆知识,而传感器和执行器相当于人的四肢,传感器帮助人获取知觉,执行器负责执行大脑指定的动作。硬件是嵌入式系统的基础,开发者需要设计和布局硬件电路,选择适当的处理器和外围设备,以满足系统需求。
软件包括应用程序和操作系统。软件是嵌入式系统的核心,开发者根据系统的计算和控制任务开发相应的操作系统与应用程序。
把两者联系起来的是固件,它是介于硬件和软件之间的一类软件,是存储在非易失性存储器中的代码和数据,作为嵌入式系统的桥梁,用于初始化硬件、加载操作系统或直接执行控制功能。
电脑和单片机在软件和固件的存储与执行方式上有所不同。在电脑中,软件通常安装在硬盘上,而固件则安装在ROM中。当电脑启动时,固件和软件会被加载到RAM(内存)中以供执行。相比之下,单片机软件和固件都是烧录在非易失性存储器中,单片机上电或复位时,固件和软件会被加载到内存中执行。以STM32F103C8T6单片机为例,注意该单片机不运行软件,其固件存储在闪存中,并在运行时加载到SRAM,其SRAM既可以充当高速缓冲器,也可以充当内存,是用于运行时数据存储、堆(Heap)和栈(Stack)空间、中间计算、缓存。当我们编写代码并使用编程工具将其烧录到该单片机的闪存中时,这段代码就成为了该单片机的固件。比如我们写了有关于电机控制代码,并烧录进去,实际上是烧录的固件。如果代码是直接针对单片机硬件编写的,并且烧录到单片机的闪存中,那么它就是固件。如果代码可以在不同的环境中运行,并且不依赖于特定的硬件,那么它更接近于软件。