Open-CMSIS-Pack / devtools

Open-CMSIS-Pack development tools - C++
Apache License 2.0
73 stars 54 forks source link

`boards:` with explicit vendor information fails #1671

Closed ReinhardKeil closed 1 week ago

ReinhardKeil commented 1 month ago

Describe the bug boards: allows to specify a revision. However this feature seems to be not implemented.

To Reproduce Use this project: Blank4.zip

> cbuild c:\Test\MyLPC1700\Blank4\Blank4.csolution.yml --context-set --update-rte --packs --context Project.Debug+A31G112
ABOV::A31G1xx_Series@2.5.0          # output artifact
I: Adding pack "ABOV::A31G1xx_Series@2.5.0"
I: Downloading ABOV.A31G1xx_Series.2.5.0.pack...

I: Extracting files to C:\Users\reikei01\AppData\Local\Arm\Packs\ABOV\A31G1xx_Series\2.5.0...
error csolution: board 'ABOV::StarterKit-A31G112CL:V1.1' was not found
error csolution: processing context 'Project.Debug+A31G112' failed

Environment (please complete the following information):

jkrech commented 1 month ago

After installing the pack ABOV::A31G1xx_Series@2.5.0 using cpackget, I run `csolution list boards -f A31G112. The boardID that is returned is:

>csolution list boards -f A31G112
ABOV Semiconductor::StarterKit-A31G112CL:V1.1 (ABOV::A31G1xx_Series@2.5.0)

While the vendor uses ABOV as the pack vendor name, they use ABOV Semiconductor as Dvendor and Bvendor name.

I can see that CMSIS Solution Extension does add the wrong Bvendor for this board.

ReinhardKeil commented 1 month ago

not an bug in CMSIS-Toolbox

JonatanAntoni commented 1 month ago

The board is defined in ABOV.A31G1xx_series.pdsc 2.5.0 as follows:

    <board vendor="ABOV" name="StarterKit-A31G112CL" revision="V1.1">
      <description>ABOV StarterKit-A31G112CL_V1.1</description>
      <mountedDevice deviceIndex="0" Dvendor="ABOV Semiconductor:126" Dname="A31G112" />
    </board>

But csolution list boards -f A31G112 reports:

ABOV Semiconductor::StarterKit-A31G112CL:V1.1 (ABOV::A31G1xx_Series@2.5.0)

This seems to be a confusion between the Dvendor (enum) and the pack vendor name (string).

ReinhardKeil commented 1 week ago

This is a problem in the VS Code csolution extension.

Reference MCUTO-330

jkrech commented 1 week ago

There is no problem in the VSCode CMSIS Solution extension. Csolution > 2.5.0 (nightly) now correctly computes the boardID and finds the matching board:

>csolution list boards -f A31G112
ABOV::StarterKit-A31G112CL:V1.1 (ABOV::A31G1xx_Series@2.5.0)