Bypassing hardware vendors' unlicensed header files

Dear list,

tl;dr: Does anybody have experience with SVD files?

Since it happened at least two times that ports of RIOT to new hardware was put on halt because of unclear or no license statements in hardware manufacturers header files I did some research into this direction.

What I found yet are SVD (System View Definition) files, specified by ARM and somehow distributed I was thinking about generating missing header files directly from this definitions.

Would it make sense to generate our own header files from these files?

Does anybody have any experience with those files and license implications with those? (When searching the ARM page there are a couple of EULAs to accept and so forth)

Any input on this topic is welcome.

Best, Thomas

The only tool I've found for converting SVD to header files is the svdconv.exe that comes with the Keil IDE. The headers it produces are somewhat convoluted and it did not make nice indexable arrays and such of array-like register sets, at least when feeding it with the Kinetis SVD files that I've found. It did however give some warnings about those SVD files so it might have been badly formed input files as well. It is difficult to find any information about how the industry is working with SVD files...

Does anyone have any inside connections on the larger manufacturers and can tell something about what tools are used "on the inside"?

Since the SVD files are XML it is fully possible to write an xslt file and use xsltproc to produce whatever output we want from the .svd, but it is not going to be a small task to write such an xslt.

Best regards, Joakim Gebart Managing Director Eistec AB

Aurorum 1C 977 75 LuleƄ Tel: +46(0)730-65 13 83