主要从项目方面,谈一谈对嵌入式的看法。希望可以对刚入门或者即将走出校园的学弟学妹们有些帮助。
有许多面临毕业、找工作的大学生,面对如此激烈的竞争,如果有一技之长旁身,那就是你挑公司了。
首先要了解一下IT行业背景,目标行业是什么?包括使用产品和开发产品的行业。这些都是我们入职的领域。
大学的时候,在实验室和老师做了很多项目。多是围绕51单片机、stm32去做的,当时觉得自己很了不起,也觉得了解了嵌入式是先做硬件然后硬件里包含某种单片机,去写单片机程序驱动外设就可以实现各种功能。
工作后才知道,当时只是了解了概念,那些还是比较基础的。
这里插一句,无论是电子通讯我们学了很多课程,当时的模电、微机原理、高频电子线路、通讯原理、信号处理等,很多人觉得不知道怎么学,其实工作中这些是基础。
在实际工作中也遇到过类似的问题。项目组的学弟问我为什么要会,能看懂不就可以了。嵌入式只是一个概念,分解到最后还是电路一级的,信号完整性、可靠性都与电路有关,先学个概念只能达到知道是什么,不知道为什么,层次不一样。
毕业开始工作就从事了硬件开发,首先工具软件的准备,对硬件来说画原理图,PCB工具protel或ad或cadence要精通一种,CPLD工具,xilinx,altera,lattice最好要会一种,否则局限性太大。嵌入式不带可编程器件的非常少,这些都是在实际工作中所做的必要准备,工具会了就可以进入实际的项目开发阶段。
一个完整的产品开发过程包括:需求、方案、设计、调试、测试、生产、维护。
首先,要知道客户要什么?功能、性能指标是什么?根据功能、性能指标选CPU 配外围接口,搞定后开始画原理图,画PCB板,制版。在原理图PCB阶段要考虑可测试性,可生产,好维护,所谓的项目经验就体现在这里。
可测试性:包括器件位置、密度、测试点分布。
可生产性:要考虑批量生产、对普通工人要做到防呆。
器件封装要合适,与加工工艺要相符,考虑要手工好拆卸,装配。
对新人来说,还要知道CPU的启动过程,软件寄存器的配置、调试时不能老是要配一个软件帮手,简单的要自己能独立操作。
自己所做的工作是纯硬件的,所以一开始很多软件方面的软肋,随着接触的增多,软件这块也慢慢的手上,对于刚工作的学弟学妹来说,软件和硬件一定要精通一门,熟悉另一门,这样在工作中就不会那么吃力了。
记得毕设老师说嵌入式就是软硬相结合,实际工作中就是这样,只不过会细分很多,越大的公司分的越细,技术门槛就越高。技术一定要精。