嵌入式开发的基础概念

什么是嵌入式系统

即嵌入到产品内部的计算机系统。嵌入式开发,也是计算机的开发。

CPU访问外部设备的方式

轮询

方法:CPU通过不断地查询外部设备的状态,如果外设准备好了,就可以向其读写数据。也就是CPU主动去问设备
缺点:CPU利用率太低,响应时间也不固定。

中断

方法:当外部设备准备好了,能过中断信号主动告知CPU可以进行操作了。
特点:CPU利用率高,外部数据处理及时,适合小量数据处理。

DMA

中断方式虽然效率很高,但是对于大批量数据传输就不行了。假如接收一个很大的文件放到内存,外设每收到一包数据就会向CPU发一个中断,大量的中断会导致CPU忙于处理中断反而降低了系统的运行效率。
更好办法是,对于这种大量数据传输不通过CPU搬运,从设备直接传输到内存,这种方式叫做直接内存访问(Direct Memory Access),简称DMA。
其工作方工是,外部设备在数据准备好之后只需要向DMA控制器发一个命令,把数据的地址大小传过去,由DMA控制负责把数据从外部设备直接存放到内存。

编程语言分类

编译型

需要转换为机器语言的——如C,C++

解释型语言

通过特定的解释器,一边解释,一边输出结果——如脚本。

数据结构

计算机中的数据有多种类,如何处理数据就成为了一门学问。而数据结构就是关于数据组织和处理的一门学问。
数据结构包括下面三方面内容:

数据逻辑结构

描述数据元素之间的逻辑关系。

数据的物理结构

描述数据元素是在具体计算机设备中如何保存的。

数据的操作方法

也常被称为算法,是一种说明如何操作数据的方法。

上一篇:细数STM32F103的那些坑——串口篇


下一篇:单线半双工通信简单例程(STM32与电脑通信)