Skip to content
Snippets Groups Projects
README.md 2.16 KiB
Newer Older
  • Learn to ignore specific revisions
  • Jake Read's avatar
    Jake Read committed
    # Yonder D51
    
    Jake Read's avatar
    Jake Read committed
    
    
    Jake Read's avatar
    Jake Read committed
    The ATSAMD51 is an ARM Cortex-M4F microcontroller manufactured by Microchip (Atmel).  
    
    Jake Read's avatar
    Jake Read committed
    
    
    Jake Read's avatar
    Jake Read committed
    As of Oct 13 2019, -> CBA :heart: D51 <-
    
    Jake Read's avatar
    Jake Read committed
    
    
    Jake Read's avatar
    Jake Read committed
    ## Circuits using the D51
    
    Jake Read's avatar
    Jake Read committed
    
    
    Jake Read's avatar
    Jake Read committed
    ![feather m4 pic](https://cdn-shop.adafruit.com/970x728/3857-00.jpg)
    [Adafruit Feather M4](https://www.adafruit.com/product/3857)
    
    Jake Read's avatar
    Jake Read committed
    
    
    Jake Read's avatar
    Jake Read committed
    ![module pic](https://gitlab.cba.mit.edu/squidworks/moduleboard-atsamd51/raw/master/moduleboard-atsamd51/2019-10-13_module-fab.jpg)
    [squidworks module](https://gitlab.cba.mit.edu/squidworks/moduleboard-atsamd51/)
    
    Erik Strand's avatar
    Erik Strand committed
    ## Bare(ish) Metal Toolchains
    
    Jake Read's avatar
    Jake Read committed
    
    
    Erik Strand's avatar
    Erik Strand committed
    [OpenOCD](blink-openocd)
    
    Erik Strand's avatar
    Erik Strand committed
    ## Bootloader Based Toolchains
    
    Jake Read's avatar
    Jake Read committed
    
    
    Erik Strand's avatar
    Erik Strand committed
    Since [Adafruit](https://learn.adafruit.com/adafruit-feather-m4-express-atsamd51) has adopted the
    SAMD51, it is well supported by the open source community, and we can borrow their development
    tools. For instructions on how to burn your board with a bootloader, see the
    [bootloader](bootloader) directory.
    
    Jake Read's avatar
    Jake Read committed
    
    
    Erik Strand's avatar
    Erik Strand committed
    Once you've got a bootloader on your board, you have a lot of options for programming it.
    
    Jake Read's avatar
    Jake Read committed
    
    
    Jake Read's avatar
    Jake Read committed
    ### Platformio
    
    
    Erik Strand's avatar
    Erik Strand committed
    To write code and load it, Jake uses [PlatformIO](https://platformio.org/platformio-ide), which is an open source 'IOT' (embedded) programming tool written as a package for either [atom](https://atom.io/) code-editor, or [vscode](https://code.visualstudio.com/). See their doc for setting up a new project for the D51 / Feather M4.
    
    Erik Strand's avatar
    Erik Strand committed
    ### Arduino IDE
    
    Jake Read's avatar
    Jake Read committed
    
    
    Erik Strand's avatar
    Erik Strand committed
    We're not going to beat Adafruit's documentation on setting up the Arduino IDE, so just take a
    gander over
    [here](https://learn.adafruit.com/adafruit-feather-m4-express-atsamd51/using-with-arduino-ide). It's
    their bootloader, after all.
    
    Erik Strand's avatar
    Erik Strand committed
    ### Real Registers in an Arduino World
    
    Erik Strand's avatar
    Erik Strand committed
    One of the troubles with Arduino is that people forget that it is just a big C++ library. This means that everything under the sun (that compiles) is legal here. *That* means that we can use Arduino as a crutch, but write really nice Special Function Register code inside of the same executable. Great!
    
    Indeed, in the PlatformIO environment, we even have wonderful autocomplete handles on the D51's core register map. For some examples of this kind of manipulation, check out the `hunks` in the [ponyo](https://gitlab.cba.mit.edu/squidworks/ponyo) project.