ST意法半导体
直播中

吴湛

9年用户 779经验值
擅长:电源/新能源
私信 关注
[问答]

想问一下是否有更好的方法来使固件开发和测试的整个生命周期更可追溯

你好,
目前我正在考虑如何确保在同一项目上工作的不同开发人员能够保持准确的结果。构建、链接、调试和闪烁过程应该是可重现的,并且对我的目的来说是相同的。对此有何建议?
使用 STM32CubeIDE 时,我遇到了一个问题,即包含有关工具链等信息的项目文件很难管理。(包含绝对路径的 XML 文件、.cproject、.project 文件等在每次 IDE 启动时都会发生变化)。
目前我在单独的 GIT 存储库工具中进行管理,例如:
- GNU ARM 嵌入式工具链
- 制作
- STM32Cube程序员
- 开放强迫症
固件位于单独的 GIT 存储库中,并依赖于 Makefile 构建过程。Makefile 中只有工具链存储库的相对路径。这意味着一旦所有开发人员都考虑了固件的层次结构和工具链文件夹,就应该始终可以重现相同的结果。Makefile 包含用于构建、刷新固件、擦除等的更多命令。
现在我想问一下是否有比我的方法更好的方法来使固件开发和测试的整个生命周期更可追溯。(根据我的研究,还有一些方法可以外包和管理 Docker Images 中的工具链。我没有看到我的方法有额外的好处)。
(我找不到合适的类别来解决有关固件开发的问题)



回帖(1)

廖漳彩

2022-12-1 14:19:44
好吧,这里有一个长方体。尽管我使用客户想要的任何东西:Keil、IAR 或 makefile。
同意 Eclipse CDT .cproject 是一团糟。但是绝对路径?项目文件在每次启动时都会改变?项目路径可以保持相对,使用“路径变量”。
可以管理外部依赖项(包括 Cube 库)的路径。
有时 Eclipse 确实会在没有明显原因的情况下更改项目文件。可以使用任何合适的版本控制工具检测这些更改,并在需要时进行审查和恢复。
所以它可以保持控制。
工具链:CubeIDE 允许选择工具链并安装更多 ST 或 ARM 工具链。这些是版本化的。您也可以制作自己的存档。重要的是记下正在使用的工具链和库。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分