想入行嵌入式开发并不难? 嵌入式软件开发

嵌入式软件开发(进入嵌入式开发不难?)
从事嵌入式开发一年,有一些想法想和大家分享 。可能很多朋友会担心未来,就像我当初一样,因为不知道储备什么知识,所以写点东西给这些朋友提供参考 。此外,还可以鞭策自己看到自己的不足,认清未来的发展方向 。
首先,IT是一个需要不断学习的行业 。没有哪个行业像我们这样需要不断接触新事物,学习新知识 。正如《你学不起电脑》中咆哮的那样,各种编程语言正在杀死你 。从事系统开发,各种系统杀你;做底层,各种汇编器、芯片和指令集杀你;当然,不管你在做哪一层,各种编译器、工具、软硬件知识等等都可能要了你的命 。任何一种学习的一小部分都是一堆砖头书 。如果不明白,也可以来21ic问问 。其次,嵌入式行业更像是IT中的IT 。缺乏标准,多变的规格,快速的技术变革,新流行的技术可能会在不到两年的时间里失去活力 。比如塞班岛,诺基亚放弃了,英特尔的MeGoo,什么都没发生 。现在安卓很流行 。也许再过几年,就会像今天的塞班岛,感觉永远跟不上时代的节奏 。

所以很多人说IT是给年轻人用的,一点都不夸张 。等年纪大了,你可能真的做不了技术了 。尤其是在中国,技师的地位...(你知道的) 。
话说嵌入式这个行业到底需要什么样的技术人才?仔细观察各种招聘的岗位要求,不外乎
1.一般要求:比如,什么教育背景,多少年工作经验,创新精神,抗压能力强,工作努力,沟通能力好,态度认真等等...
2.专业要求:这个确实很多,但无非是各种熟练度 。精通控制理论、电路设计、硬件驱动开发、linux内核与裁剪、C/C++/Java语言、DSP、ARM、linux/ecos/ucos/wince/VxWorks、嵌入式数据库、多线程编程、各种网络协议、各种总线协议、塞班/安卓/IOS平台的应用开发 。精通各种媒体包装格式、编码和解码;精通通信技术;精通硬件原理图;熟悉PCB设计;精通计算机结构;精通引导程序,精通...我感觉只要我在这个行业,我就必须精通(神圣的狗屎!我觉得掌握一门学科需要很长时间 。。。)
看完这个,特别是专业要求,你是不是太大了?
然后我们来分析一下上面的需求 。每个公司的一般要求好像都是互相复制粘贴的,比如学历(个人认为,学历能力显然更重要),比如经验(有n年经验,而n年前的经验用了n年?),还有个人气质,不知道公司在员工入职前是怎么考察员工的 。专业要求(其实掌握其中几项还是挺了不起的),让人第一眼就晕头转向,可能更容易理解嵌入式开发的结构 。
【想入行嵌入式开发并不难? 嵌入式软件开发】在技术实现上,嵌入式产品分为两类:一类简单,不被操作系统支持;一类复杂的操作系统 。就目前的发展方向而言,后者是趋势 。前者从程序实现上可以分为三层:硬件层、驱动层和应用层;后者分为四层:硬件层、驱动层、系统层和应用层 。
因此,嵌入式系统的开发自下而上需要四类工程师:嵌入式硬件开发、嵌入式驱动开发、嵌入式系统开发和嵌入式软件开发 。

他们应该会哪些技能呢?1.嵌入式硬件开发:这是由硬件工程师完成的,他们通常出生在自动化、电子、通信等专业 。要求熟悉电路等知识,非常熟悉各种常用元器件,掌握模拟电路和数字电路设计的开发能力,熟悉硬件开发模式和设计模式,熟悉各种芯片和外设,熟悉8位、16位、32位处理器的嵌入式硬件平台开发 。有些人需要有FPGA开发经验,精通常用的硬件设计工具:Protel/Pads(powerpc b)/cadence/orcad 。一般需要4~8层高速PCB设计经验 。由于我不是硬件厂商,对这块硬件不熟悉,所以不敢妄言 。
2.嵌入式驱动开发:这可以由硬件工程师或者软件工程师来完成,主要看设备 。目前除非驱动是简单的设备驱动,实际上往往是移植的,所以掌握目标平台的硬件和系统特性更为重要 。所以你至少要掌握一些关于操作系统、系统结构、计算机组成原理和数据结构的知识 。熟悉嵌入式ARM/MIPS/PowerPC架构 。具备单片机和一个或多个32位嵌入式处理器的移植开发能力,熟悉引导加载程序流程,具备扎实的硬件知识,理解硬件原理图,独立完成相关硬件驱动调试,能够按照芯片手册编写软件驱动 。如果涉及网络设备,可能需要掌握很多高级网络协议的原理 。个人认为,虽然这一块大部分并不难,但却极其重要 。当然,如果我们想在这个级别为上层提供多线程支持,有些驱动是很难编写的 。
3.嵌入式系统开发:我从来没有听说过硬件工程师做这个 。要做到这一点,必须熟悉操作系统原理,比如内存管理,比如线程调度,比如文件系统等 。还需要精通处理器架构、指令集、寻址方式、调试、汇编和混合编程 。熟悉操作系统启动流程 。对于linux,你要熟悉Linux配置文件的修改,掌握Linux系统的内核精简、内核移植、交叉编译、内核调试、Bootloader编程、根文件系统制作、集成部署的全过程 。如果这首曲子真的写出来,难度相当恐怖 。好在大部分都是移植的 。很少听到有公司想开发操作系统,没有谷歌的实力 。

推荐阅读