[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] CMSIS SVD based peripheral definitions
From: |
Liviu Ionescu |
Subject: |
Re: [Qemu-devel] CMSIS SVD based peripheral definitions |
Date: |
Mon, 9 Jan 2017 18:51:01 +0200 |
> On 9 Jan 2017, at 18:16, Peter Maydell <address@hidden> wrote:
>
> On 28 December 2016 at 18:49, Liviu Ionescu <address@hidden> wrote:
>> The latest release of GNU ARM Eclipse QEMU (2.8.0-20161227) introduced
>> a new technology for implementing peripherals, based on standard
>> CMSIS SVD definitions
>> (http://www.keil.com/pack/doc/CMSIS/SVD/html/index.html).
>>
>> The SVD files are large XML files produced by the silicon vendors,
>> and generally are considered the final hardware reference for
>> the Cortex-M devices, so they are expected to provide the most
>> accurate peripheral emulation.
>
> This certainly seems like a good idea in principle, if there's
> enough information in the SVD files to reliably create a
> complete board model.
the general answer is that this information should be there.
in practice, it mostly is. however, the SVD specs are quite lax and each vendor
understands them slightly differently.
to compensate for these differences, my workflow added an extra step of
patching the original content. the patch files are minimal compared to the
original files, and the effort to create them is perfectly acceptable.
> The obvious issue that comes to mind
> is licensing, though -- what licenses are the SVD files under,
> and would those be compatible with QEMU's GPLv2 ?
that's a common question with cmsis files. I could not find any specific
license applying to svd files, so, since these files are provided as part of
the arm cmsis packs, I would consider the generic license, which, starting with
the latest cmsis release, was changed to Apache.
anyway, in my opinion, after experimenting both with classical (switch based)
implementations and table based (peripheral/register/bitfield) implementations,
if I would have to deal with a device which does not have the vendor SVD files,
I would probably prefer to write the JSON file by hand and allow the automated
tools to handle the rest.
actually I'll have to do this when I'll rewrite the Cortex-M system
peripherals, not included in the vendor provided SVDs.
regards,
Liviu
- Re: [Qemu-devel] CMSIS SVD based peripheral definitions, Peter Maydell, 2017/01/09
- Re: [Qemu-devel] CMSIS SVD based peripheral definitions,
Liviu Ionescu <=
- Re: [Qemu-devel] CMSIS SVD based peripheral definitions, Peter Maydell, 2017/01/09
- Re: [Qemu-devel] CMSIS SVD based peripheral definitions, Liviu Ionescu, 2017/01/09
- Re: [Qemu-devel] CMSIS SVD based peripheral definitions, Peter Maydell, 2017/01/16
- Re: [Qemu-devel] CMSIS SVD based peripheral definitions, Liviu Ionescu, 2017/01/16
- Re: [Qemu-devel] CMSIS SVD based peripheral definitions, Peter Maydell, 2017/01/16
- Re: [Qemu-devel] CMSIS SVD based peripheral definitions, Liviu Ionescu, 2017/01/16
- Re: [Qemu-devel] CMSIS SVD based peripheral definitions, Dr. David Alan Gilbert, 2017/01/17
- Re: [Qemu-devel] CMSIS SVD based peripheral definitions, Peter Maydell, 2017/01/17
- Re: [Qemu-devel] CMSIS SVD based peripheral definitions, Liviu Ionescu, 2017/01/17