Giter Club home page Giter Club logo

qmsi's Introduction

Intel® Quark™ Microcontroller Software Interface

Intel® Quark™ Microcontroller Software Interface (QMSI) is a Hardware Abstraction Layer (HAL) for Intel® Quark™ Microcontroller products. It currently support the following SoCs:

  • Intel® Quark™ D2000 Microcontroller
  • Intel® Quark™ SE Microcontroller

Information and support regarding Intel® Quark™ MCUs can be found in the following website:

http://www.intel.com/quark/mcu

This release has been validated with the following hardware:

  • Intel® Quark™ Microcontroller D2000 Series.
  • Intel® Quark™ Microcontroller D2000 Development Platform.
  • The i586-intel-elfiamcu toolchain is required to build the source code.
  • OpenOCD is required to flash applications and ROM files onto the SoC.
  • GDB is optional, it is used as a supplement to OpenOCD for debugging.
  • Intel® System Studio for Microcontrollers is optional.

Please refer to COPYING <COPYING>.

.
├── board           : Board level drivers
├── doc             : Doxygen documentation
├── drivers         : Intel® SoC drivers
│   └── include     : QMSI driver headers
├── examples        : Examples using the QMSI API
├── include         : Top level headers
├── SoC             : Intel® SoCs support
│   ├── quark_d2000 : Intel® Quark™ Microcontroller D2000 support
│   └── quark_se    : Intel® Quark™ SE SoC early support
└─ sys              : Application entry and Newlib syscalls

The build system is based on the make tool.

Debug and release builds are supported setting the BUILD variable.

To build in debug mode:

make BUILD=debug

To build in release mode:

make BUILD=release

The top level Makefile contains two targets: rom and libqmsi. The output directory is build.

The ROM must be flashed on the OTP ROM flash region. To build the rom target, run:

make rom

Libqmsi is a library archive of all the QMSI drivers for the SoC.

To build the libqmsi target, run the following command from the top level directory:

make libqmsi

To build any of the provided example apps run make inside the corresponding directory or use the –C make option from the top level directory.

E.g. to build the hello_world example app (by default it will be built in debug mode):

make –C examples/hello_world

Issue MPR example app in release mode has spurious interrupt in Quark™ D2000
Implication D2000 board generates an extra interrupt when running the MPR example app in release mode.
Workaround Run MPR example app in debug mode.
  • Always-On (AON) Counters.
  • Always-On (AON) Periodic Timer.
  • Analog Comparators.
  • Analog-to-Digital Converter (ADC).
  • Clock Control.
  • Flash library.
  • Flash Protection Regions (FPR).
  • General Purpose Input Output (GPIO).
  • Inter-Integrated Circuit (I2C) master.
  • Interrupt Controller Timer.
  • Interrupt Controller.
  • Memory Protection Regions (MPR).
  • Pin Muxing.
  • Power states.
  • Pulse Width Modulation (PWM)/Timers.
  • Real-Time Clock (RTC).
  • Retention Alternating Regulator (RAR).
  • Serial Peripheral Interface (SPI) master.
  • System on Chip (SoC) Identification.
  • Universal Asynchronous Receiver/Transmitter (UART).
  • Watchdog Timer (WDT).
  • Direct Memory Access (DMA).
  • Serial Peripheral Interface (SPI) slave.
  • Inter-Integrated Circuit (I2C) slave.
  • Continuous mode ADC conversions.

qmsi's People

Contributors

plmorale avatar rcintel avatar dcorvoysier avatar ericseibel avatar

Watchers

James Cloos avatar Jun Li 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.