Giter VIP home page Giter VIP logo

hal_atmel's Introduction

Introduction

The hal_atmel is a set of register definitions for Atmel SAM/SAM0 SoC's. The HAL is organized following the directory structure detailed below.

Directory Structure

The directory is composed by six parts:

.
├── asf
├── include
├── pinconfigs
├── README.md
├── scripts
└── zephyr
  • Atmel Software Framework SoC specific include libraries.
  • Includes specific for these platforms
    • devicetree bindings
  • Pin definitions
  • Scripts used for code generation
  • ZephyrRTOS module directory (zephyr).
  • This README file.

How to submit code

Any contribution should follow the How to submit code using as premisses the Zephyr Contribution Guidelines. For more information about External Modules see Modules Section in special Submitting Changes to Modules

Repository specific guidelines

  • When submitting an updated firmware library version, it is important to make sure that the last firmware version will be merged. The library version is used to be checked at Atmel packs download site.
  • When submitting an updated firmware library version the patchset already applied should be rebased on top of the newer version.
  • The patchset must be sent as an individual commit per SoC series to easy rebase.
  • This repository is managed mainly on Linux. This means that changes should be submitted using Linux LF format. Usually running a similar command to find * type f -print0 | xargs -0 dos2unix -k should be enough.
  • Make sure directory structure is respected.
  • The asf/[sam|sam0]/include/<soc>/README file should be updated accordingly. If for some reason the file not exists it should be created.
  • Directory names should be converted to lowercase.
  • The recommendation is add all fixups in the hal_atmel instead on the ZephyrRTOS project.

The above are general guidelines and exceptions could happen. In this case, the exception should be addressed at review phase.

The standard API

The SAM/SAM0 standard API define all information to access Atmel SoC's peripherals. This library does not have namespaces and prefixes which easily results in name collision with ZephyrRTOS core and libraries. To avoid that situation, macros, enum values and function names should follow two general rules:

  • Public API functions must be prefixed with sam_ or sam0_.
  • Public defines and enum values must be uppercase and prefixed with SAM_ or SAM0_.

hal_atmel's People

Contributors

0xb0d avatar attie-argentum avatar aurel32 avatar benpicco avatar benys avatar bjarki-trackunit avatar dgloeck avatar galak avatar icsys-omh avatar keith-packard avatar mcscholtz avatar mnkp avatar nandojve avatar nashif avatar nick-kraus avatar nzmichaelh avatar pnndra avatar rocky134 avatar sebastianboe avatar sknsean avatar stephanosio avatar tgorochowik avatar tswaehn avatar yonsch avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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.