嵌软八股大全10 - ARM 相关问题汇总

1、缩写?

1.1、常见英文缩写及其含义?

缩写 全称 含义 区别
CPU Central Processing Unit 中央处理单元 处理器
MPU Micro Processor Unit 微处理器单元
MCU Micro Control Unit 微控制器 CPU+内存+输入输出
SOC System on Chip 片上系统 CPU+GPU+存储器+接口
DSP Digital Signal Processor 数字信号处理器 处理数字信号专用

2、MCU ?

2.1、常见/你用过的 32 位 MCU 都有哪些?

  1. STM32F4/F1/L0
  2. ESP32(240MHz,RISC-V)
  3. AT32F4(150MHz,ARM-M4)
  4. NXP 的 LPC546XX(220MHz,ARM-M4)
  5. NXP 的 K60(100MHz,ARM-M4)

2.2、用过哪几种 STM32,它们之间的区别在哪里?

用过 F1、F4、L0 系列的 STM32 单片机,他们有这样几个区别:

  1. 定位不同:F1 是主流系列、F4 是高性能系列、L0 是低功耗系列,定位不同因此应用场景也不同
  2. 内核不同:F1 是 Cortex-M3 内核,F4 是 Cortex-M4 内核,L0 是 Cortex-M0+ 内核
  3. 最高主频不同:F1 最大 72MHz,F4 最大 180Mhz,L0 最大 32MHz
  4. 其他不同:能选配的 FLASH/RAM 大小不同,外设种类和数量不同

2.3、MCU 如何选型?

  1. 需求分析
    1. 功能:明确系统需要实现什么功能,需要什么传感器接口,通信协议,显示驱动接口等
    2. 性能:评估大致所需要的 MCU 性能
    3. 功耗:如果电池供电还需要考虑系统对功耗的要求,看看 MCU 有没有低功耗工作模式
  2. 处理器架构
    1. 8/16/32位
    2. ARM Cortex-M/R 等系列,内核 Cortex M0/3/4,或者其他 RISC-V, AVR 等架构
  3. 外设接口
    1. GPIO口
    2. 通信接口(I2C、SPI、UART、CAN)等
    3. ADC接口
  4. FALSH 存储大小
  5. 工作电源电压
  6. 成本等

2.4、51 和 32 MCU 架构的区别?

  1. 架构不同
    1. 51 使用的是 8051 架构,一次只能处理 8 位数据
    2. 32 使用的一般为 cortex-M 系列的架构,一次可以处理 32 位数据
  2. 指令集不同
    1. 51 使用的是 CISC(复杂指令集)
    2. 32 使用的是 RISC(精简指令集)
  3. 性能和资源不同
    1. 51 性能很低,只有很少的 RAM 和 FALSH,只适合简单应用
    2. 32 性能较高,通常可以达到上百 MHz ,而且相对有较大的内存和较多的外设

2.5、Cortex-M3 和 Cortex-M4 的区别?

  1. 最高主频不同
  2. M4 增加了 FPU,支持浮点、DSP、并行计算等,但 M3 不支持

2.6、单片机最小系统?

  1. 电源电路
  2. 时钟电路
  3. 复位电路
  4. MCU

2.7、MCU 启动流程?

  1. 上电或复位后 MCU 会从一个固定的地址执行代码执行启动文件
  2. 设置堆和栈指针,并分配堆和栈内存大小
  3. 设置 NVIC 中断向量表
  4. 执行 SystemInit 函数 完成系统时钟、基本外设等核心初始化
  5. 跳转到 _main 函数(BL _main),执行数据段,bss 段的初始化
  6. 最终调用用户的 main() 函数

2.8、MCU 中一般使用什么作为存储介质?

在 MCU 中一般存储介质使用 FLASH ,SD卡等存储介质,MCU 中本身没有文件系统,但有些 MCU 提供了例如 SDIO、FSMC 这样的用于控制存储介质的接口,不过使用这些接口只能对存储介质进行底层简单的读写操作,很不方便

存储介质分类?

  1. 非易失
    1. ROM
    2. EPROM(紫外线擦除,一次性编程)
    3. EEPROM(电气擦除,可以按字节擦除,无需整片擦除)
    4. FLASH
      1. NADN FLASH(存储单元排列类似于 NAND 门逻辑电路,一般容量较大,单位存储成本较低)
      2. NOR FLASH(存储单元排列类似于 NOR 门逻辑电路,一般容量较小,单位存储成本较高)
    5. SD 卡
  2. 易失
    1. RAM
    2. SRAM
    3. DRAM

2.9、MCU 文件系统?

MCU 虽然本身没有文件系统,但是可以使用第三方的库,比如 FatFs ,FatFs 是一个独立的 FAT 文件模块,它支持 FAT12 FAT16 FAT32 文件系统,部分版本还支持 exFAT 格式文件系统,支持基本的文件操作,比如创建、删除、读取、写入、重命名等,库是开源的,有所有的源码,非常轻量化,适合嵌入式系统

