嵌入式系统是软硬结合的东西,搞嵌入式开发的人有两类。
一类是学电子工程、通信工程等偏硬件专业出身的人,他们主要是搞硬件设计,有时要开发一些与硬件关系最密切的最底层软件,如BootLoader、Board Support Package(像PC的BIOS一样,往下驱动硬件,往上支持操作系统),最初级的硬件驱动程序等。他们的优势是对硬件原理非常清楚,不足是他们更擅长定义各种硬件接口,但对复杂软件系统往往力不从心(例如嵌入式操作系统原理和复杂应用软件等)。
另一类是学软件、计算机专业出身的人,主要从事嵌入式操作系统和应用软件的开发。学软件的人对硬件原理和接口通常难以有较好的掌握,最多也只能写部分BSP和硬件驱动程序。嵌入式硬件设计完后,各种功能就全靠软件来实现了,嵌入式设备的增值很大程度上取决于嵌入式软件,稍复杂的硬件都交给台湾或国外公司设计,国内的硬件设计力量很弱,很多嵌入式公司自己只负责开发软件,因为公司都知道,嵌入式产品的差异很大程度在软件上,在软件方面是最有“花头”可做的),所以搞软件的人完全不用担心自己在嵌入式市场上的用武之地,越是智能设备越是复杂系统,软件越起关键作用。
嵌入式,其实就是ARM+Linux,重点其实是嵌入式操作系统,建议先从单片机做起,了解GPIO、定时器啥的,理解怎么用C语言操作硬件。然后再去学Linux操作系统,shell语法等,然后再买一个ARM开发板(初期买2410足够),学驱动开发啥的,建议去星创客学习。学完了以后,做几个驱动,就可以找工作了。
一类是学电子工程、通信工程等偏硬件专业出身的人,他们主要是搞硬件设计,有时要开发一些与硬件关系最密切的最底层软件,如BootLoader、Board Support Package(像PC的BIOS一样,往下驱动硬件,往上支持操作系统),最初级的硬件驱动程序等。他们的优势是对硬件原理非常清楚,不足是他们更擅长定义各种硬件接口,但对复杂软件系统往往力不从心(例如嵌入式操作系统原理和复杂应用软件等)。
另一类是学软件、计算机专业出身的人,主要从事嵌入式操作系统和应用软件的开发。学软件的人对硬件原理和接口通常难以有较好的掌握,最多也只能写部分BSP和硬件驱动程序。嵌入式硬件设计完后,各种功能就全靠软件来实现了,嵌入式设备的增值很大程度上取决于嵌入式软件,稍复杂的硬件都交给台湾或国外公司设计,国内的硬件设计力量很弱,很多嵌入式公司自己只负责开发软件,因为公司都知道,嵌入式产品的差异很大程度在软件上,在软件方面是最有“花头”可做的),所以搞软件的人完全不用担心自己在嵌入式市场上的用武之地,越是智能设备越是复杂系统,软件越起关键作用。
嵌入式,其实就是ARM+Linux,重点其实是嵌入式操作系统,建议先从单片机做起,了解GPIO、定时器啥的,理解怎么用C语言操作硬件。然后再去学Linux操作系统,shell语法等,然后再买一个ARM开发板(初期买2410足够),学驱动开发啥的,建议去星创客学习。学完了以后,做几个驱动,就可以找工作了。
