前言
(1)英文博客都写的太高大上了,真滴看不懂。我也没找到其他的门槛稍微低一点的英文博客网站。这里就一个在reddit上看到的讨论分享出来。
(2)原文链接:https://www.reddit.com/r/embedded/comments/15idc39/with_stm32s_how_do_teams_use_version_control_git/
问题
With STM32s, how do teams use version control (git) with CubeIDE?
对于 STM32,团队如何将版本控制 (git) 与 CubeIDE 结合使用?
I’m wondering if someone could give a walkthrough of where they clone to, what the folder structure should be within the reop, etc. Our team is having trouble managing it.
我想知道是否有人可以介绍一下他们克隆到的位置、reop 中的文件夹结构应该是什么,等等。我们的团队在管理它时遇到了麻烦。
How do teams manage a testing config (on a dev kit) vs. the deployment (on a custom PCB), with similar-but-different IOC files? Any advice?
团队如何使用相似但不同的 IOC 文件来管理测试配置(在开发套件上)与部署(在自定义 PCB 上)?有什么建议吗?
Looking for advice for small teams of 2-10 people.
为 2-10 人的小团队寻求建议。
回复精简
下面的回答中,吐槽cubemx的人太多了,很多劝退使用cubemx的(苦笑)。所以我就总结出来继续使用cubemx 的方案。
(1)在使用了cubemx的开发中,整个团队要统一cubemx的版本。否则可能因为版本差异产生的内核代码不一样,将面临生成不兼容代码的风险。
(2)从开始开发到结束开发的过程中,cubemx的版本不要进行升级。理由同上。
(3)千万不要在特殊的生成注释中放入一些定制代码,因为代码生成器会删除这些代码。
(4)尝试将代码从硬件中抽象出来。这个感觉是比较合适的。
(5)强烈建议您弄清楚如何将 Cubeide 生成的代码移植到 vscode 或其他任何地方,并编写您自己的构建脚本。不需要花太长时间,而且会让事情变得更容易。(这个没看懂)
(6)在这里,我想例子会有更好的帮助。 Cube 代码位于 Core/ 中,这些代码包含在 main.h 中。然后所有附加外设类将包括 main.h。