嵌入式系统可以解析成:为了应用高度定制软件和硬件的计算机系统,满足一系列的特定应用需求。国内普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。可以看到,嵌入式系统首先是计算机系统。但是如果要学习嵌入式系统的话,是否需要先去了解计算机的基本理论知识呢?就让粤嵌嵌入式培训这样跟你说:
嵌入式系统既然是计算机系统,那么计算机的基本理论知识。例如编译原理、数据结构、操作系统、离散数学、计算机系统体系结构等是否有必要掌握?其实小编认为,这些既然称作是基础,那么对于学习更深的内容肯定是会有所帮助的,即使这个基础并不是直接通达嵌入式培训。
目前国内很多学校没有培养嵌入式的专业,没有相应的人才输出。很多学习嵌入式的人都是从电子类的专业,自动控制类的专业转过来的,这个转型也意味着理论上的巨大缺憾。如果要问,排序算法有几种,恐怕只知道冒泡和希尔,不知道堆排序、快速排序、基数链式排序这些算法,更不知道还有内部排序和外部排序之分。而这种巨大缺憾很可能会阻碍程序员往更高的层次发展。除非你一直做这种具体的工程大于理论的东西。
但是实际上,如果从一个嵌入式的程序员成长为系统设计者,或者更高的技术职位,要从更深的层次看问题,理论起到了非常大的支撑作用。比如说,设计一个普通的微波炉控制系统。说实话,这个代码应该是非常简单的。但是,作为精细的设计者,不仅仅要考虑需求是否完成,还用从整个程序的空间杂度、时间杂度上去分析,并降低整个代码的复杂度,从而进一步降低软件结构、算法实现对处理器的要求,达到对成本的节约。一般来说,成本不光是BOM成本,还包括人力成本、运营成本、开发成本、维护成本等。任何软件系统都要测试,然而一份代码要怎么才能比较好测试呢?这个问题并不好回答。
要是个理论性稍微强点的产品,汽车导航系统、地图的路径搜索算法、定位位置的搜索,以及地图的分类加载优化等等,都不是太容易就能做好的,更需要坚实的理论基础。
因此还是希望从事嵌入式的朋友能把计算机基础课程全部系统的学习一遍。当然,若你目前还只是想入门嵌入式,可以考虑到粤嵌进行专门的嵌入式培训,掌握必备的技能,并不影响你找工作。Tel/WX:133--52--86--80--59
|