工作流程:
做项目前,需要规划好这个项目里面的产品功能,这个需要列出来
- 以下是硬件工程师做的事情
- 根据功能拆解到技术端,每个功能都映射到硬件需求上
- 根据这个映射关系来决定需要哪几类硬件
- 然后做硬件选型
-
嵌入式系统软件做的事情如下
- 软件上要做的事情是功能拆解映射到各个软件模块上,根据软件模块可以得到对硬件资源的需求
- 然后软件拿需求表,硬件拿选型表,一起开会将硬件部分敲定(比如mcu具体信号敲定,传感器具体通信接口和型号初步敲定)
- 接下来硬件工程师开始设计原理图画pcb,这个过程会频繁和结构工程师探讨硬件堆叠的事情,达到双方满意
- 软件工程师开始根据软件功能需求,分块实现各个功能模块软件工程师开始根据软件功能需求,分块实现各个功能模块
我需要做:
1.列出产品功能需求
2.拆分需求点,映射到软件功能模块上
eg: 比如,功能需求里面有一项是oled显示功能,显示预测结果
拆分,软件角度,oled分为两部分,1.OLED驱动层,2.OLED应用层
比如,存储需求
拆分,软件角度,分为驱动层,文件系统抽象层,应用层
组件化设计(拆分[解耦]+组装[合理耦合])学习笔记
嵌入式软件可复用架构设计 1:组件化设计(拆分+组装)_哔哩哔哩_bilibili
1、拆分出的可复用化的最小单元叫做组件(需要满足:可独立开发、可独立发布、可独立测试)
2、组装为将这些组件租户成一个大系统,修改每个组件,接口要和原组件对应
1、如何拆分
2、如何组装1——向高层抽象依赖
3、如何组装2——无循环依赖
continue