什麼是嵌入式設備?/ 嵌入式設備的定義
區別於通用計算機的其他設備都可以稱之爲嵌入式設備 (個人電腦,服務器)
一段時期內,必備的硬件配置。
嵌入式開發包括哪些部分:
底層驅動開發:
關鍵字: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