Skip to content

PDSC /package/devices/family/.../debug parsing logic dropping common attributes #1796

@GMMan

Description

@GMMan

Consider the following partial device element:

<device Dname="SNC733xx">
	<debug svd="SVD\SN_M3B.svd"/>
	<debug Pname= "CORE0" __ap= "0" defaultResetSequence="ResetProcessor"/>
	<debug Pname= "CORE1" __ap= "1" defaultResetSequence="ResetProcessor"/>
</device>

In CmsisPackDescription._extract_debugs, when an element with a Pname is discovered, the map is cleared if an element with no Pname was previously encountered (and labeled as *). This causes the initial element specifying the svd attribute to be removed, and there is no logic to inherit attributes from an unlabeled debug element. The same logic may also cause any debug element specified before the unlabeled element to be removed.

While the pack description format (from Open-CMSIS-Pack Version 1.7.51) specifies for the Pname attribute that "This attribute must be set if defining multiple debug elements within the same section", I ran the PDSC through packChk, and while there were other errors, there was no mention about unlabeled debug elements. The description for the debug element specifies "Multiple debug elements can be defined which are either specific to a processor identified by attribute Pname, or which apply to all connections", which suggests that a mix of debug elements with and without Pname is allowed.

The end result in this case was the SVD file cannot be located as expected.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions