你要是学电子的 那你选择嵌入式吧 这个是今年嵌入式的考试大纲 呵呵别晕啊 一点一点来 嵌入式系统设计师考试大纲 一、考试说明 1、考试要求: (1)掌握科学基础知识; (2)掌握嵌入式系统的硬件、软件知识; (3)掌握嵌入式系统分析的方法; (4)掌握嵌入式系统设计与开发的方法及步骤; (5)掌握嵌入式系统实施的方法 (6)掌握嵌入式系统运行维护知识; (7)了解信息化基础知识、信息技术引用的基础知识; (8)了解信息技术标准、安全,以及有关法律的基本知识; (9)了解嵌入式技术发展趋势; (10)正确阅读和理解计算机及嵌入式领域的英文资料。
2、通过本考试的合格人员能根据项目管理和工程技术的实际要求,按照系统总体设计规格进行软、硬件实际,编写系统开发规格说明书等相应的文档;组织和指导嵌入式系统靠法实施人员实施硬件电路、编写和调试程序,并对嵌入式系统硬件设备和程序进行优化和集成测试,开发出符合系统总体设计要求的高质量嵌入式系统;具有工程师的实际工作能力和业务水平。 二、考试范围 考试科目1:嵌入式系统基础知识 1.计算机科学基础 1.1数制及转换 o 二进制、八进制、十进制和十六进制等常用数制及其相互转换 1.2数据的表示 o 数的机内表示(原码、反码、补码、移码,定点和浮点,精度和溢出) o 字符、汉字、声音、图像的编码方式 o 校验方法和校验码(奇偶验码、海明校验码、循环校验码) 1.3算术和逻辑运算 o 计算机中的二进制数运算方法 o 逻辑代数的基本运算和逻辑表达式的化简 1.4计算机系统结构和重要部件的基本工作原理 o CPU和存储器的组成、性能、基本工作原理 o 常用I/O设备、通信设备的性能,以及基本工作原理 o I/O接口的功能、类型和特点 o 虚拟存储存储基本工作原理,多级存储体系 1.5安全性、可靠性与系统性能评测基础知识 o 诊断与容错 o 系统可靠性分析评价 o 计算机系统性能评测方法 2.嵌入式系统硬件知识 2.1数字电路和逻辑电路基础 2.1.1组合电路和时序电路 2.1.2总线电路与电平转换电路 2.1.3可编程逻辑器件 2.2嵌入式微处理器基础 2.2.1嵌入式微处理器体系结构 o 冯.诺伊曼结构与哈佛结构 o CISC与RISC o 流水线技术 o 信息存储的字节顺序(大端存储法和小端存储法) 2.2.2嵌入式系统处理器的结构和类型 o 常用8位处理器的体系结构和类型 o 常用16位处理器的体系结构特点 o 常用32位处理器的体系结构特点 o 常用DSP处理器的体系结构特点 o 多核处理器的体系结构特点 2.2.3异常 o 同步异常(陷阱、故障、终止) o 异步异常(中断) o 可屏蔽中断、不可屏蔽中断 o 中断优先级、中断嵌套 2.3 嵌入式系统的存储体系 2.3.1存储器系统 o 存储器系统的层次结构 o 高速缓存(Cache) o 内存管理单元(MMU) 2.3.2 ROM的种类与选型 o 常见ROM的种类 o PROM、EPROM、E2PROM型ROM的典型特征和不同点 2.3.3 Flash Memory的种类与选型 o Flash Memory的种类 o NOR和NAND型Flash Memory的典型特征和不同点 2.3.4 RAM的种类与选型 o 常见RAM的种类 o SRAM、DRAM、DDRAM、NVRAM的典型特征和不同点 2.3.5 外存 o 常见外存的种类 o 磁盘、光盘、CF、SD等的典型特征和不同点 2.4 嵌入式系统I/O接口 2.4.1 定时器和计数器基本原理与结构 2.4.2 GPIO、PWM接口基本原理与结构 2.4.3 A/D、D/A接口基本原理与结构 2.4.4键盘、显示、触摸屏接口基本与结构 2.4.5嵌入式系统音频接口 2.5嵌入系统通信及网络接口 o PCI、USB、串口、红外、并口、SPI、IIC、PCMCIA的基本原理与结构 o 以太网、CAN、WLAN、蓝牙、1394的基本原理与结构 2.6嵌入式系统电源分类及电源原理 2.7电子电路设计 2.7.1电子电路设计基础知识 o 电子电路设计原理 o 电子电路设计方法及步骤 o 电子电路设计中的可靠知识 2.7.2 PCB设计基础知识 o PCB设计原理 o PCB设计方法及步骤 o 多层PCB设计的注意事项及布线原则 o PCB设计中的可靠性知识 2.7.3电子电路测试基础知识 o 电子电路测试原理与方法 o 硬件抗干扰测试 3. 嵌入式系统软件知识 3.1嵌入式软件基础知识 3.1.1嵌入式软件的分类(系统软件、支撑软件、应用软件) 3.1.2无操作系统支持的嵌入式软件体系结构(轮询、中断、前后台) 3.1.3有操作系统支持的嵌入式软件体系结构 3.1.4板极支持包基础知识(系统初始化、设备驱动程序) 3.1.5嵌入式中间件(GUI、数据库) 3.2 嵌入式操作系统基础知识 3.2.1嵌入式操作系统体系结构 o 单体结构、分层结构和微内核结构 3.2.2任务管理 o 多道程序技术 o 进程、线程、任务的概念 o 任务的实现(任务的层次结构、任务控制块、任务的状态及状态转换、任务队列) o 任务调度(调度算法的性能指标、可抢占调度、不可抢占调度、先来先服务、短作业优先算法、时间片轮转算法、优先级算法) o 实时系统及任务调度(RMS、EDF算法) o 任务间通信(共享内存、消息、管道、信号) o 同步与互斥(竞争条件、临界区、互斥、信号量、死锁) 3.2.3存储管理 o Flat存储管理方式 o 分区存储管理(固定分区、可变分区) o 地址重定位(逻辑地址、物理地址、地址映射) o 页式存储管理 。
嵌入式Linux操作系统学习规划 ARM+LINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发目标: (1) 掌握主流嵌入式微处理器的结构与原理(初步定为arm9) (2) 必须掌握一个嵌入式操作系统 (初步定为uclinux或linux,版本待定) (3) 必须熟悉嵌入式软件开发流程并至少做一个嵌入式软件项目。
从事嵌入式软件开发的好处是: (1)目前国内外这方面的人都很稀缺。这一领域入门门槛较高,所以非专业IT人员很难切入这一领域;另一方面,是因为这一领域较新,目前发展太快,大多数人无条件接触。
(2)与企业计算等应用软件不同,嵌入式领域人才的工作强度通常低一些(但收入不低)。 (3)哪天若想创业,搞自已的产品,嵌入式不像应用软件那样容易被盗版。
硬件设计一般都是请其它公司给订做(这叫“贴牌”:OEM),都是通用的硬件,我们只管设计软件就变成自己的产品了。 (4)兴趣所在,这是最主要的。
从事嵌入式软件开发的缺点是: (1)入门起点较高,所用到的技术往往都有一定难度,若软硬件基础不好,特别是操作系统级软件功底不深,则可能不适于此行。 (2)这方面的企业数量要远少于企业计算类企业。
(3)有少数公司经常要硕士以上的人搞嵌入式,主要是基于嵌入式的难度。但大多数公司也并无此要求,只要有经验即可。
(4)平台依托强,换平台比较辛苦。 兴趣的由来: 1、成功观念不同,不虚度此生,就是我的成功。
2、喜欢思考,挑战逻辑思维。 3、喜欢C C是一种能发挥思维极限的语言。
关于C的精神的一些方面可以被概述成短句如下: 相信程序员。 不要阻止程序员做那些需要去做的。
保持语言短小精干。 一种方法做一个操作。
使得它运行的够快,尽管它并不能保证将是可移植的。 4、喜欢底层开发,讨厌vb类开发工具(并不是说vb不好)。
5、发展前景好,适合创业,不想自己要死了的时候还是一个工程师。 方法步骤: 1、基础知识: 目的:能看懂硬件工作原理,但重点在嵌入式软件,特别是操作系统级软件,那将是我的优势。
科目:数字电路、计算机组成原理、嵌入式微处理器结构。 汇编语言、C/C++、编译原理、离散数学。
数据结构和算法、操作系统、软件工程、网络、数据库。 方法:虽科目众多,但都是较简单的基础,且大部分已掌握。
不一定全学,可根据需要选修。 主攻书籍:the c++ programming language(一直没时间读)、数据结构-C2。
2、学习linux: 目的:深入掌握linux系统。 方法:使用linux—〉linxu系统编程开发—〉驱动开发和分析linux内核。
先看深,那主讲原理。看几遍后,看情景分析,对照深看,两本交叉,深是纲,情是目。
剖析则是0.11版,适合学习。最后深入代码。
主攻书籍:linux内核完全剖析、unix环境高级编程、深入理解linux内核、情景分析和源代。 3、学习嵌入式linux: 目的:掌握嵌入式处理器其及系统。
方法:(1)嵌入式微处理器结构与应用:直接arm原理及汇编即可,不要重复x86。 (2)嵌入式操作系统类:ucOS/II简单,开源,可供入门。
而后深入研究uClinux。 (3)必须有块开发板(arm9以上),有条件可参加培训(进步快,能认识些朋友)。
主攻书籍:毛德操的《嵌入式系统》及其他arm9手册与arm汇编指令等。 4、深入学习: A、数字图像压缩技术:主要是应掌握MPEG、mp3等编解码算法和技术。
B、通信协议及编程技术:TCP/IP协议、802.11,Bluetooth,GPRS、GSM、CDMA等。 2010-8-21 16:46 回复 122.90.173.* 2楼 C、网络与信息安全技术:如加密技术,数字证书CA等。
D、DSP技术:Digital Signal Process,DSP处理器通过硬件实现数字信号处理算法。 说明:太多细节未说明,可根据实际情况调整。
重点在于1、3,不必完全按照顺序作。对于学习c++,理由是c++不只是一种语言,一种工具,她还是一种艺术,一种文化,一种哲学理念、但不是拿来炫耀得东西。
对于linux内核,学习编程,读一些优秀代码也是有必要的。 注意: 要学会举一反多,有强大的基础,很多东西简单看看就能会。
想成为合格的程序员,前提是必须熟练至少一种编程语言,并具有良好的逻辑思维。一定要理论结合实践。
不要一味钻研技术,虽然挤出时间是很难做到的,但还是要留点余地去完善其他的爱好,比如宇宙,素描、机械、管理,心理学、游戏、科幻电影。还有一些不愿意做但必须要做的! 技术是通过编程编程在编程编出来的。
永远不要梦想一步登天,不要做浮躁的人,不要觉得路途漫上。而是要编程编程在编程,完了在编程,在编程!等机会来了在创业(不要相信有奇迹发生,盲目创业很难成功,即便成功了发展空间也不一定很大)。
嵌入式书籍推荐 Linux基础 1、《Linux与Unix Shell 编程指南》 C语言基础 1、《C Primer Plus,5th Edition》【美】Stephen Prata着 2、《The C Programming Language, 2nd Edition》【美】Brian W. Kernighan David M. Rithie(K & R)着 3、《Advanced Programming in the UNIX Environment,2nd Edition》(APUE) 4、《嵌入式Linux应用程序开发详解》 Linux内核 1、《深入理解Linux内核》(第三版) 2、《Linux内核源代码情景分析》毛德操 胡希。
嵌入式Linux操作系统学习规划ARM+LINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发目标: (1) 掌握主流嵌入式微处理器的结构与原理(初步定为arm9) (2) 必须掌握一个嵌入式操作系统 (初步定为uclinux或linux,版本待定) (3) 必须熟悉嵌入式软件开发流程并至少做一个嵌入式软件项目。
从事嵌入式软件开发的好处是: (1)目前国内外这方面的人都很稀缺。这一领域入门门槛较高,所以非专业IT人员很难切入这一领域;另一方面,是因为这一领域较新,目前发展太快,大多数人无条件接触。
(2)与企业计算等应用软件不同,嵌入式领域人才的工作强度通常低一些(但收入不低)。 (3)哪天若想创业,搞自已的产品,嵌入式不像应用软件那样容易被盗版。
硬件设计一般都是请其它公司给订做(这叫“贴牌”:OEM),都是通用的硬件,我们只管设计软件就变成自己的产品了。 (4)兴趣所在,这是最主要的。
从事嵌入式软件开发的缺点是: (1)入门起点较高,所用到的技术往往都有一定难度,若软硬件基础不好,特别是操作系统级软件功底不深,则可能不适于此行。 (2)这方面的企业数量要远少于企业计算类企业。
(3)有少数公司经常要硕士以上的人搞嵌入式,主要是基于嵌入式的难度。但大多数公司也并无此要求,只要有经验即可。
(4)平台依托强,换平台比较辛苦。 兴趣的由来: 1、成功观念不同,不虚度此生,就是我的成功。
2、喜欢思考,挑战逻辑思维。 3、喜欢C C是一种能发挥思维极限的语言。
关于C的精神的一些方面可以被概述成短句如下: 相信程序员。 不要阻止程序员做那些需要去做的。
保持语言短小精干。 一种方法做一个操作。
使得它运行的够快,尽管它并不能保证将是可移植的。 4、喜欢底层开发,讨厌vb类开发工具(并不是说vb不好)。
5、发展前景好,适合创业,不想自己要死了的时候还是一个工程师。 方法步骤: 1、基础知识: 目的:能看懂硬件工作原理,但重点在嵌入式软件,特别是操作系统级软件,那将是我的优势。
科目:数字电路、计算机组成原理、嵌入式微处理器结构。 汇编语言、C/C++、编译原理、离散数学。
数据结构和算法、操作系统、软件工程、网络、数据库。 方法:虽科目众多,但都是较简单的基础,且大部分已掌握。
不一定全学,可根据需要选修。 主攻书籍:the c++ programming language(一直没时间读)、数据结构-C2。
2、学习linux: 目的:深入掌握linux系统。方法:使用linux—〉linxu系统编程开发—〉驱动开发和分析linux内核。
先看深,那主讲原理。看几遍后,看情景分析,对照深看,两本交叉,深是纲,情是目。
剖析则是0.11版,适合学习。最后深入代码。
主攻书籍:linux内核完全剖析、unix环境高级编程、深入理解linux内核、情景分析和源代。 3、学习嵌入式linux: 目的:掌握嵌入式处理器其及系统。
方法:(1)嵌入式微处理器结构与应用:直接arm原理及汇编即可,不要重复x86。(2)嵌入式操作系统类:ucOS/II简单,开源,可供入门。
而后深入研究uClinux。(3)必须有块开发板(arm9以上),有条件可参加培训(进步快,能认识些朋友)。
主攻书籍:毛德操的《嵌入式系统》及其他arm9手册与arm汇编指令等。 4、深入学习:A、数字图像压缩技术:主要是应掌握MPEG、mp3等编解码算法和技术。
B、通信协议及编程技术:TCP/IP协议、802.11,Bluetooth,GPRS、GSM、CDMA等。 2010-8-21 16:46 回复 122.90.173.* 2楼C、网络与信息安全技术:如加密技术,数字证书CA等。
D、DSP技术:Digital Signal Process,DSP处理器通过硬件实现数字信号处理算法。说明:太多细节未说明,可根据实际情况调整。
重点在于1、3,不必完全按照顺序作。对于学习c++,理由是c++不只是一种语言,一种工具,她还是一种艺术,一种文化,一种哲学理念、但不是拿来炫耀得东西。
对于linux内核,学习编程,读一些优秀代码也是有必要的。注意: 要学会举一反多,有强大的基础,很多东西简单看看就能会。
想成为合格的程序员,前提是必须熟练至少一种编程语言,并具有良好的逻辑思维。一定要理论结合实践。
不要一味钻研技术,虽然挤出时间是很难做到的,但还是要留点余地去完善其他的爱好,比如宇宙,素描、机械、管理,心理学、游戏、科幻电影。还有一些不愿意做但必须要做的!技术是通过编程编程在编程编出来的。
永远不要梦想一步登天,不要做浮躁的人,不要觉得路途漫上。而是要编程编程在编程,完了在编程,在编程!等机会来了在创业(不要相信有奇迹发生,盲目创业很难成功,即便成功了发展空间也不一定很大)。
嵌入式书籍推荐Linux基础1、《Linux与Unix Shell 编程指南》C语言基础1、《C Primer Plus,5th Edition》【美】Stephen Prata着2、《The C Programming Language, 2nd Edition》【美】Brian W. Kernighan David M. Rithie(K & R)着3、《Advanced Programming in the UNIX Environment,2nd Edition》(APUE)4、《嵌入式Linux应用程序开发详解》Linux内核1、《深入理解Linux内核》(第三版)2、《Linux内核源代码情景分析》。
嵌入式开发就是对于除了电脑之外的所有电子设备上操作系统的开发,开发对象有手机,掌上电脑,机电系统等。
嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。
嵌入式系统一般指非PC系统,它包括硬件和软件两部分。硬件包括处理器/微处理器、存储器及外设器件和I/O端口、图形控制器等。软件部分包括操作系统软件(OS)(要求实时和多任务操作)和应用程序编程。有时设计人员把这两种软件组合在一起。应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用。
如果走ARM+Linux路线的话
需要这样的学习路线,学起来不吃力,而且效率高
1. 玩熟Linux,学会基本命令的使用。具体学到什么程度,可以搜:零基础玩转Linux+Ubuntu
2. 学会Linux开发基本工具:git、makefile、gdb、vim等。可以百度:Linux“工具三剑客”(VIM+GIT+Makefile)
3. 精通C语言编程。可以百度:《C语言嵌入式Linux高级编程》
4. 学会Linux系统编程
5. 学会linux内核编程、驱动编程
1、C开发经验
条件:Linux
方法:主要是掌握ANSI C编程(不包括gtk,qt等图形可视化开发)
2、网络、操作系统、体系结构
条件:Linux,各种书,算法、例程。
方法:通过C编程实现简单的网络等知识的算法和过程。
3、嵌入式系统概念
条件:各个嵌入式网站,讨论组,书籍
方法:少提问,多留给自己思考的空间。
4、嵌入式开发实践
条件:各种嵌入式系统开发工具的demo版,包括编译器,仿真器。
方法:一个是基于MCU/MDSP的嵌入式系统开发,另一个是像Palm OS,WinCE,uC/OS II等RTOS下的应用软件开发。第一个是针对硬件开发而言的,而第二个则是针对软件开发而言的。
5、硬件开发
条件:各种嵌入式芯片、存储器等电路器件,protel99等电路设计软件,电路板制作。
方法:这时候该有开发条件了,最起码是51系列,这个比较方便。电路的设计内容较多,不过看起来吓人,实际上比软件要简单的多。只要下功夫,实践会告诉你一切。
首先要学习下基础课程单片机,汇编和C语言等等,然后再学习嵌入式,如果说你要想水平高的话,最好学习下操作系统,数据结构,算法及一些硬件方面的知识等等。
看你是想在什么方面发面,你的说明比较不具体,是在硬件方面还是软件方面。假如是软件方面,当然对编程要侧重,反之在硬件方面,那么就要对单片机,电子电路,数电,模电等等要多加学习才是。
做嵌入式的大概有这样几个方向: 驱动/BSP/内核移植类:这一类要求你了解硬件芯片和电路原理图多一些,需要多学习大学这类基础课,然后看一些基本的CPU芯片外围芯片手册,知道什么是CPU内部总线、外设控制器和寄存器。这类人在产品项目中人数需要不大,但是工资不低。
(内核移植和内核开发暂且不提)嵌入式操作系统类:这一类要求你能根据产品需要设计出能多任务处理并控制一些外设或者与外设通讯的程序。需要你有很好的C语言基础,单片机基础,然后是嵌入式操作系统基础,知道各种多任务处理的模型,然后还需要一些数据结构知识。
你要知道程序是如何烧写到芯片里变成能控制设备的东西的。 嵌入式系统应用类:这一类要求更加偏向软件一些,有时甚至只是知道内存限制就可以了,其他硬件都不必考虑太多,比如做嵌入式GUI的(miniGUI Qt)、嵌入式数据库的、嵌入式webserver程序等,这一类归根结底是软件开发,需要有强大的阅读源码能力和程序设计基础。
高级嵌入式相关应用程序开发类:如手机开发的,特别是iphone android的应用开发,这一类实际上是纯软件开发,要求有很好的程序设计基础、面向对象概念、结构化开发概念等,UI相关的现在还需要有一些UX用户体验理念。 大概就这几类,如果你是学生建议自己买一个三星的ARM9开发板,很便宜的,从读芯片手册、学习移植ucosII,写写ucosII应用程序,深入的可以学习嵌入式linux下应用程序开发等,总之一年之内学透一个开发板,那么你就可以合格胜任前两类工作了。
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
蜀ICP备2020033479号-4 Copyright © 2016 学习鸟. 页面生成时间:2.612秒