Convert an MCU register description from the EDC format to the SVD format

Last update: Oct 9, 2021

edc2svd

Convert an MCU register description from the EDC format to the SVD format

EDC files are used to describe the special function registers of PIC32 microcontrollers. This program can generate Peripheral Access Crates to be used in Rust programs.

Usage

First, an EDC file is converted with this tool to an SVD file. Then svd2rust can be used to generate the Peripheral Access Crate as follows:

edc2svd PIC32MX170F256B.PIC PIC32MX170F256B.svd
svd2rust --target none -i PIC32MX170F256B.svd
rm -rf src
form -i lib.rs -o src/ && rm lib.rs
cargo fmt

Installation

$ cargo install edc2svd

GitHub

https://github.com/kiffie/edc2svd
You might also like...

Parses .off (Object File Format) files. This implementation follows this spec from the Princeton Shape Benchmark.

off-rs - A simple .off file parser Parses .off (Object File Format) files. This implementation follows this spec from the Princeton Shape Benchmark. S

Jan 27, 2022

Small utility to display hour in a binary format on the Novation's Launchpad X.

Small utility to display hour in a binary format on the Novation's Launchpad X.

lpx-binary-clock Small utility to display hour in a binary format on the Novation's Launchpad X. Hours, minutes and seconds are displayed one digit pe

Feb 13, 2022

A decoder and utility for the Flipnote Studios .ppm animation format

A decoder and utility for the Flipnote Studios .ppm animation format

A decoder and utility for the Flipnote Studios .ppm animation format

May 11, 2022

Generate Rust register maps (`struct`s) from SVD files

svd2rust Generate Rust register maps (structs) from SVD files This project is developed and maintained by the Tools team. Documentation API Minimum Su

May 22, 2022

Rust version of the Haskell ERD tool. Translates a plain text description of a relational database schema to dot files representing an entity relation diagram.

erd-rs Rust CLI tool for creating entity-relationship diagrams from plain text markup. Based on erd (uses the same input format and output rendering).

Mar 27, 2022

Community SVD file, peripheral access crate in embedde Rust for WinnerMicro W800, W801 & W806 chip

Community SVD file, peripheral access crate in embedde Rust for WinnerMicro W800, W801 & W806 chip

May 22, 2022

A simple script (in Rust lang) to create HTML from SVD

A simple script (in Rust lang) to create HTML from SVD

A simple script to create HTML from an SVD file This is a simple script written in Rust language to create a single HTML file from an SVD file. It's r

May 8, 2022

Register access crate for AVR microcontrollers

avr-device Auto-generated wrappers around registers for AVR microcontrollers. Usage Add the following to Cargo.toml: [dependencies.avr-device] version

Apr 30, 2022

Services Info Register/KeepAlive/Publish/Subscribe. Based on etcd-rs, tokio

Services Info Register/KeepAlive/Publish/Subscribe. Based on etcd-rs, tokio

May 3, 2022

convert CHAIN format to PAF format

convert CHAIN format to PAF format

Mar 5, 2022

Convert and save photomode screenshots from Red Dead Redemption 2 to JPEG format.

Convert and save photomode screenshots from Red Dead Redemption 2 to JPEG format.

RDR2 Screenshot converter Convert and save photomode screenshots from Red Dead Redemption 2 to JPEG format. QuickStart Just download the executable fi

Apr 17, 2022

Convert private keys to PKCS#8 format in pure Rust

topk8 Convert private keys to PKCS#8 format in pure Rust. The following formats are supported at the moment: PKCS#1 PEM (RSA PRIVATE KEY) SEC1 PEM (EC

Dec 10, 2021

A crude tool to convert from Bitwarden json format to lastpass

Pass-Merger A crude tool to convert from Bitwarden json format to lastpass. Steps to Deduplicate entries from Bitwarden Export all passwords from Chro

Jan 20, 2022

Convert perf.data files to the Firefox Profiler format

fxprof-perf-convert A converter from the Linux perf perf.data format into the Firefox Profiler format, specifically into the processed profile format.

May 16, 2022

Astro Format is a library for efficiently encoding and decoding a set of bytes into a single buffer format.

Astro Format is a library for efficiently transcoding arrays into a single buffer and native rust types into strings

Apr 30, 2022

Program to check if stereo wav files have identical channels (faux-stereo) and convert them to mono.

zrtstr Command line application for checking WAV-files for identical channels, detecting faux-stereo files generated by some audio-editing software an

Nov 17, 2021

