学习目标
(1)什么是交叉编译。
(2)UART、IIC、SPI区别。
(3)SPI有几根线,那几根线可以去掉。
(4)TCP和UDP的区别。
(5)进程和线程的区别。
一、什么是交叉编译
(1)交叉编译是指在一个平台上编译出另一个平台的可执行程序。
(2)ARM开发板,借助Ubuntu使用交叉编译工具链,将一个.c文件转为可执行程序在ARM开发板上使用。
二、UART、IIC、SPI的区别
(1)UART:异步通信,没有时钟线。
IIC和SPI:同步通信,有时钟线。
(2)接线不同:UART:TX、RX。
SPI:MISO、MOSI、SS、SCK。
IIC:SCK、SDA。
(3)设备数量:UART:一对一通信。
SPI:一主机多从机。
IIC:支持多主机和多从机的通信。
(4)传输速率:UART:串口传输速率由波特率决定(9600、115200)。
SPI:可配置几千bps(比特每秒)到几百Mbps(兆比特每秒)。
IIC:标准模式(100kbps)、快速模式(400kbps)、高速模式(3.4Mbps)。
(5)工作模式:UART和SPI:全双工。
IIC:半双工。
三、SPI有几根线,那几根线可以去掉
(1)SPI有四根线:MISO、MOSI、SS、SCK。
(2)SCK:时钟线,用于同步数据传输时的时序控制。
(3)MOSI:主发从收。
(4)MISO:主收从发。
(5)SS:片选线,用于选择要通信的从机设备。
当不需要进行双向通信时,MISO和MOSI可去掉其一。
一对一通信时可以去掉SS片选线。
四、TCP和UDP的区别
(1)数据的可靠性:TCP提供可靠的数据传输,有三次握手。
UDP是无连接的,提供不可靠的数据传输。
(2)通信方式:TCP是面向连接的通信方式;UDP不需要进行连接。
(3)数据传输的效率:UDP的通信速率比TCP块,UDP丢包概率比较大。
(4)应用场景:TCP一般用于文件传输。
UDP一般用于视频、游戏。
五、进程和线程的区别
(1)进程是资源分配的基本单位;线程是进程中的执行单元,线程是CPU调度和执行的基本单位。
(2)资源占用:每一个进程都有自己独立的地址空间;线程是共享进程的地址空间。
(3)容错性:当一个进程出现问题不会影响到其它进程执行。线程出现问题可能会导致整个程序崩溃从而影响到其它的线程。
(4)调度和切换:进程是一个独立的单位,由调度器进行调度和切换,需要恢复的上下文内容比较多,消耗的资源比较多;线程消耗的资源是比较少的。