Giter VIP home page Giter VIP logo

samd-dma's Introduction

Maintenance

samd-dma

Usage

Add the following line to your dependencies section in Cargo.toml

samd-dma = "0.3.0"

The following feature flags control which MCU variant you are targeting.

Name (Docs) # DMA Channels Boards
samd21g18a 12 Circuit Playground Express, Feather M0, Metro M0, MKR ZERO, SAMD21 Mini, SODAQ ONE
samd21e18a 12 Gemma M0, Trinket M0, Serpente
samd21j18a 12 SODAQ SARA AFF
samd51j19a 32 EdgeBadge, Feather M4, Metro M4
samd51j20a 32 PyPortal
samd51g19a 32 ItsyBitsy M4, Trellis M4

About

DMA library for Microchip SAM micro-controllers.

This library provides a convenience wrapper around the DMA and CRC subsystem of the SAM family of micro-controllers. It is designed to be maximally expressive while providing a convenient interface for simple tasks.

Safety

The primary goal of this library is to abstract away directly writing to registers. It is not concerned with larger goals like totally memory safe DMA, which is left to the discretion of the library user and the goals you are trying to accomplish. If you only need one descriptor per channel and aren't reading from the write-back address, you can use this library without any unsafe sections. More advanced features of the DMA system are not protected by this library, and it is possible to shot yourself in the foot if not careful. I highly recommend reading the relevant sections of the manual for your family of micro-controller to understand how the DMA system works and operates on memory outside of the compilers knowledge.

SAMD21

Because of the design of the DMA system on the SAMD21 family, any channel methods that modify channel registers are NOT interrupt-safe. Beware of accessing or mutating channel register without calling in an interrupt-free section.

License

samd-dma is distributed under the MIT license. The full text of the license can be found in LICENSE file.

samd-dma's People

Contributors

lopsided98 avatar spacenate avatar

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.