嵌入式开发从大类上来说,首要分为两类:1)嵌入式硬件开发;2)嵌入式软件开发。关于嵌入式硬件开发而言,硬件是必需求懂得,由于涉及到电路原理图的规划。关于嵌入式软件而言,假如细分的话,又能够分为驱动开发和软件开发。这两者都需求必定的硬件常识,所以,嵌入式开发有必要学习硬件。
1、嵌入式硬件开发
嵌入式硬件开发的作业便是依据用户需求、产品司理的要求,规划技能计划并细化技能计划,规划电路原理。这个进程包含技能计划的提出、技能计划的评定、硬件芯片/元器件的选型、技能计划原理的施行等。毫无疑问,硬件开发必需求懂硬件,并且是通晓。
2、嵌入式驱动开发
这个职位在大公司里是有的,在小公司或许就取消了。这个岗位的作业责任便是编写驱动程序。什么是驱动程序,便是介于硬件和软件之间、将硬件接口构成软件指令/代码。便利程序员去调用,这样就避免了程序员直接去了解硬件原理,只需求调用相应的驱动接口即可。
这个职位是为软件开发服务的,要了解硬件接口,知道硬件的作业进程,并构成可调用的代码。所以,必需求懂硬件。
3、嵌入式软件开发
该职位,其实已经是程序员的领域,可是与上位机程序员、网站程序员比较,该职位仍是偏硬的,由于该职位是对硬件编程,所面临的渠道是工控板,是单片机、ARM、DSP等,只不过,所用的硬件接口都被驱动开发者做好了,操控硬件时只需求调用驱动接口就可。在小公司,驱动开发和软件开发是放在一同的,甚至在更小的公司硬件规划、驱动规划、软件规划都是一个人在做,软硬通吃。所以,嵌入式软件开发仍是要懂一些硬件。
所以,关于硬件而言,即便你是软件开发者,也要懂一点硬件,能够不会规划电路,可是必定要能看懂电路。应为驱动开发者,假如犯一点小错误或许就导致软件开发者调试良久,假如懂硬件的话,或许就能及早地发现问题所在。所以,即便是嵌入式软件开发者,也要懂必定地硬件。