mikroSDK Reference Manual
Introduction

What is mikroSDK V2.0 ?

mikroSDK is a collection of open-source software libraries with unified API and software development tools. It is a development platform designed to simplify and enable cross-platform development of embedded applications for a wide range of microcontrollers and development board vendors. The goal of mikroSDK V2.0 is to provide PC-like coding experience in the embedded world. Write the application code once and use it on any supported HW - vendor.

mikroSDK V2.0 features

Main features for the mikroSDK V2.0 are :

  • Support for Click boards - simplifies developing click applications with portability, keeping im mind fast prototyping and minimal impact on performance.
  • Support for any host development board with a mikroBUS socket on it - mikroBUS pin-mapping definition for easy connection of Click boards™, without having to look at development board schematic and pinout.
  • Unified easy-to-use API for MCU peripheral drivers - simplifies the usage of microcontrollers, providing an abstraction to the hardware and high-value middleware that enable you to start writing your application without reinventing the wheel.
  • Graphic and GUI libraries for developing graphical applications.
  • Touch Panel library for capturing user input, featuring swipe and zoom gestures.
  • Layered and modular software architecture.
  • Modern and easy-to-use logger library, for UART terminal
  • Code portability - mikroSDK is developed in standard C so the large code base can be easely reused with other platforms or toolchain.
  • Integrated NECTO Studio support.

Architecture Diagram

This is a basic architecture diagram of mikroSDK :

mikroSDK Architecture Diagram

Board Pin Mapping

Board support consists of pin mappings for sockets and other special function pins. It maps specific board pins to MCU target pins. It also can contains other useful inforamtions necessery for drivers to work properly on the board.

Driver Layer

The Driver layer is a software API that describes peripheral driver interfaces for middleware stacks and user applications. It adds higher level functionality, implementing common protocols, handling multiple clients for peripheries and their re-initialization.

Hardware Abstraction Layer

Provides common peripheral functionality, abstracting the hardware peripheral register accesses. The interface hides the register access details and various MCU peripheral instantiation differences so that the application can be abstracted from the low-level hardware details.

Middleware

High level libraries for commonly used services, so developers dont need to reinvent the wheel shortening development cycles. It comes with new imporved Graphic library, Visual TFT library for GUI applications, Logger, Console framework, Input library, and many more to come.

Plugins

Wide range of reusable driver libraries for Click and extension boards. The component should use peripheral drivers (DRV) to communicate with MCU peripherals and board support to port driver to a specific pin mappings.

Supported Compilers

Officially supported compilers are used from NECTO Studio. NECTO Studio at the same time provides the easiest way to use mikroSDK V2.0.
Due to mikroSDK V2.0 being entirely written in pure ANSI C language, it is compatible with virtually any standard C compiler. Therefore, you are free to use it with a toolchain of your choice.