Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Include Dname in index #90

Open
flit opened this issue Apr 11, 2019 · 1 comment
Open

Include Dname in index #90

flit opened this issue Apr 11, 2019 · 1 comment

Comments

@flit
Copy link
Member

flit commented Apr 11, 2019

The pack index does not appear to include Dname part numbers, only Dvariant.

For instance, the NXP MIMXRT1052_DFP pack has a Dname of "MIMXRT1052xxxxB" with several Dvariants, including "MIMXRT1052CVJ5B". Only the Dvariant names are present in the index.

@jkrech
Copy link

jkrech commented Apr 12, 2019

This is intentional.

You can probably blame me for this bit of confusion in CMSIS-Pack specification. The necessity for the definition of variants came in after the initial version and strongly pushed for by some partner feedback.

Once we have a variant defined for a device, the Dname attribute string becomes a "group name" (just like Dfamily and DsubFamily) and the Dvariant attribute string becomes the name string by which the device is referenced/selected.

This means that in the tools you can really only select the devices specified as <variant>
MIMXRT1052CVL5B
MIMXRT1052CVJ5B
MIMXRT1052DVL6B
MIMXRT1052DVJ6B

From a tooling perspective the device index must only list 'devices' regardless of whether specified by a <device Dname=""> or <variant Dvariant=""> tag (leafs in the description tree)

In the tools every project target specifies the Device as: Dvendor + Dname
(where Dname is the string specified by Dname or Dvariant in the <devices> description!)

Note:
I don't yet understand why NXP chose to define these as variants rather than devices.
The reason why it does not make sense to refer to a device by the name MIMXRT1052xxxxB is because this would not be specific enough e.g. for pin configuration tools. But often it also matters for conditional compilation of device header files
<compile header="fsl_device_registers.h" define="CPU_MIMXRT1052CVL5B"/>

I hope this explains it. I do appreciate it is not a great design.

~ Joachim

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants