Skip to content

嵌入式开发与单片机

1、简述嵌入式系统的定义及特点。

(1)核心定义: 嵌入式系统是 “以应用为中心,以计算机技术为基础,软硬件可裁剪”,对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。

(2)特点

  1. 常用于特定任务:面向特定任务,软硬件均为特定需求定制。
  2. 运行资源有限:处理器性能、内存、存储空间有限,编程需注重效率。
  3. 往往极其关注成本:大量生产时,成本控制是重要设计目标。
  4. 功耗限制:许多设备采用电池供电,功耗是核心指标。
  5. 实时性: often需要在规定时间内响应事件,常采用中断机制和实时操作系统。
  6. 环境适应性差异较大:能工作在恶劣环境(高低温、高湿、震动)。
  7. 可靠性要求高:需长期稳定运行,错误可能导致严重后果。
  8. 长生命周期:产品生命周期内,软硬件需保持稳定和支持。
  9. 软件固化:程序通常固化在非易失性存储器中,用户不易修改。
  10. 专用开发工具:需要交叉编译、仿真器、调试器等专用工具进行开发

2、 简述嵌入式系统有别于通用计算机系统的主要特征有哪些?

  • 专用性:嵌入式系统为特定任务设计,软硬件高度定制;通用计算机系统则面向通用计算任务
  • 资源限制:处理器系统、内存、存储上通常受限,注重资源优化
  • 实时性要求:嵌入式要求实时反应,需要确定时间内完成任务
  • 功耗敏感:通常运行于电池供电或低功耗环境,功耗是重要设计指标
  • 环境适应性:嵌入式系统常工作于恶劣环境,需要具备高可靠性
  • 成本控制:一般需要量产,所以需要控制成本
  • 软件固化:程序通常在ROM、Flash等非易失性存储器中,不易修改
  • 生命周期长:嵌入式产品周期长,需要长期稳定运行和维护

3 、 简述嵌入式系统由哪些主要部分构成。嵌入式系统的硬件和软件分别包括哪些内容?

