Coder Social home page Coder Social logo

Update Freescale/NXP files about cmsis-svd HOT 8 OPEN

cmsis-svd avatar cmsis-svd commented on May 20, 2024
Update Freescale/NXP files

from cmsis-svd.

Comments (8)

posborne avatar posborne commented on May 20, 2024

Thanks @therealprof; I think putting things into the NXP directly would be fine. Hopefully they don't mess with us again by move it over to QCOM or something.

The kernel gets around this some by binning in to, e.g., mach-imx but I think we stick with manufacturer name.

from cmsis-svd.

therealprof avatar therealprof commented on May 20, 2024

I've just recently released a Rust crate based on the new MKW41Z SVD files here: https://github.com/therealprof/mkw41z . The repository also contains the SVD file.

The changes for this chip are not too drastic, they added a few missing peripherals, adjusted some to make now reserved values really reserved, fixed plenty of typos in the comments and added the (previously absent) standard Cortex-M peripherals like SysTick.

It should rather easy to quickly glance over the changes and flag any major changes.

It'll be more work to download each SDK individually and pull the SVD file, I haven't found a concentrated source for them yet.

from cmsis-svd.

therealprof avatar therealprof commented on May 20, 2024

I guess I haven't realised how many SVD descriptions there are now; quite a lot more than already checked in and retrieving them by individually requesting them from the SDK builder as quite tedious... Guess I'll have to limit myself to the ones I care about or maybe the ones that are available on FRDM boards.

Question is: What to do with the ones for which no SDK exists?

from cmsis-svd.

jnohlgard avatar jnohlgard commented on May 20, 2024

@therealprof I discovered that NXP has begun providing pre-configured mcuxpresso packs for the Keil uVision pack installer, these files can be downloaded manually and unzipped without the Keil IDE as well.

I have no automated tools for it, nor have I tried to find for any, but the starting URL is http://www.keil.com/pack/index.idx (an XML file). The index then links to a number of pdsc files which contain some metadata, but the real package is located at the same URL as the pdsc, but with the version added as a suffix and the file extension changed to .pack.
For example, the pack belonging to the pdsc line

<pdsc url="http://mcuxpresso.nxp.com/cmsis_pack/repo/" name="NXP.MKL27Z4_DFP.pdsc" version="10.0.1" />

can be found at http://mcuxpresso.nxp.com/cmsis_pack/repo/NXP.MKL27Z4_DFP.10.0.1.pack
The .pack file is a normal .zip archive and can be extracted with the regular unzip tools.

Not all their MCUs seem to have been packaged for this new scheme yet, but the more recent devices from the larger families are available (KL, K22, etc). For the rest, the older Keil packages are available as family packages as well from the same index file, e.g.

<pdsc url="http://www.keil.com/pack/" name="Keil.Kinetis_K60_DFP.pdsc" version="1.5.0" />

The packages are pretty big if you are only looking for an SVD file, but at least they are downloadable this way...

Edit:
Oh, and the older Keil provided packages are usually a bit behind on any updates to the SVD or C header...

from cmsis-svd.

therealprof avatar therealprof commented on May 20, 2024

@gebart Great stuff, thanks. I'll check it out.

from cmsis-svd.

lkolbly avatar lkolbly commented on May 20, 2024

Okay, so I wrote a script which scraped that site and extracted (most of) the SVD files. (I can post it if you want)

I was able to extract 3,447 different SVD files, some of which were already in the repository, so the end result is about 2,600 SVD files in the repo, taking up 6.2GB of disk space (on master, the data/ folder takes up about 1.1GB of space). You can see it here.

GitHub is refusing to make a PR for the whole thing. @posborne should I split it up and submit individual PRs (for different companies, or sub-PRs for companies where needed)? I feel like a 6.2GB pip package is pretty big. Anyone in particular is only going to want a single one.

Personally, I only care about NXP/LPC804.svd. But I figured might as well grab them all.

I'm working in Rust, so an alternative approach I've considered was creating 2,600 Rust crates, one for each device (possibly hosted on my own custom registry). Something similar could be done here - the SVD parsing library could be split into its own thing, and individual pip packages could be maintained for each device (again, possibly on a custom registry to avoid spamming pypi). And then the raw SVD files could just be hosted either in this giant github repo or in a web portal or something. Thoughts?

from cmsis-svd.

therealprof avatar therealprof commented on May 20, 2024

@lkolbly Check out what https://github.com/stm32-rs/stm32-rs is doing. That seems like the sanest approach one could possibly take.

from cmsis-svd.

lkolbly avatar lkolbly commented on May 20, 2024

@therealprof Cool! It looks like someone's even got something similar going on for LPC chips, so I'll go look at that. Thanks!

from cmsis-svd.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.