我会尽量在很多情况下回答,但首先你得有个概念。原来的demo和实际产品还是有一段距离的。这个距离是实验室样品和产品之间的距离。主要有三个原因。
原SDK包与实际产品有一定距离的原因
原厂的主要软件工作
这里不讨论芯片设计本身的硬件编程。
SDK分为很多方向:
通用类型1,比如你拿一个STM32芯片,基本上就是几个原创的lib库完成的。更严格的说,比如你拿一个博通HCI蓝牙芯片,里面有完整的文档和一些产品代码,你可以自己在上面实现几乎所有的蓝牙应用。这种情况下,基础芯片应用端的开发工作量比较大,各有各的神通。
2半通用型,尤其是一些SOC芯片,基本锁定了你芯片的应用方向和通用场景。你所有的代码框架都要遵循他的设置,所以没有太大的改动空间。当然,如果平台比较大,比如MTK等平板方案,虽然把你关起来当平板用,但整体展示空间还是非常非常大的。
3.锁定型。其中一些接口是为打补丁而保留的。例如,外部EEPROM加载的RAM与SOC芯片的大多数现有程序一起运行。比如只有一些带参数的接口留给你配置,基本都是配置参数。
当然,集中的混淆点一般都是半通用的,锁定的。
先说锁定型。这里有一个蓝牙音频耳机的例子。大部分耳机都是这种类型,主要是配置模式,但是这种配置也可以很复杂。不是简单的把一些参数设置成0 1,而是由简单的代码逻辑组成,更重要的是要根据你产品的特点进行调试。简单来说,开发的核心部分既不是蓝牙本身,也不是SOC芯片本身的运行,而是通过调试进行声音处理,使其硬件特性与当前参数相匹配。这些东西很多原厂是不可能有能力和芯片应用端抗衡的,因为战斗在一线的是应用端,市场是以一线调试反馈信息和市场反馈信息决定这一切的主体。
先说半通用型。各原厂的这种推广风格会导致非常非常大的差异。具体不好说。简单来说,类似于锁定型。原厂和应用公司各有优势。
但是这个行业的整体发展势头在变,尤其是互联网经济出现之后(没错,它让CS咪咪超过了EE,它改变了EE的大局面)。互联网出现后,对成本的挤压非常严重。严重的最残酷的表现就是压缩中间流程,比如方案商。对不起,我想杀了你。我量大的时候需要直接和原厂对接杀你。之前一直做解决方案提供商,但还是大的,明显感觉到了挤压。
现在已经搬到原厂做SDK去坑应用业务了。但这是否意味着应用公司使用软件的数量减少了呢?不,应用商在两个方向上变形:
更专业的领域和市场,比如你不能要求一个MTK全智提供一个非常完善的飞控系统或者工控系统。
第二,它可以付出更多的努力,对程序员的要求也更高。随着大客户越来越直接到原厂,大应用的空间越来越小,但是小的解决方案团队非常适合生存,原厂需要几十个或者几百个号。解决方案提供商基本都是几个人搞定整个系统的一切,大家需要的全栈能力会更强。
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~等有了孩子先写这么多吧~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~