背景:
初级研发电子工程师(公司唯一的 EE)——硬件和编码不是问题。我最大的问题是对项目有一个正确的概述,以及从哪里开始。
到目前为止,我只制作了小型软件项目(少于 500 行代码),但我无法想象自己在做更大的项目时不会失去对功能或缺乏功能的概述。
您如何最好地构建/使用什么工具来构建大型嵌入式软件系统?
我目前在做什么:
我通常从勾画项目的功能开始。它可以是一对多的分层流程图或相关图表(框图等),并对组件/芯片进行一些研究。然后我在参考数据表/互联网时直接跳入编码(我猜很快失败),一次编码一个功能并使用虚拟数据或类似测试对其进行测试。它可能正在向 MEM 芯片写入数据,然后如果能正常工作,那么它可能是主芯片和 MEM 芯片之间的 SPI 驱动程序。
我正在寻找什么答案:
真的什么都有。我会整理出我认为合理的东西。它可以是一本书、一篇文章、个人经历、建议等。
我很想知道老年人如何解决这个问题。
编辑
首先,感谢您分享您多年的经验!非常感谢所有答案。我的看法是;
- 创建清晰准确的规范文档。
- 创建软件设计文档。(我现在要添加的东西) 设计文档模板
- 在模块中思考它可能看起来多么多余。(我需要更多关注的事情)
- 遵循构建头文件/源文件的编码标准。(从未这样做过) Barr Group C 标准
- 首先专注于创建低级实现。(通讯等)
- 尽可能/合理地实施设计模式。 设计模式
- 为版本控制设置一些东西(Github 等 - 从来没有用过这么多)
- 研究持续集成/持续部署(我偶然发现的新事物) CI 和 CD 基础