我是大四的,马上就要毕业了。我学的是嵌入式系统软件开发,侧重于软件方面,个人以为是这样:
C语言是基础,先学习一点C语言,得是嵌入式C语言(嵌入式C着重于理解为什么,而不只是会用),再学习一点面向对象编程。
然后稍微涉猎一点电子技术基础的东西,不用把数字与模拟电路学精通,只要能看明白简单的电路原理图就可以了。(因为我学的是嵌入式软件开发,所以侧重于软件方面,你可以依据自己的情况,如果侧重于硬件方面,数字模拟电路当然要学精啦)
其次再学习一种嵌入式处理器架构,个人推荐32位处理器,像ARM,因为做嵌入式软件开发8位处理有点太低端,大多数只能用作简单的工控,没有复杂的软件系统,不能称为嵌入式系统。
最后再学习一种嵌入式操作系统,像linux,wince等都可以,linux可能更好一点,因为它是开源的嘛,呵呵。
其它的就按自己的爱好啦,像嵌入式的网络应用,操作系统研究了什么的自己看着先好了
你要是学电子的 那你选择嵌入式吧 这个是今年嵌入式的考试大纲 呵呵别晕啊 一点一点来 嵌入式系统设计师考试大纲 一、考试说明 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 页式存储管理 。
对于嵌入式来说,C语言是一个工具,就像如果你想从事出租车司机或者公交车司机,驾驶技术就是你的一个工具。
现回答你问的问题: 如应该掌握C语言:C语言基础部分的难度并不大,只要有时间,估计正常的初学者1-2个星期的认真学习,都可以数量掌握基本语法和语句,C语言的关键在于“数据结构”,例如:链表、图、位、树等等,这些都是实际工作中变化性比较大的知识点,但是实际工作中,根据你的工作类别,要求并不会非常高。 还应掌握什么基础:当你的C语言(包括数据结构)等有了一定的知识积累,那么你就可以学习系统编程和网络编程了,这是日后应用类程序开发公司比较常用的知识点;然后就是学习汇编语言、C++、内核、嵌入式系统开发等,当然,你的操作平台首先是需要你了解的,基本上常用的是linux平台,而你对linux的熟悉程度,也需要时间的积累,以上这些知识都不是几天、几个星期或者几个月就可以完全掌握的,要根据你未来想从事的工作具体去学习,因为每一个知识点都可以工作。
数据库要吗? :如果你会当然最好,基本上一般工作单位不会要求你学习,因为毕竟嵌入式开发跟数据库开发是两个不同的类别。 最后送你一句话:请根据自己的实际情况考虑是否进入这一行,因为如果你想从事嵌入式开发工作,以上说的每一个知识点你都需要掌握,这是一个非常漫长的过程,不要心急,多看好的参考书,不要乱看书。
上嵌基地的嵌入式培训不错,你可以去看看。
做嵌入式应用的话一般的编程就可以了。
那么嵌入式驱动开发与内核开发的话就需要学习多个方面的知识。我就把这方面的要求给你交流一下:(一家之言啊,自己多年从事嵌入式开发的一点感悟)嵌入式驱动开发需要了解的知识大概有以下几类:1 嵌入式操作系统驱动框架。
每一个操作系统都有自己的构架,应该了解驱动在整个系统中的具体位置与构建驱动程序的主要事项2 总线知识,比如PCI、USB总线。3 芯片知识。
驱动其实就是对设备上一些寄存器的配置、CPU与设备本身的通讯以及对不同命令的处理4 要做好驱动,必须对所使用的CPU体系结构有一个比较深刻的认识5 C++基本用不上,主要是C和汇编。6 做驱动最好要懂内核调试(比如说linux)。
嵌入式Linux操作系统学习规划ARM+LINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发目标:()掌握主流嵌入式微处理器的结构与原理(初步定为arm9)(2)必须掌握一个嵌入式操作系统(初步定为uclinux或linux,版本待定)(3)必须熟悉嵌入式软件开发流程并至少做一个嵌入式软件项目。
从事嵌入式软件开发的好处是:(1)目前国内外这方面的人都很稀缺。这一领域入门门槛较高,所以非专业IT人员很难切入这一领域;另一方面,是因为这一领域较新,目前发展太快,大多数人无条件接触。
(2)与企业计算等应用软件不同,嵌入式领域人才的工作强度通常低一些(但收入不低)。(3)哪天若想创业,搞自已的产品,嵌入式不像应用软件那样容易被盗版。
硬件设计一般都是请其它公司给订做(这叫“贴牌”:OEM),都是通用的硬件,我们只管设计软件就变成自己的产品了。(4)兴趣所在,这是最主要的。
从事嵌入式软件开发的缺点是:(1)入门起点较高,所用到的技术往往都有一定难度,若软硬件基础不好,特别是操作系统级软件功底不深,则可能不适于此行。(2)这方面的企业数量要远少于企业计算类企业。
(3)有少数公司经常要硕士以上的人搞嵌入式,主要是基于嵌入式的难度。但大多数公司也并无此要求,只要有经验即可。
(4)平台依托强,换平台比较辛苦。兴趣的由来:1、成功观念不同,不虚度此生,就是我的成功。
2、喜欢思考,挑战逻辑思维。3、喜欢CC是一种能发挥思维极限的语言。
关于C的精神的一些方面可以被概述成短句如下:相信程序员。不要阻止程序员做那些需要去做的。
保持语言短小精干。一种方法做一个操作。
使得它运行的够快,尽管它并不能保证将是可移植的。4、喜欢底层开发,讨厌vb类开发工具(并不是说vb不好)。
5、发展前景好,适合创业,不想自己要死了的时候还是一个工程师。方法步骤:1、基础知识:目的:能看懂硬件工作原理,但重点在嵌入式软件,特别是操作系统级软件,那将是我的优势。
科目:数字电路、计算机组成原理、嵌入式微处理器结构。汇编语言、C/C++、编译原理、离散数学。
数据结构和算法、操作系统、软件工程、网络、数据库。方法:虽科目众多,但都是较简单的基础,且大部分已掌握。
不一定全学,可根据需要选修。主攻书籍:thec++programminglanguage(一直没时间读)、数据结构-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-2116:46回复122.90.173.*2楼C、网络与信息安全技术:如加密技术,数字证书CA等。
D、DSP技术:DigitalSignalProcess,DSP处理器通过硬件实现数字信号处理算法。说明:太多细节未说明,可根据实际情况调整。
重点在于1、3,不必完全按照顺序作。对于学习c++,理由是c++不只是一种语言,一种工具,她还是一种艺术,一种文化,一种哲学理念、但不是拿来炫耀得东西。
对于linux内核,学习编程,读一些优秀代码也是有必要的。注意:要学会举一反多,有强大的基础,很多东西简单看看就能会。
想成为合格的程序员,前提是必须熟练至少一种编程语言,并具有良好的逻辑思维。一定要理论结合实践。
不要一味钻研技术,虽然挤出时间是很难做到的,但还是要留点余地去完善其他的爱好,比如宇宙,素描、机械、管理,心理学、游戏、科幻电影。还有一些不愿意做但必须要做的!技术是通过编程编程在编程编出来的。
永远不要梦想一步登天,不要做浮躁的人,不要觉得路途漫上。而是要编程编程在编程,完了在编程,在编程!等机会来了在创业(不要相信有奇迹发生,盲目创业很难成功,即便成功了发展空间也不一定很大)。
嵌入式书籍推荐Linux基础1、《Linux与UnixShell编程指南》C语言基础1、《CPrimerPlus,5thEdition》【美】StephenPrata着2、《,2ndEdition》【美】BrianW.KernighanDavidM.Rithie(K&R)着3、《,2ndEdition》(APUE)4、《嵌入式Linux应用程序开发详解》Linux内核1、《深入理解Linux内核》(第三版)2、《Linux内核源代码情景分析》毛德操胡希明著研发方向1、《。
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
蜀ICP备2020033479号-4 Copyright © 2016 学习鸟. 页面生成时间:2.383秒