A crate to convert bytes to something more useable and the other way around in a way Compatible with the Confluent Schema Registry. Supporting Avro, Protobuf, Json schema, and both async and blocking.

A crate to convert bytes to something more useable and the other way around in a way Compatible with the Confluent Schema Registry. Supporting Avro, Protobuf, Json schema, and both async and blocking.

#schema_registry_converter This library provides a way of using the Confluent Schema Registry in a way that is compliant with the Java client. The rel

May 19, 2022

tai (Terminal Ascii Image) tool to convert images to ascii written in Rust

tai (Terminal Ascii Image) tool to convert images to ascii written in Rust

TAI Terminal Ascii Image A tool to convert images to ascii art written in Rust 🦀 Notes This tool is still in development stage. Contributions All Con

May 10, 2022

Obsidian Plugin: Convert a URL into markdown

 Obsidian Plugin: Convert a URL into markdown

Obsidian Plugin: Convert a URL into markdown Transforms a URL to markdown view if the website allows it. Installation Available in the community plugi

May 28, 2022
Comments
  • 1. Thread panic with PIC32MZ pic file

    When running edc2svd on the PIC32MZ2048EFG100.PIC and it cause a thread panic. The file was acquired directly from an MPLABS install, so it should be a valid example of it.

    It appears to be a purposeful panic with cperi.len() being 0 for the file, so im not sure where this comes from.

    dc2svd ./PIC32MZ2048EFG100.PIC PIC32MZ2048EFG100.svd           
    cname = CPUPRI but name = EXLPRI
    cname = SQI1MD but name = SQIMD
    cname = SQI1MD but name = SQIMD
    cname = SQI1MD but name = SQIMD
    cname = SQI1MD but name = SQIMD
    thread 'main' panicked at 'empty peripheral info for _ICDCON', /home/jack/.cargo/registry/src/github.com-1ecc6299db9ec823/edc2svd-0.3.0/src/main.rs:205:17
    note: run with 'RUST_BACKTRACE=1' environment variable to display a backtrace
    
    Reviewed by jg2562 at 2021-10-06 21:45
A simple script (in Rust lang) to create HTML from SVD
A simple script (in Rust lang) to create HTML from SVD

A simple script to create HTML from an SVD file This is a simple script written in Rust language to create a single HTML file from an SVD file. It's r

May 8, 2022
Register access crate for AVR microcontrollers

avr-device Auto-generated wrappers around registers for AVR microcontrollers. Usage Add the following to Cargo.toml: [dependencies.avr-device] version

Apr 30, 2022
Convert Hygea calendar to an iCal file to easily import it to Google Calendar (Rust version)

Hygea to iCal Goal Hygea provides a calendar via PDF and an application called Recycle. I just wanted to use an iCal file to import it in my calendar.

Oct 28, 2021
Emoji-printer - Utility to convert strings with emoji shortcodes to strings with the emoji unicode

Emoji Printer Intro Utility to convert strings with emoji shortcodes (:sushi:) to strings with the emoji unicode ( ?? ) Install cargo add emoji-printe

Dec 30, 2021
Count and convert between different indexing schemes on utf8 string slices

Str Indices Count and convert between different indexing schemes on utf8 string slices. The following schemes are currently supported: Chars (or "Unic

Apr 17, 2022
Convert number like 42 to forty-two

num2words Convert number like 42 to forty-two Usage This crate can be either used as a library or a binary. Library Example usage: use num2words::Num2

Mar 30, 2022
transmute-free Rust library to work with the Arrow format

Arrow2: Transmute-free Arrow This repository contains a Rust library to work with the Arrow format. It is a re-write of the official Arrow crate using

May 18, 2022
This crate allows writing a struct in Rust and have it derive a struct of arrays layed out in memory according to the arrow format.

Arrow2-derive - derive for Arrow2 This crate allows writing a struct in Rust and have it derive a struct of arrays layed out in memory according to th

May 11, 2022
Serializer and deserializer for the VCR Cassette format

vcr-cassette Serializer and deserializer for the VCR Cassette format API Docs | Releases | Contributing Examples Given the following .json VCR Cassett

Sep 15, 2021
IDX is a Rust crate for working with RuneScape .idx-format caches.
IDX is a Rust crate for working with RuneScape .idx-format caches.

This image proudly made in GIMP License Licensed under GNU GPL, Version 3.0, (LICENSE-GPL3 or https://choosealicense.com/licenses/gpl-3.0/) Contributi

Dec 19, 2021