Skip to content

Absence of <usage> field in SVD file causes an error #282

@berkut0

Description

@berkut0

I'm using SVD from a chip and this file is in terrible condition (deeply Chinese chip). I found out that there is svdtools, which I have been looking for all this time! This powerful tool will help me to bring this SVD file to a normal state.

But I encountered an error. This is the same bug that appears in svd2rust. I know about it, fixing this problem is where my journey with the SVD file started.

The problem is that some peripherals in the original file do not have a field. This is because these peripherals have unusual fields (e.g. ). Maybe for some other reason, which is probably not important at the moment.

What do I think is the right thing to do? It seems to me that the right thing to do would be to make it a warning. Because in my YAML I have already put it as a correction in the original file. So the logic is: explicitly state that there is a bug in the original file, but let the patch be done. What do you think?

[2025-03-11T14:50:14Z ERROR svdtools::cli] by svdtools (0.4.4)

    Caused by:
        0: In device `deeply_chineese_chip`
        1: In peripheral `ADT0`
        2: Parsing unknown addressBlock at 567:13
        3: Expected a <usage> tag, found none

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