Answers:
嵌入式系统编程(我从事了30多年了)与大多数其他类型的软件开发所需要的思维方式截然不同。计算能力的范围差异很大,从价格为30美分的8位微控制器到运行Linux或某些其他常见OS的32位微处理器。我目前正在这个规模的两端进行项目。最小的micro上的代码存储区可能只有几KB,只有几百个字节的RAM。一个价格为3美元的中档16位微控制器,可能具有256KB程序存储空间和16KB RAM。
除了有限的内存资源外,嵌入式编程与软件开发的其他领域不同的一个方面是,程序员经常直接在寄存器级别上与硬件打交道-要么在微控制器本身上,要么在与之相连的外围设备上。微型通过串行总线,如UART,SPI或I2C。因此,低端嵌入式微控制器通常用C或汇编语言编程。
嵌入式系统通常处理实时事件,因此嵌入式固件程序通常具有许多中断例程,并且可能具有较小的RTOS(实时OS)。调试此类系统通常需要使用两条专用线连接到微型计算机的硬件协助,因此可以从PC远程设置断点。逻辑分析仪,总线分析仪和示波器是用于调试这些系统的其他工具。
由于嵌入式开发的硬件方面,开发人员通常具有一定的电子背景。(我同时拥有EE和CS学位)。
知道特定种类的软件解决方案(例如以下任何一种)也有区别:
可能还有其他人,但是这是另一种形式的专业,其中的人几乎可以为进行上述定制的任何类型的公司工作。就我而言,我已经在内容管理系统上工作了两年,从某种意义上讲,我认为这是专业。
Web开发之类的内容可能不够具体,因为该领域可能有很多专业,或者它可以满足您的需求?