Open ReinhardKeil opened 3 months ago
Reinhard, The point 2 is an issue on ST side, we need to have reproduceable build for version in development meaning using packs with the "full identifiers" defined by the semver spec (i.e with the pre-release field : alpha, rc, ...). I do not understand the rational to have a different behavior between development state and release state, we need to be able to have reproduceable project build capability enabling the possibility to exchange projects (whatever you are still in a development phase or not)
@iomint For point 2 there is already a better proposal under https://github.com/Open-CMSIS-Pack/devtools/issues/1339#issuecomment-2008936265. I would recommend that we review and plan the implementation of the cbuild release
feature.
See now #1484
regarding 8. above:
template
*.cgen.yml
)@iomint For point 2 there is already a better proposal under #1339 (comment). I would recommend that we review and plan the implementation of the
cbuild release
feature.See now #1484
Reinhard, I do not think #1484 addresses the concern of a having a different behavior between development state and release state but I can have overlook something.
Problem We need an aligned process to distribute examples that work across multiple toolchains.
Current Problems:
Tool Agnostic Project It is agreed not to use target-type or build-type for toolchain selection. But replacement of
cdefault.yml
is not accepted. Recommendation: use--toolchain
to select toolchains. Add a feature in IDEs that adds this command-line option.*.cbuild-pack.yml
records a pack that is officially not released: For reproduceable builds, it is recommend to store the file*.cbuild-pack.yml
along with the project. A pack that is under development is recorded with release quality added, making it impossible to store examples that use components in this pack (there is not easy process for that). Recommendation: by default do not store pack quality information in*.cbuild-pack.yml
; potentially add an option to enable it. Revised Recommendation: #1484Examples should not use long descriptive text as it makes it hard to select it in tools. See #1324 Recommendation: offer a search capability in tools that select examples.
For starting a blank example, some devices need a template project. Currently there is no way to store such a project template in a DFP or BSP. Recommendation: add a way to store project templates in PDSC files. (https://github.com/Open-CMSIS-Pack/Open-CMSIS-Pack-Spec/issues/306)
Some DFPs (or tools) use assembly startup code; making it toolchain dependent. Recommendation: use C startup code. See https://arm-software.github.io/CMSIS_6/latest/Core/cmsis_core_files.html
FIXED 6. Examples that just use the CMSIS pack and upgrade to CMSIS 6.0.0 may face a breaking change - often because CoreDebug is no longer defined. Recommendation: add CoreDebug to CMSIS 6.1.0 to minimize disruption -> ARM::CMSIS@6.1.0 released readding CoreDebug symbols by default.
Some examples define device at
*.cproject.yml
level. This feature will be deprecated in CMSIS-Toolbox 3.0 Recommendation: output a warning in the CMSIS-Toolbox to notify users. (see #1538)Some tools require changes in linker templates, see CubeMX - Linker Script. Recommendation: please make proposals