原文恕删
: 抛出两个问题,一、分类定义;二、mcu开发的归类,感谢先进回答,弄清楚这个之后,敝
: 人此生无憾。
先说结论,随着时间演变,其实overlap越来越多。
以前IC厂其实不太包什么firmware, 出的IC也大多是通用型CHIP包DSP. 通常会有许多不同的value add公司针对不同的市场提供IP, 兜出所谓的turnkey solution来推出develop board跟SDK给所谓的系统厂。而系统厂主要的工作就是把硬件兜起来做生产,所以传统的系统厂是以硬件跟工厂生产为主轴。而软件部门在系统厂的工作通常是帮忙验证硬件,甚至是帮忙cover一些硬件设计缺失而附属的角色。简单来说,以前firmware跟develop board是有专门的公司来负责,问题也常常是三家不同角色的公司一起来解决。
随着embedded Linux的普及与IC市场慢慢转变为专用型CHIP. 现在IC厂也都会出所谓的BSP 甚至SDK. 所以以前那些solution provider也就慢慢势微而淡出市场, 但那部分的工作依然存在。就需要系统厂跟CHIP场出人出力去cover。因为系统厂每家状况不一样,结果就变成CHIP厂要出越来越多力来“帮助”自己家产品更快上市。
而系统厂就我看来又可简单分两大类,一种是降低生产成本(通常是台厂跟陆厂的强项),一种是提高产品竞争力(通常是外商跟陆商的强项)。而后者会比较注重研发去提高自己产品的差异性,至于前者呢...可能就是造成这串神回复的元凶XD
至于MCU的开发可大可小,有无OS,有提供多完整的solution,都会决定开发的时间与难度。