什么是嵌入式系统?现在大家普遍认同的一个概念是嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。 forum.jpg 我们一起来具体分析:1、以应用为中心:做嵌入式产品的目的就是为了应用2、以计算机技术为基础:嵌入式系统的本质就是一个完整的计算机系统,只是将其嵌入到了某一个设备当中3、软硬件可裁剪:不同的嵌入式产品所需的功能不同,我们可以根据需求将不需要的软硬件裁减掉以减少成本4、对体积、功耗、成本稳定性等有严格要求:嵌入式产品经常工作于复杂的环境下,完成特殊的功能,较于普通计算机要求更严5、的专用计算机系统:电脑和手机只提供通用的系统环境,我们可以根据自己的需求安装对应的APP,属于通用计算机;而嵌入式产品的软硬件都是为某一个具体产品量身定制的,属于专用计算机嵌入式都应该学习什么呢?1、基础学习—linux入门Linux因其开源,在嵌入式开发中被广泛采用。Linux系统的发行版有很多,可以根据自己的喜好选择,比如Redhat、Ubuntu、Fedora等,Ubuntu的图形界面比较好,所以我一直用Ubuntu。2、基础学习—c语言C语言是嵌入式开发的必备基础知识,因为linux的内核几乎全部是由C语言编写完成的。嵌入式离不开内核,工作也离不开c语言。学习的过程中自己多敲多演示,自己的想法机器很多时候就给验证了。3、基础进阶linux应用程序设计linux操作系统给我们提供了很多函数接口,我们可以直接拿来使用,省去了我们自己实现的过程。此阶段学习是从事嵌入式上层应用开发以及底层开发人员的必修课。文件操作、进程通信这些是开发常用的内容。虽然这阶段比较抽象,但是通过它干的事情来看,还是比较好玩的。4、嵌入式入门-ARM体系结构从这阶段开始,你对嵌入式会有更新的认识,开始接触实物了。目前通用的嵌入式处理器有ARM、MIPS、X86等。从市场占有率看,ARM远远领先于同类其他处理器。这个阶段建议大家通过开发板来练习,不同的开发板原理图、寄存器不一样,只有自己亲身经历了才会对它认识更深刻。5、嵌入式精髓-linux内核-驱动嵌入式内核驱动工程师或者叫做嵌入式底层工程师是嵌入式开发人员最期望成就的,这个岗位成长比较缓慢,造成了人才的短缺,从而薪酬比较高。内核的更新比较快,建议先以某一个版本学习完之后,自己再开始研究其他版本内核。