Open-CMSIS-Pack / devtools

Open-CMSIS-Pack development tools - C++
Apache License 2.0
74 stars 57 forks source link

Layer detection problem for multi-core devices #1658

Closed ReinhardKeil closed 1 month ago

ReinhardKeil commented 3 months ago

Describe the bug When using a multi-core device, the layer detection seems to fail when the core is not specified. However, the core is define in the clayer.yml, therefore it should be possible to detect layers correctly.

To Reproduce Use NXP Sensor SDK with MPL3115 Demo: MPL3115 Demo.zip

      board: NXP::LPCXpresso55S69
      device: NXP::LPC55S69JBD100

Steps to reproduce the behavior:

csolution list layers mpl3115.csolution.yml -l latest --verbose --debug
C:/Test/MPL4/MPL3115 Demo/altitude/mpl3115_altitude.cproject.yml:15:17 - warning csolution: path '../../../issdk_hal.h' was not found   
error csolution: undefined variables in mpl3115.csolution.yml:
  - $Board-Layer$
  - $Shield-Layer$

error csolution: one of the following processors must be specified:
:cm33_core0
:cm33_core1
error csolution: one of the following processors must be specified:
:cm33_core0
:cm33_core1
error csolution: error occurred during layer detection. Please review the project and its dependencies

Expected behavior csolution detects the compatible layer that is provided in the BSP.

Environment (please complete the following information):

brondani commented 3 months ago

This is again intended behavior rather than a bug. In the same way Bname and Dname also Pname, when required to uniquely describe a device, must be declared before filtering candidate layers from packs, in other words before applying RTE Model conditions. Otherwise it lacks consistency.

ReinhardKeil commented 1 month ago

Works