硬件和软件两部分

  • 硬件
  • 硬件核心平台:处理器(CPU、MPU、MCU)(
    • 存储器(RAM ROM Flash)
    • 输入输出接口(GPIO、ADC、DAC、UART、I2C、SPI)
    • 电源管理模块
    • 外围设备(定时器、外部接口、传感器、执行器、选择器)
    • 关键层:硬件抽象层(HAL) 位置:位于硬件与操作系统/应用软件之间。
  • 软件
    • 操作系统(嵌入式Linux、无操作系统等
    • 驱动程序
    • 中间件(通信协议栈、文件系统)
    • 应用程序(实现系统功能)

4、 嵌入式系统中的**硬件抽象层的特点(HAL)**是什么?

  • 屏蔽硬件差异:向上提供统一的编程接口,使得软件不直接依赖硬件
  • 可移植性:通过HAL可以将应用程序移植到不同硬件
    • 简化开发:不需要深入理解底层硬件细节,提高开发效率
    • 标准化接口:提供标准化函数调用,如初始化、读写、中断处理
    • 便于维护:硬件更换和升级,只需要修改HAL,无需改动上层

5、嵌入式系统的应用领域有哪些?列举自己身边的几个嵌入式应用案例

  • (1)
    • 消费电子:智能手机、手表、家电
    • 工业控制:机器人、自动化设备
    • 汽车电子:车载娱乐
    • 医疗设备:监护仪、便携式医疗设备
    • 通信设备:路由器、交换机、基站
    • 互联网:传感器网络、智能家居
    • 航天航空:卫星通信、飞控系统
  • (2)
    • 智能空调:控温、定时、远程控制
    • 智能门锁:指纹识别、蓝牙开锁
    • 共享单车:GPS定位、二维码开锁
    • 智能手环:心率监测、运动记录

6、CISC(复杂指令集) 处理器和 RISC(精简指令集) 处理器的区别有哪些?

7、冯诺依曼结构处理器和哈佛结构**处理器各有什么特点?

  • (1)冯诺依曼结构
    • 程序指令和数据共用一个储存空间和总线
    • 结构简单、成本
    • 指令和数据不能同时访问
  • (2)哈佛处理器
    • 程序指令和数据分别储存在独立的存储器,使用独立总线访问
    • 可以同时访问指令和数据,提高效率
    • 结构复杂、成本较高,常用于高性能嵌入式系统(DSP、单片机)

8、MCU(微控制器) 有几种位数,并分别进行举例。

- 4位:早期计算器、玩具控制
- 8位:家电、工业控制
- 16位:中低端嵌入式系统(STM8、MSP430)
- 32位:高性能嵌入式系统、物联网设备(ARM Cortex-M 系列)
- 64位:高端嵌入式系统、服务器、汽车电子(armCortex-A系列

9、 Arm 的含义是什么?

  • (1)英国一家半导体和软件设计公司
  • (2)含义
    • 一种基于RISC架构的处理器设计
    • 一种处理器IP授权模式,ARM公司设计核心架构,授权给其他公司
    • 广泛应用于移动设备、嵌入式系统、物联网领域

10、 STM32CubeMX 辅助开发工具的作用是什么?

  • 是一种图形化配置工具
  • 作用
    • 引脚配置:可视化配置GPIO、外设引脚复用
    • 时钟配置:图形化配置系统时钟、外设时钟
    • 外设初始化:生成外设初始化代码(基于HAL库)
    • 中间件配置
    • 生成工程:支持到处Keil、IAR等工程文件
    • 功耗估算:估算系统功耗

11、简述通过配置并导出 Keil MDK 工程的过程。

- (1)打开STM32CubeMX,创建新工程或者打开现有工程
- (2)选择目标MCU型号
- (3)配置系统时钟、引脚功能、外设参数
- (4)在“project manager”中设置工程名称、路径、IDE(选择MDK-ARM V5)
- (5)在 “Code Generator” 中勾选 “Generate peripheral initialization as a pair of ‘.c/.h’ files”。
- (6)点击“Generate Code”生成工程文件
- (7)使用Keil MDK打开生成的工程文件进行编译和下载

12、 在使用 Keil MDK 编写的 C 代码中,什么时候可以使用printf和 scanf函数,什么时候不可以?

  • (1)可以
    • 已经正确设置串口(USART)并重定向fputc和fgetc
    • 已链接标准输入输出库
    • 调试阶段,通过串口输出调试信息
  • (2)不可以
    • 实时性要求高的终端服务
    • 资源及其首先,这俩函数会占用较多内存和代码空间
    • 无标准输入输出设备(没有串口或未配置重定向),输出无效

13、在 STM32F1 微控制器,中断与异常的区别是什么?

  • 异常:指所有处理器内部或外部事件触发的特殊流程
    • 系统异常(复位...)
    • 外部中断(由外设触发,如GPIO、UART)
  • 中断:特指由外部外设触发的中断请求(IRQ),属于一场的一种
  • 总结就是所有中断都是异常,但不是所有异常都是中断

14、 简述什么是中断,什么是中断嵌套?

  • 中断:指的是处理器在执行程序过程中,有内部或者外部事件触发,暂停当前任务,转而去执行相应的处理程序(ISR),完成后再返回原任务继续执行
  • 中断嵌套:在执行一个中断时,允许更高优先级的中断打断当前ISR的执行。处理器要支持优先级管理和硬件堆栈机制

15、串行通信根据数据传输方向都有哪些种类?

  • 单工:数据单向传输(无线广播
  • 半双工:数据可以双向传输,但不能同时进行(对讲机
  • 全双工:数据课同时进行双向传输(电话通信、UART双向通信

16、 在异步串行通信中,当接收数据时,为了判断是否有新的数据到达,应该判断哪一个标志位?

应判断接受数据寄存器非空标志位

  • 在UART/USART中为RXNE
  • 某些芯片可能是RDRF

17、请观察身边的电子设备或家用电器,列举依赖“时间控制”实现功能的例子。

(例如:智能手机用户无操作15秒、30秒或1分钟后自动熄屏以节省电量。)

  • 充电器:定时断电保护电池
  • 空调:定时开关
  • 电子闹钟:定时响铃
  • 微波炉:定时加热
  • 洗衣机:定时洗涤托说

18、借助网络工具搜索一下,列举出5至6个嵌入式芯片制造商,并详细说明这些制造商所生产芯片的主要应用领域。

markdown
- ARM:授权处理器IP、应用于智能手机、汽车电子、物联网
- STM(意法半导体):STM32系列MCU,应用于工业控制、消费电子、汽车
- 德州仪器:MSP430、C2000系列,低功耗设备、数字电源、几点控制
- 恩智浦:i.MX、LPC系列,汽车电子、智能卡、物联网
- Microchip: PIC、AVR系列,应用于家电、工业控制、嵌入式系统教学
- 乐鑫:ESP32、ESP,物联网,智能家居,wifi蓝牙设备