什么是嵌入式设备?/ 嵌入式设备的定义

什么是嵌入式设备?/ 嵌入式设备的定义

区别于通用计算机的其他设备都可以称之为嵌入式设备 (个人电脑,服务器)

一段时期内,必备的硬件配置。

嵌入式开发包括哪些部分:

底层驱动开发:

关键字:BSP/嵌入式Linux/wince/vxworks…

上层应用开发:

关键字:Posix

底层驱动开发工程师工作内容:

jd

以嵌入式linux系统开发为例:

  • 熟悉linux驱动开发的接口,模式,限制。(操作系统的两种状态:内核态,用户态),驱动开发在内核态,其开发模式和接口有着和上层开发类似,却完全不同的开发接口api。
  • 熟悉某(几)款常见芯片的开发:
    • 著名半导体芯片厂商:TI,QUALCOMM,MTK,Intel,三星,Marvell,Navida,NXP,Freescale,Broadcom,Realtek,Ambarella。
    • 国内知名的芯片厂商:海思,allwinner,rockchip。
    • 人工智能芯片厂商:搞人工智能的都搞芯片了。
  • 熟悉常见外设,总线的linux驱动开发:
    • 包括,字符设备:gpio i2c spi usb rj45 i2s csi2(mipi)uart。块设备:scisi,sata,pci…
    • 熟悉各个总线,外设接口的内核驱动模块(每一种外设总线,都有各自的硬件特性,不同厂商不同芯片采用不同的控制器,所以各个外设的驱动在不同的芯片上都有不同的实现)
    • 熟悉linux的驱动总线模型(linux为了管理多种多样的外设抽象的架构模型),每一种总线都对应一个内核管理模块。(usb是一个十分复制的协议,其内核管理模块也十分复杂庞大)

操作系统多样性:
实时,非实时
宏内核,微内核
存储小,内存小,运算能力低,视频类编解码能力强。

单片机,m3,m4,arm,mips,x86

芯片多样性:多种多样

接口,总线:gpio i2c spi usb rj45 i2s csi2(mipi)uart scisi,pci

dma

字符设备,每种总线对应一种内核驱动模块,设备模型设备树。

块设备:sd卡,u盘,硬盘,文件系统

文件系统多样性:jffs2,ubi,yaffs2,

存储:nor flash nand flash -> emmc ufs

系统启动:bring up 冒烟

稳定,差异性,外设管理(驱动),寄存器,map

datasheet

你可能感兴趣的:(什么是嵌入式设备?/ 嵌入式设备的定义)