时下有非常多时髦的名词,嵌入式工程师,3G开发工程师,ANDROID开发工程师等等。
这些名词我想十有八九是一些培训机构发明的。不是说培训机构不好,培训机构针对市场的要求提出一个名词,然后有针对性的开相应的课程没有啥不对。
但是我知道,大家,尤其是想进入软件开发这张门而尚未进入的新手,很容易被一些花哨的名词给搞混。
在这里我给大家说说我个人的看法。
首谈嵌入式了:
其实剥掉外面这层华丽的衣服,我们可以看到。所谓的嵌入式其实是从单片机发展过来的。早些年,甚至我现在有一些朋友也在从事着单片机的开发。那他们这帮单片机开发人员基本都是软硬通吃的。从画原理图,LAY板,写代码,调试等,可以说是一条龙服务,一个人可以搞定一个产品的原型。(有的甚至连美工和结构都全包了)
但现在所谓的嵌入式,就目前而言,我并未见过哪怕一个能有一条龙功力的人,哪怕就软硬通吃的人也没见过。为什么呢?因为复杂度太高,你要把一部分做好都相当不容易。
所以,你如果相进入所谓的嵌入式这个行业,你要把范围定的更小,普通来说,就分软件和硬件罗。软件又分为如下几类,在我看来分为几大阵营:1。LINUX。2。WINCE。3。VXWORK。4。其它各类实时操作系统,例如UCOS,NUCLEUS,ECOS等。
比如说MTK,他是基于NUCLEUS的一个平台,比如ANDROID,他是基于LINUX的一个平台,平台的概念我们等会再讨论,先说操作系统这个更底层的“平台”。
就我个人而言,我比较看好LINUX。理由是:开源。免费。在LINUX下的开源软件经过十年来的积累,已经相当多了。并且这些软件的质量都不低。就内核本身而言,其稳定性和可靠性是有目共睹的。用脚趾头想一下吧:GOOGLE和INTEL,NOKIA这些大公司都在向LINUX靠拢,其优势不言而喻。LINUX就是实时性不够,有的人说我的OS比LINUX的实时性好,光实时性强有什么用?我在启动后写个大WHILE循环实时性更强。反正说LINUX不行的人,肯定是对其了解不深入。可能就是装了用一下,感觉不符合自已的习惯,然后就说不行了。
如果喜欢其它操作系统的朋友可以上网查找一些相应的介绍,然后再决定是否选择它。
另外说平台吧。上面说了,ANDROID是基于LINUX的。其相当于在LINUX的基础上,加上GLIBC,JAVA虚拟机等、然后对其进行封装形成的。说到这。就产生了一个层次:你是愿意自已搭或者移植平台呢?还是愿意用人家搭好了的平台呢?像我们公司就有专门的平台部。我们公司水平最高的人就在这样一个部门。
好了。有了操作系统,平台等概念以后。我们大概知道我们要做什么了。
首先是移植、扩充、裁剪操作系统。其次是开发、移植、扩充平台,再就是开发应用了。这几个层次只是逻辑上的分层,实际开发过程中会重叠的。
这是软件的三个层次。
这三个层次我也只是略窥门径而已,只能说略懂,如果你也和我一样,对这些东西感兴趣的话,那么你就得具备如下基础知识:
1。C/C++(有的平台用C++的就要求会C++,如果平台不是C++的不会C++也没关系)
2。一点点操作系统和编译原理常识。
3。一点点汇编。(这个东西不是非常重要,硬是不会也不太会受影响)
4。一点点算法和数据结构知识。
如果你都具备的话,那就OK了。就可以深入研究这些东西,直至成为高手。在这个过程中,你会发现你的分析调试解决问题的能力会越来越强,且各条经脉会渐渐相通。在相通的过程中你又会发现你有更多的经脉被阻塞。(哈哈,这就是学习的乐趣和苦恼)
其实学习的脉络就是:
1。首先找准方向。
2。补充基础知识。
3。猛搞猛搞。
分享到:
相关推荐
从嵌入式工程师的个人基本情况来看,他们通常需要具备一定的工作经验。工作经验不仅能够帮助工程师加深对嵌入式系统开发的理解,而且也涉及到对多种开发工具和平台的熟练使用。学历要求方面,嵌入式工程师往往需要...
在电子工程师的世界里,存在着一条无形的“鄙视链”,涉及软件工程师和硬件工程师的不同领域。这条鄙视链反映了行业中不同技术之间的微妙竞争和互相评价。让我们深入探讨一下这个话题。 首先,软件工程师的鄙视链是...
在学习这些规范的同时,新手们也应当学会使用一些PCB设计软件,如Altium Designer、Cadence OrCAD等,它们提供了丰富的功能,帮助设计师进行更精确的焊盘尺寸计算和布局。同时,不断的实践中积累经验,也是新手成长...
新手如何看懂电路图硬件工程师电路分析物联网模电单片机嵌入式技术 电路图是电子工程师日常工作中不可或缺的一部分,但新手如何看懂电路图却是一件让人头疼的事。特别是在单片机控制电路中,电路图的理解对整个项目...
“嵌入式开发的工程师经验之谈----(新手必看)” 本文通过一个嵌入式开发的工程师经验之谈,侧面生动详细的为正在学习嵌入式的读者提供学习帮助,希望对读者有所帮助。下面是该文中的知识点总结: 一、嵌入式系统...
嵌入式系统的概念可以从三个方面来理解:硬件、软件和系统集成。 1. 硬件方面:嵌入式系统的硬件通常基于ARM平台,包括CPU、ROM、RAM、外围设备等。早期的计算机基于X86体系结构,CPU只有运算器和累加器的功能,...
软件方向的嵌入式工程师需要具备强的编程能力和软件开发经验,能够设计和开发嵌入式系统的软件,包括嵌入式操作系统、应用软件和设备驱动程序等。 软件方向的嵌入式工程师主要从事以下工作: * 嵌入式操作系统的...
在单片机编程的世界里,区分高手和新手的关键往往在于程序设计的框架和思路。高手的程序结构清晰,效率高,能应对...在硬件工程师和电子科学技术领域,理解并掌握这些原则,对于物联网和嵌入式技术的项目开发至关重要。
虽然具体薪资数字未在文中给出,但从调查报告的框架来看,这部分内容主要涉及嵌入式工程师的薪资水平及其分布情况。根据行业特点推测,嵌入式工程师的薪资通常与工作经验紧密相关,工作经验越丰富,薪资水平往往越高...
《嵌入式应用开发白金手册》是一本深入探讨嵌入式系统开发的权威指南,主要聚焦于ARM架构。...无论你是嵌入式开发的新手还是有经验的工程师,这本《嵌入式应用开发白金手册》都将是你提升技能的宝贵资料。
由于3G持续升温,这方面的人才也...据悉,目前国内3G核心嵌入式人才不足万人,其中华为约5000-6000人,中兴通讯、大唐各约2000人,以区区万人的阵容去争夺据称有上千亿元的市场,3G嵌入式工程师的身价由此可见一斑。
从更深层次的应用场景来看,嵌入式系统中使用“DC”类库可以显著简化开发工作。在产品设计过程中,工程师不必从零开始编写显示代码,而是可以直接利用已有的类库进行开发,这不仅缩短了开发周期,还提升了软件的稳定...
从职业发展角度来看,初期阶段软件工程师的薪资可能略高于硬件工程师,原因在于软件行业的入门门槛相对较高,需求量大。然而,随着经验的积累,特别是当工程师掌握了复杂硬件设计技能时,硬件工程师的薪资往往会赶上...
### ARM新手入门经典知识点 #### 一、嵌入式系统概览 嵌入式系统是一种以特定应用为核心的软硬件结合体,它以处理器为...掌握这些技术和平台,对于嵌入式开发工程师而言,是构建高性能、高可靠性的嵌入式系统的基石。
这款芯片在嵌入式系统设计领域广泛应用,因其高性能、低功耗、丰富的外设接口以及易于开发而受到新手和资深工程师的欢迎。 STM32新手入门时,首先要了解的是其基本架构。STM32系列包括多种型号,每种型号根据内核、...
嵌入式系统设计是现代电子工程领域中的一个重要环节,尤其在ARM技术的广泛应用下,高效的设计工具成为必不可少的辅助手段。XPS(Xilinx Platform Studio)是Xilinx公司推出的一款强大的嵌入式设计工具,特别适用于...
相信以这些问题为线索的学习过程一定可以帮助大家快速成为一名优秀的嵌入式开发工程师。 为了帮助大家做好嵌入式Linux的学前准备,我们对这些常见的问题逐一进行解答,提供给大家参考,希望能够有所帮助。
这意味着对于想要进入嵌入式行业的从业者来说,不仅需要了解硬件的基础知识,还要深入学习软件开发的相关技能,尤其是在嵌入式Linux方面的应用。 #### 三、购买开发板的选择与建议 - **是否购买开发板**:根据个人...
总之,51单片机的学习涉及硬件原理、编程语言、中断、I/O操作、定时器、串行通信等多个方面,通过系统学习和动手实践,你可以逐步掌握这一基础而重要的技能,为后续的嵌入式系统开发打下坚实的基础。