一、固件开发顺序

电气工程师和嵌入式系统开发人员在构建固件时具有多种样式和开发顺序,最常见的是“自下而上”的方法。该过程从最低级别(硬件)开始,并逐步扩展到Web或App。

(1)硬件测试:建立测试硬件的基本功能,确保正确设计PCB和原理图;测试固件,循环上电、LED闪烁、喇叭提示等。

(2)组件测试:测试每个数字组件,如I2C、SPI、串行、USB等总线上的任何组件;这是一项基本的功能测试,可确保组件以正确的参数响应。

(3)函数:将每组命令和逻辑序列包装在自定义函数中。

(4)库:开发相互依赖的功能组。

(5)管理器:许多产品都是多线程,需要保证每个线程可靠地运行。

(6)API/Web:这些线程函数然后与各种Web服务进行通信;许多产品具有双向通信,因此硬件可以向服务器发起请求,而服务器可以向硬件发起请求。构建有条理的、合理的API有助于确保通信高效稳定。

在首次组装出功能原型后,通常会有很多不足之处,如规范文档的要求不完整/不正确,或者组件可能无法达到规范要求。在进入最终开发阶段之前,通常会至少构建3个全功能原型。 

硬件产品设计往往需要产品经理多方协调反复沟通,相比互联网产品迭代周期长,产品良品率及售后压力较大,对个人综合能力的要求普遍较高。