嵌入式系统原理与应用入门
嵌入式系统
硬件层
嵌入式处理器 (硬件层核心)
- 嵌入式控制器MCU (单片机),举例:8051,STC80C/S51,P51XA,MCS-251,MCS-96/196/296,MC68HC05/11/12/16,68300
- 嵌入式微处理器MPU 举例:Am186/88,PowerPC,68000,MIPS,ARM
- 嵌入式数字信号处理器DSP (数字滤波,FFT,谱分析)举例:IT公司的TMS320,Motorola的DSP56000
- 嵌入式片上系统SoC 举例:x86的SiS550
- 多核系统 举例:Helio X20
存储器
- Cache(容量小,速度快的存储阵列,位于主存和嵌入式微处理器内核之间)
- 主存(嵌入式微处理器可以直接访问的寄存器)
分类:ROM和RAM - 通用设备接口和i/o接口
- 数据总线 内部总线和外部总线
中间层BSP
工作:嵌入式系统的硬件初始化(片级初始化、板级初始化、系统级初始化)和硬件相关设备的设备驱动程序的初始化
软件层
- 实时多任务操作系统RTOS (嵌入式应用软件的基础和开发平台)
- 嵌入式操作系统EOS 举例:uC/OS-2/3,嵌入式Linux,QNX(业界公认的x86平台上最好的嵌入式实时操作系统),CE,VxWorks
- 嵌入式文件系统
- 图形用户接口
功能层(应用软件层,设计主要编程语言为Java、Qt,数据库,VC)
嵌入式应用
农业水文环境监测,智慧农业物流,移动支付,智慧旅游导航,人机交互与多点接触,物联网,信息安全,无人驾驶汽车,生物识别,智能机器人,虚拟现实与增强现实
嵌入式系统的职业需求
一般需要具备:C语言编程能力,Linux开发经验,内核裁剪能力,会驱动程序开发。
岗位举例:嵌入式硬件工程师,嵌入式开发工程师,软件开发。
嵌入式开发发展方向:
- 物联网,技术需要:Linux操作体系、ARM、C/C++、Linux体系移植、Linux体系定制、驱动程序、网络、传感器、数据中心、通信。
- 智能家居,技术需要:操作体系、网络、通信、ARM、C/C++、体系移植、体系裁剪、驱动程序、传感器、超控中心、服务器、数据采集、数据库
- 云计算,技术需要:虚拟化技术、分布式数据存储技术、大规模技术管理、
嵌入式系统的学习方法
知识体系:C语言-数据结构–ARM处理器–汇编程序–Linux内核–接口驱动等
软件–应用层编程–操作系统移植–硬件平台设计
ARM嵌入式开发入门者:
先做一个最小系统板–写启动代码–不断观察学习