Mikroe Clicker 2 for STM32 and STLink v2

Mikroe Clicker 2 for STM32 and STLink v2

1 Introduction

In this tutorial we are going to see how to connect a STLink v2 debugger to a Clicker 2 for STM32 enabling users to do debugging which could be very useful in development phases. A debugger is a computer program which is used to test and debug another program usually named Target.

In embedded things are slightly different since the code is executed on an external MCU and it is required an interface Computer-MCU. In this case the Target is the MCU and a debugger is composed by the ensemble of a hardware and a software tool. Nonetheless, when the majority of people is talking about debugger,they are referring only to the hardware part.

A debugger allows the connection to a Target enabling the Host to load a firmware on it managing its code execution, allowing the inspection of its registers and much more. To do this, it uses some specific commands that usually depend on the MCU architecture: this means that there are specific debuggers for specific MCUs. The STLink v2 is a low cost debugger supporting both STM32 and STM8. In what follows we are going to use OpenOCD, an open source debugging software largely used in ChibiStudio since it is a reliable solution for debugging. continue reading…

Getting started with mikroe Clicker 2 for STM32 with ChibiOS

Getting started with mikroe Clicker 2 for STM32 with ChibiOS

1 About

Clicker 2 for STM32
Fig.3 – A Clicker 2 for STM32.

1.1 Introducing Clicker 2 for STM32

The Clicker 2 for STM32 is a compact development kit by mikroe (also known as MikroElektronika). This board is equipped with 2 mikroBUS socket that allow to connect the Click Boards. These boards, designed by mikroe, are small add-ons that allow to easily connect most common devices to your MCU. Indeed, in the last years mikroe has produced a lot of Click Boards (more than one hundred) with an extended documentation and with code examples.

1.2 Our purpose

During the Maker Faire Rome 2015, we meet some mikroe employee and we have explained them the purposes of PLAY Embedded. Some weeks later they graciously sent us a Click Pack and the board and we have decided to propose some articles on this development kit as it seems an interesting and very useful hardware. Since, mikroe provides a lot of information about this board and its uses, we have decided to provide another point of view of this product: we will se how to port ChibiOS on this board providing some tutorials about every Click board we will have at our disposal.

1.3 Hardware description

The Clicker 2 for STM32 is equipped with the same MCU of the STM32F407 Discovery: the STM32F407VGT6. This MCU is an ARM 32-bit Cortex-M4 CPU having a 168 MHz clock frequency, 1MB of Flash Memory and 192kB of SRAM.

The board is equipped also with

  1. A LTC3568, a high efficiency USB Power Manager which is able to manage a Li-Ion battery (indeed there is a battery connector);
  2. A USB mini-B connector;
  3. Two already mentioned mikroBUS socket;
  4. Two user push buttons, two user LEDs, a reset button and a power switch;
  5. A 25MHz Crystal Oscillator and a 32,768KHz Ceramic Oscillator.
1.3.1 The mikroBUS socket

Every mikroBUS socket is actually represented by 2 line of 8 pin header connector. These 16 pins include an Analog input, a pin for reset purpose, a SPI (4 wires), a PWM, an interrupt source, a USART (2 wires), an I2C (2 wires), a 3.3V and a 5V power supply lines and 2 GND PINs.

Obviously, not every PIN is actually connected on the Clicker Board, but this BUS offers a general purpose interface for every kind of peripheral and seems to be a valid alternative to the well known Arduino Uno Connector.

2 Before starting

2.1 Requirements

Since our purpose for this new serie of tutorials is to use Clicker 2 for STM32 and Click Board with ChibiOS, it is required a basic knowledge of this product. For our most faithful users this is not a big deal. Anyway, we highly suggest at least a reading of the ChibiOS tutorials. In what follows, we will suppose that ChibiStudio is already installed and that user knows well how to deal with it. continue reading…