使用 FatFs 只需要在其合适的位置实现 MCU 底层的以下几个函数即可

  1. 设备初始化
  2. 读函数
  3. 写函数

其他函数比如 ioctrl RTC 时间等函数 可以按照需要实现,这些需要实现的函数当然也可以结合其他的外设来进行,比如对于 SD 卡,我们可以通过 MCU 的 SDIO 接口对 SD 卡底层控制,然后使用 SDIO 的库函数实现 FatFs 所需要的初始化、读、写等函数

2.10、STM32 的 I/O 变量?

就是 GPIO
初始输出电平
GPIO 模式(推挽/开漏)
上/下拉
GPIO 速度

2.11、如果 MCU 下不进程序,硬件上该怎么调试?

  1. 检查电源和连接
  2. 尝试手动复位
  3. 连接调试工具,尝试在软件上读取 MCU 的 FLASH,看看是否有效
  4. 更换 MCU ,避免 MCU 损坏

2.12、DMA 介绍,流程 ?

DMA 直接内存读取,主要有三种模式:

  1. 从存储器到存储器
  2. 从存储器到外设
  3. 从外设到存储器

主要需要设置两个东西:

  1. DMA 请求
  2. DMA 流

alt

2.13、MCU 调试过程中使用过哪些工具?

  1. JTAG/SWD
  2. DAP
  3. GDB

2.14、MCU 上如何设计用户态和内核态?如何保障操作系统的安全性?

  1. 硬件支持
    1. MPU,内存保护单元,一些中高端 MCU 上会集成这个硬件,主要作用就是隔离用户态和内核态的内存空间,防止用户态代码访问或修改内核态的内存数据
    2. MMU,内存管理单元,只有高端 MCU 上才可能会集成这个硬件,比 MPU 要复杂的多,支持虚拟内存、内存分页和更高级别的内存保护
  2. 内核的特权模式
    1. ARM Cortex-M 系列 MCU 中处理器支持 特权模式 和 非特权模式,一般是通过控制 CONTROL 寄存器来其之间进行切换的,用户态应该工作在非特权模式(资源受限),内核态应该工作在特权模式
  3. 系统调用
    1. 软中断
    2. SVC 指令(ARM上)

如何保障操作系统的安全性?

  1. MPU/MMU 阻止了用户态的应用程序对内核的内存空间访问/修改,避免对内核造成破坏
  2. 用户态下可以限制其访问某些关键的中断向量表
  3. 系统调用过滤,确保用户产生系统调用时只能执行授权操作,一些危险操作直接禁止
  4. 看门狗,避免操作系统/内核卡死,一旦卡死狗饿死了就重启

3、中断?

3.1、什么是中断?

中断是一种能够通知 CPU 当前有紧急事件需要立

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

欢迎来到我的专栏,在这里,我将整理并分享2024年各大企业的真实笔试/面试真题,同时还整理了嵌入式软件相关的八股知识。专栏内容涵盖C/C++基础、嵌软常见通信协议、ARM、FreeRTOS、Linux OS相关问题汇总,希望能帮助求职者了解考试趋势和嵌入式常见考点。无论你是准备面试,还是希望提升自己的专业知识,这里都能为你提供宝贵的参考和学习资源。

全部评论

相关推荐

【元戎启行】2025届春招补录进行中🎉内推方式:🔍微信公众号➡️元戎启行招聘,填写内推码投递就可以啦(下方链接可直接投递)投递链接:https://app.mokahr.com/m/campus-recruitment/deeproute/145894#/home【内推码】NTAW9FW 【需手动填写】【公司介绍】【深圳元戎启行科技有限公司】是一家专注于研发和应用高阶智能驾驶技术的科技公司,由人工智能博士周光带领团队于2019年创立。核心团队有着丰富的技术研发和商业化经验,汇集了清华、北大、剑桥、哥伦比亚、斯坦福、卡耐基·梅隆等国内外名校的硕博士,以及曾供职于谷歌、微软、福特、通用、Intel、Waymo、Cruise、百度、腾讯等世界顶尖科技公司的精英,覆盖自动驾驶技术的各个模块。【招聘职位】软件工程师后台开发工程师大模型研发工程师数据挖掘工程师数据生成算法工程师控制开发工程师标定算法工程师感知算法工程师预测规划算法工程师地图定位算法工程师基础架构开发工程师高性能计算工程师【工作地点】📍深圳、上海- 日常福利- 弹性上班、六险一金- 餐补夜宵券、24h零食饮料供应- 定期年度体检- 每周兴趣协会活动(公司承担费用)- 每月生日会、季度团建、公益活动、各大节日、入职周年纪念活动及周边礼包- 成长与发展- 每年2次晋升通道,明确的职业发展路径- 定期组内或公司级前沿技术、行业信息分享培训 #春招#                                               #校招#                                               #内推#                                               #内推码#                         
点赞 评论 收藏
分享
评论
点赞
3
分享

创作者周榜

更多
牛客网
牛客企业服务