嵌入式系统的定义:
以应用为中心,以计算机技术为基础,且软硬件可裁减,适应应用系统对功能、可靠性、成本、体积、功耗的严格要求的专用计算机系统。
嵌入式系统的特点:
系统内核小:嵌入式系统一般是应用于小型电子装置的,系统资源相对有限,所以内核较之传统的操作系统要小得多
专用性强:嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植
系统精简:嵌入式系统一般不要求其功能设计及实现上过于复杂,这样一方面利于控制系统成本,同时也利于系统安全
实时性操作系统:这是嵌入式软件的基本要求,而且软件要求固化存储,以提高速度,软件代码要求高质量和高可靠性、实时性
专用的开发工具和开发环境。
嵌入式系统的组成:
嵌入式操作系统:
嵌入式系统开发流程:
裸机开发:对于功能简单仅包括应用程序的嵌入式系统一般不使用操作系统,仅有应用程序和设备驱动程序
带操作系统的开发:当设计较复杂的程序时,可能就需要一个操作系统(OS)来管理控制内存、多任务、周边资源等,现代高 性能嵌入式系统应用越来越广泛,操作系统使用成为必然发展趋势
硬件开发--->启动加载程序--->操作系统内核--->根文件系统--->设备驱动--->应用程序
通常基于linux系统的嵌入式开发步骤:
开发目标硬件系统:如选择微处理器、Flash及其它外设等
建立交叉开发环境:安装交叉编译工具链、安装开发调试工具
开发Bootloader:移植uboot,vivi
移植linux内核:如linux2.6.31内核
开发根文件系统:CRAMFS,YAFFS
开发相关硬件的驱动程序:led,adc等驱动
开发上层的应用程序:如QT GUI开发
硬件工程师应具备的基本技能:
(1)由需求分析至总体方案、详细设计的规划创造能力;
(2)熟练运用设计工具,设计原理图、PCB板的能力;
(3)熟练运用单片机、DSP、PLD、FPGA等进行软硬件开发调试的能力;
(4)熟练运用仿真工具、示波器、信号发生器、逻辑分析仪等调测硬件的能力;
(5)掌握常用的标准电路的设计能力,如复位电路、常用滤波器电路、功放电路、高速信号传输线的匹配电路等;
(6)故障定位、解决问题的能力;
(7)设计文档的组织编写技能。