美丽的球姑娘
嵌入式系统工程师考试要考操作系统原理、计算机组成与接口两科,科目不同,考试内容也不同。比如操作系统原理科目的考试内容包括作系统主要功能、操作系统运行机制、程线程模型、存储管理方案、文件系统设计与实现技术、I/O设备管理等。
麻辣个鸡的
大致分为三个阶段:基础篇、进阶篇、大咖篇。入门嵌入式工程师此阶段主要是前期的入门过程,主要针对入行没多久的新人。其实成功没有捷径,所以打好基础才是关键。嵌入式开发要学什么主要包含以下4个方面的内容:1.电路知识 首先你要学习电路、模电、数电,认识电阻、电容、三极管,基础器件要知道,放大电路、集成运放、时序电路基本电路能看懂,不然看电路图一定是云里雾里,也就无法进行后续的工作。硬件产品的设计实现,包括器件选型、原理图和PCB设计、电路调试,都需要过硬的电路基础。语言C语言是嵌入式开发中最重要的编程语言,要对这门语言有深入的理解,毕竟不仅仅要会写程序,看懂他人程序也很重要。最基本的数据类型、数组、指针、结构体,链表、文件操作等都要会,掌握基本语法和语句,不然你要能区分指针数组与数组指针吗?3.单片机 单片机入门相对简单,通过单片机的学习可以熟悉单片机的硬件结构,包括I/O口、AD转换、通信(串口、并口、I2C、CAN、USB、以太网、ZigBee技术等)、显示(LED、LCD等)、控制(PWM等控制技术)、数据处理(图形、图像、语音、视频等的处理或识别)等,学好单片机可以为采用嵌入式系统奠定良好的基础。4Linux基础Linux的源码和架构都是开放的,在嵌入式系统中应用尤为广泛,学习Linux对于系统的开发会有很大的帮助。详细了解Linux下的目录结构、基本命令、编辑器VI、编译器GCC、调试器GDB和 Make 项目管理工具,Shell Makefile脚本编写等知识,以及嵌入式开发环境的搭建。中级嵌入式工程师经过第一个阶段的学习,你已经可以进行嵌入式开发工作了,但是要进阶依旧还有很多知识要学,而这个阶段也将是第一个分水岭,使得优秀的嵌入式工程师得以脱颖而出。此阶段虽然只有三项,但涉及的知识非常广,要想学好需要花费大量的精力。编程系统编程可以直接跟内核及核心系统程序库对话,深入了解Linux内核。掌握Linux系统编程主要提升对Linux应用开发的理解和代码调试的能力。由于网络应用开发越来越广泛,通过Linux网络发展、TCP/IP协议、socket编程、TCP网络编程、UDP网络编程、Web编程开发等方面入手,可以全面了解Linux网络应用程序开发。2数据结构与算法 数据结构及算法在嵌入式底层驱动、通信协议及各种引擎开发中得到了广泛的应用,语言编译要使用栈、散列表以及语法树;操作系统中用队列、存储管理表及目录树等;数据库系统运用线型表、多链表及索引表进行数据管理等等,对其掌握的好坏直接影响程序的效率、简洁及健壮性。、DSP、FPGALinux没有自己界面,学习QT编程可以创建艺术级的图形用户界面所需的所有功能,从而更好的实现人机交互控制。而如今用户对于图形图像的要求也越来越高,这就需要DSP、FPGA技术来设计开发更好的嵌入式视觉系统。高级嵌入式工程师学习了前两个阶段的知识,你已经可以胜任大部分嵌入式工作了,但是距离大咖仍有一定的差距,其实已经到了第二个分水岭。这部分更多涉及系统层面,没有全方位的知识将会很难下手。1操作系统平台开发 除了Linux外,嵌入式操作系统还有ARM、WINCE、uC/OS II、Vxworks、uClinux等,不同的系统有着不同的使用环境,你需要学习掌握系统的各个模块,为底层平台搭建做好准备。熟悉各个操作系统的特点以及系统的内核移植,确保操作系统能在某个微处理器或微控制器上运行。随着手机智能硬件的快速兴起,Android操作系统开发也越来越重要。2驱动开发 驱动程序设计是嵌入式Linux开发工作中非常重要的一部分。不仅要熟悉Linux的内核机制、驱动程序与用户级应用程序的接口,掌握系统对设备的并发操作。还要具备ARM硬件接口的基础知识,熟悉ARM Cortex处理器各资源、掌握Linux设备驱动原理框架,以及工程中常见Linux高级字符设备、块设备、网络设备、USB设备的驱动开发。当你到达这个位置的时候,可以说你已经是一个人生赢家了,而真正的学习过程如同一场漫长的修行,在这个过程中,必定有各种各样的困难。当然了,嵌入式工作中更多的需要实践以及经验的积累,相信守得云开见月明,你也可成为一名优秀的嵌入式工程师。需要嵌入式培训,可以来到华清的星创客精英训练营,专门培训中高端嵌入式工程师。
那些年喜帖街
嵌入式系统设计师考试大纲一、考试说明 1、考试要求: (1)掌握科学基础知识; (2)掌握嵌入式系统的硬件、软件知识; (3)掌握嵌入式系统分析的方法; (4)掌握嵌入式系统设计与开发的方法及步骤; (5)掌握嵌入式系统实施的方法 (6)掌握嵌入式系统运行维护知识; (7)了解信息化基础知识、信息技术引用的基础知识; (8)了解信息技术标准、安全,以及有关法律的基本知识; (9)了解嵌入式技术发展趋势; (10)正确阅读和理解计算机及嵌入式领域的英文资料。 2、通过本考试的合格人员能根据项目管理和工程技术的实际要求,按照系统总体设计规格进行软、硬件实际,编写系统开发规格说明书等相应的文档;组织和指导嵌入式系统靠法实施人员实施硬件电路、编写和调试程序,并对嵌入式系统硬件设备和程序进行优化和集成测试,开发出符合系统总体设计要求的高质量嵌入式系统;具有工程师的实际工作能力和业务水平。二、考试范围 考试科目1:嵌入式系统基础知识 1.计算机科学基础 数制及转换 o 二进制、八进制、十进制和十六进制等常用数制及其相互转换 数据的表示 o 数的机内表示(原码、反码、补码、移码,定点和浮点,精度和溢出) o 字符、汉字、声音、图像的编码方式 o 校验方法和校验码(奇偶验码、海明校验码、循环校验码) 算术和逻辑运算 o 计算机中的二进制数运算方法 o 逻辑代数的基本运算和逻辑表达式的化简 计算机系统结构和重要部件的基本工作原理 o CPU和存储器的组成、性能、基本工作原理 o 常用I/O设备、通信设备的性能,以及基本工作原理 o I/O接口的功能、类型和特点 o 虚拟存储存储基本工作原理,多级存储体系 安全性、可靠性与系统性能评测基础知识 o 诊断与容错 o 系统可靠性分析评价 o 计算机系统性能评测方法 2.嵌入式系统硬件知识 数字电路和逻辑电路基础 组合电路和时序电路 总线电路与电平转换电路 可编程逻辑器件 嵌入式微处理器基础 嵌入式微处理器体系结构 o 冯.诺伊曼结构与哈佛结构 o CISC与RISC o 流水线技术 o 信息存储的字节顺序(大端存储法和小端存储法) 嵌入式系统处理器的结构和类型 o 常用8位处理器的体系结构和类型 o 常用16位处理器的体系结构特点 o 常用32位处理器的体系结构特点 o 常用DSP处理器的体系结构特点 o 多核处理器的体系结构特点 异常 o 同步异常(陷阱、故障、终止) o 异步异常(中断) o 可屏蔽中断、不可屏蔽中断 o 中断优先级、中断嵌套 嵌入式系统的存储体系 存储器系统 o 存储器系统的层次结构 o 高速缓存(Cache) o 内存管理单元(MMU) ROM的种类与选型 o 常见ROM的种类 o PROM、EPROM、E2PROM型ROM的典型特征和不同点 Flash Memory的种类与选型 o Flash Memory的种类 o NOR和NAND型Flash Memory的典型特征和不同点 RAM的种类与选型 o 常见RAM的种类 o SRAM、DRAM、DDRAM、NVRAM的典型特征和不同点 外存 o 常见外存的种类 o 磁盘、光盘、CF、SD等的典型特征和不同点 嵌入式系统I/O接口 定时器和计数器基本原理与结构 GPIO、PWM接口基本原理与结构 A/D、D/A接口基本原理与结构 键盘、显示、触摸屏接口基本与结构 嵌入式系统音频接口 嵌入系统通信及网络接口 o PCI、USB、串口、红外、并口、SPI、IIC、PCMCIA的基本原理与结构 o 以太网、CAN、WLAN、蓝牙、1394的基本原理与结构 嵌入式系统电源分类及电源原理 电子电路设计 电子电路设计基础知识 o 电子电路设计原理 o 电子电路设计方法及步骤 o 电子电路设计中的可靠知识 PCB设计基础知识 o PCB设计原理 o PCB设计方法及步骤 o 多层PCB设计的注意事项及布线原则 o PCB设计中的可靠性知识 电子电路测试基础知识 o 电子电路测试原理与方法 o 硬件抗干扰测试 3. 嵌入式系统软件知识 嵌入式软件基础知识 嵌入式软件的分类(系统软件、支撑软件、应用软件) 无操作系统支持的嵌入式软件体系结构(轮询、中断、前后台) 有操作系统支持的嵌入式软件体系结构 板极支持包基础知识(系统初始化、设备驱动程序) 嵌入式中间件(GUI、数据库) 嵌入式操作系统基础知识 嵌入式操作系统体系结构 o 单体结构、分层结构和微内核结构 任务管理 o 多道程序技术 o 进程、线程、任务的概念 o 任务的实现(任务的层次结构、任务控制块、任务的状态及状态转换、任务队列) o 任务调度(调度算法的性能指标、可抢占调度、不可抢占调度、先来先服务、短作业优先算法、时间片轮转算法、优先级算法) o 实时系统及任务调度(RMS、EDF算法) o 任务间通信(共享内存、消息、管道、信号) o 同步与互斥(竞争条件、临界区、互斥、信号量、死锁) 存储管理 o Flat存储管理方式 o 分区存储管理(固定分区、可变分区) o 地址重定位(逻辑地址、物理地址、地址映射) o 页式存储管理 o 虚拟存储技术(程序局部性原理、虚拟页式存储管理、页面置换算法、工作集模型) 设备管理 o 设备无关性、I/O地址、I/O控制、中断处理、缓冲技术、假脱机技术) 文件系统基础知识 o 文件和目录 o 文件的结构和组织 o 存取方法、存取控制 o 常见嵌入式文件系统(FAT、JFFS、YAFFS) 操作系统移植基础知识 嵌入式系统程序设计 嵌入式软件开发基础知识 嵌入式程序设计语言 o 汇编、编译、解释系统的基础知识和基本工作原理 o 汇编语言 o 基于过程的语言(过程/函数、参数传递、全局变量、递归、动态内存分配、数据类型) o 面向对象的语言(对象、数据抽象、继承、多态、自动内存管理) o 各类程序设计语言的主要特点和适用情况 嵌入式软件开发环境 o 宿主机、目标机 o 编辑器、编译器、链接器、调试器、模拟器 o 常用嵌入式开发工具(编程器、硬件仿真器、逻辑分析仪、示波器) o 集成开发环境 o 开发辅助工具 嵌入式软件开发 o 软件设计(模块结构设计、数据结构设计、内存布局、面向对象的分析与设计) o 嵌入式引导程序的设计、设备驱动程序设计、内核设计、网络程序设计、应用软件设计) o 编码(编程规范、代码审查) o 测试(测试环境、测试用例、测试方法、测试工具) o 下载和运行 嵌入式应用软件移植 4.嵌入式系统的开发与维护知识 系统开发过程及其项目管理 o 系统开发生命周期各阶段的目标和任务的划分方法 o 系统开发项目挂你基础知识及其常用管理工具使用方法 o 主要的系统开发方法 o 系统开发工具与环境知识 系统分析基础知识 o 系统分析的目的和任务 o 系统分析方法 o 系统规格说明书的编写方法 系统设计知识 o 传统系统设计方法 o 软硬件协同设计方法 系统实施知识 o 系统架构设计 o 系统详细设计 o 系统调试技术 o 系统测试 系统维护知识 o 系统运行管理知识 o 系统维护知识 o 系统评价知识 5.安全性知识 o 安全性基本概念 o 加密与解密机制 6.标准化知识 o 标准化的概念 o 国际标准、国家标准、行业标准、企业标准基本知识 o 代码标准、文件格式标准、安全标准、软件开发规范和文档标准知识 o 标准化机构 o 嵌入式系统相关标准 7.信息化基础知识 o 信息化和信息系统基本概念 o 有关的法律、法规 8.嵌入式技术发展趋势 9.计算机专业英语 o 正确阅读和理解相关领域的英文资料考试科目2:嵌入式系统设计应用技术 1.嵌入式系统开发过程 系统需求分析方法与步骤 系统设计 o 系统硬件配置 o 系统功能组成分配 o 软硬件功能的分配 o 可行性验证及设计审查 o 系统规格 o 周期,成本及工作量估计 o 开发计划 软硬件协同设计 硬件设计 软件设计 o 软件结构 o 设计评审 o 软件详细设计 系统测试 o 测试环境 o 测试计划(内容、方法、标准、过程、检验) o 硬件测试 o 软件测试(单元测试、集成测试) o 软硬件联合测试 o 实施测试 系统评估 软件维护 2.嵌入式系统硬件设计 嵌入式系统硬件基本结构 嵌入式微处理结构与应用 异常及中断处理技术 DMA技术 多处理系统 o 多处理器系统特点 o 多处理器系统构建技术 总线架构 o 应用系统中的总线配置 内存种类及架构 o 存储器系统接口设计 数字电路和逻辑电路 o 专用集成电路 o 可编程逻辑控制器件 输入/输出接口设计 输入/输出接口 o 接口信号电平转换 o 接口驱动电路设计 输入/输出接口应用技术 o 外围设备 o 串口通信 o 并口通信 o 模拟接口 o 通信接口设备 o 通信标准和协议 o 数据传输方式 外围设备接口应用技术 外围存储设备 o 存储卡,记忆棒,IC卡,MMC卡,SD卡 o DVD 、CD-R 、CD-RW 外围输入/输出设备 o 键盘,鼠标,触摸屏 o 液晶板、LED、7段数码管、蜂鸣器 电源设计技术 可靠性与安全性设计技术 错误检测与隔离技术 冗余设计 系统恢复设计 诊断技术 常用安全标准 抗干扰设计 电磁兼容设计 系统加密 3.嵌入式系统软件设计 嵌入式系统软件结构设计 嵌入式操作系统应用技术 时间管理 o 系统时间 o 时钟中断 内存管理 o 静态内存管理 o 动态内存管理 任务管理和任务间的通信 o 任务间的通信机制 o 信号量 o 邮箱 o 消息队列 异常处理 o 异常处理方法 o 中断优先级处理方法 o 系统调用 嵌入式文件系统应用技术 嵌入式系统图形用户接口(GUI)应用技术 嵌入式系统数据库应用技术 嵌入式软件设计技术 汇编语言设计 o 数据类型 o 汇编语言程序结构 o 汇编语言程序设计及优化 o 子程序调用 嵌入式C语言设计 o ANSI-C的数据类型 o C程序结构 o C语言程序设计及优化 o 程序的编译与链接 面向对象程序设计与开发 o 面向对象的分析与设计方法UML o 面向对象的编程语言 o 使用C++进行嵌入式系统开发 o 使用Java进行嵌入式系统开发 系统级软件设计技术 o 嵌入式系统固件与系统初始化设计 o 设备驱动程序设计 o 硬件抽象层、板级支持包设计 o 嵌入式软件的移植技术 4.嵌入式系统开发技术 系统开发环境 开发工具 o 文本编辑器 o 汇编、编译和连接程序 o ICE和ICE监控器 o 配置管理工具 o 逆工程工具 平台 o 操作系统 o 分布式开发环境 开发环境创建方法及评估 o 开发工作分析 o 开发环境的建立 o 维护、管理、使用开发环境的方法 o 开发环境的评测 实时系统的分析技术 实时系统的分析技术 o 结构化分析方法 o 面向对象分析方法 实时系统的设计技术 o 结构化分析方法 o 面向对象分析方法 硬件设计环境 硬件描述语言 o 硬件开发设计过程 o 硬件描述语言的种类与特点 仿真技术 o 逻辑仿真方法 o 逻辑仿真工具 大规模集成电路系统的开发方法 o ASIC开发方法 o FPGA设计方法 o IP(intellectual property) 协同设计 o 软硬件任务工和切调 o 设计评审 嵌入式系统低功耗设计技术 o 低功耗系统工作机制 o 低功耗系统模型结构 o 低功耗的硬件设计技术 o 低功耗的软件设计技术 分布式嵌入系统设计 o 分布式系统设计原理 o 分布式系统的通信技术 o 分布式系统设计应用 5.嵌入式系统应用 嵌入式系统在控制领域中的应用 嵌入式系统在手持设备中的应用 嵌入式系统在模式识别中的应用三、题型举例1、选择题 若嵌入式系统中采用I/O地址统一编址模式,访问内存单元和I/O设备是通过 (1) 来区分的。 (1) A.数据总线上输出的数据 B.不同的地址代码 C.不同的地址总路线 D.不同的指令2、问答题 在某个嵌入式操作系统中,任务的状态转换图(不完整)如下,请阅读该图以及下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。〔说明〕 任务总共有五个状态:休眠状态、就绪状态、运行状态、中断服务状态和等待状态,在任何时候,一个任务只会处于其中的某一个状态。〔问题1〕(3分) 在单个CPU的系统中,处于运行状态的任务最多有多少个?〔问题2〕(3分) 对于运行状态、就绪状态和等待状态这间的相互转换,图中并没有画出来,请补充。用文字处理的形式来进行描述,格式形如"运行状态→中断服务状态"。〔问题3〕6分) 从运行状态可以直接变为等待状态吗?如果不能为什么?如果能什么时候会发生这种转换?举例说明。〔问题4〕(3分) 从就绪状态可以直接变为等待状态吗?如果不能,为什么?如果能,什么时候会发生这种转换?举例说明。
优质工程师考试问答知识库