svdtools icon indicating copy to clipboard operation
svdtools copied to clipboard

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

Open berkut0 opened this issue 7 months ago • 2 comments

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. <peripheral derivedFrom='UART0'>). 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

berkut0 avatar Mar 11 '25 15:03 berkut0