This document clarifies breaking changes introduced in the CMSIS-Toolbox 2.0.0 and describes most common issues faced when migrating examples created for older versions. Please extend this document if you encounter further issues.
For highlighting changes in yml nodes it's recommended to update the YAML Language Support extension settings to use the tagged schemas schemas/projmgr/2.0.0
.
For example the following # yaml-language-server
comment can be used:
-
in *.csolution.yml:
# yaml-language-server: $schema=https://github.com/Open-CMSIS-Pack/devtools/blob/schemas/projmgr/2.0.0/tools/projmgr/schemas/csolution.schema.json
-
in *.cproject.yml:
# yaml-language-server: $schema=https://github.com/Open-CMSIS-Pack/devtools/blob/schemas/projmgr/2.0.0/tools/projmgr/schemas/cproject.schema.json
-
in *.clayer.yml:
# yaml-language-server: $schema=https://github.com/Open-CMSIS-Pack/devtools/blob/schemas/projmgr/2.0.0/tools/projmgr/schemas/clayer.schema.json
The following deprecated yml nodes and related handling were removed:
all occurrences:
add-paths
(replaced byadd-path
)del-paths
(replaced bydel-path
)defines
(replaced bydefine
)undefines
(replaced byundefine
)for-type
(replaced byfor-context
)not-for-type
(replaced bynot-for-context
)output-type
(replaced byoutput
node)
in misc
:
compiler
(replaced by [for-compiler
)C*
(replaced byC-CPP
)
in output-dirs
:
gendir
(replaced bygenerators
node)rtedir
(replaced byrte
node in*.cproject.yml
)
Note: RTE files belonging to components specified in
*.clayer.yml
files remain next to such*.clayer.yml.
in processor
:
fpu
andendian
(but accepted with disabled schema check)
in cdefault:
:
packs
build-types
output-dirs
The cdefault enablement has changed:
The cdefault:
empty node must be added to *.csolution.yml to activate its use.
Note: the file must be named
cdefault.yml
orcdefault.yaml
without leading dot.
The following Access Sequences were removed:
$Source(context)
(replaced by$ProjectDir(context)$
)$Out(context)
(replaced by$elf(context)$
,$bin(context)$
,$hex(context)$
,$lib(context)$
and$cmse-lib(context)$
)
The following environment variable must be unset or removed:
CMSIS_BUILD_ROOT
Note: This is needed because
cbuild
calls binaries pointed byCMSIS_BUILD_ROOT
which are potentially outdated.