Getting hands-on with the Cortex-M7
The first MCU featuring ARM’s newest M-class core is now in volume production, supported by a very capable development kit, as Philip Ling ‘discovers’
The ARM-based microcontroller product line-up increased recently, when STMicro announced volume production of its STM32F7 devices based on the freshly minted ARM Cortex-M7 core. With around twice the DSP capability of MCUs based on the Cortex-M4, it’s targeting applications that require high speed or multichannel audio processing, video processing (including motion recognition), or motor control.
Alongside the core, ST has integrated its own ‘special source’ including its Chrom-ART graphic accelerator , and ART Accelerator technology which helps eliminate memory wait states and thereby deliver the core’s full potential.
In order to expose this increased performance to developers, ST has produced the STM32F7 Discovery Kit (STM32F746G-DISCO); a development platform that gives engineers access to the Cortex-M7’s new features. As well as the MCU itself, the kit comes with a large supporting cast, including a 4.3in 480 x 272 colour LCD-TFT display with capacitive touch-sense and Arduino Uno V3 headers for further expansion.
Like other ST development kits, this one is supported by the STM32Cube software library; while not an IDE, it does offer a wide range of preconfigured software, including USB, TCP/IP, file system, RTOS software and a number of example projects configured for supported IDEs. ST itself no longer offers its own IDE, relying instead on 3rd Party tools — many of which are available on an evaluation license. For some, this comes with limitations, which may prohibit the compilation of some of the larger example projects.
Arduino expansion
The kit also includes the ST-LINK/V2-1 interface, which means no additional debugger is required, while enabling the MCU to be programmed from a PC over USB, however this does require a further software download (free from ST’s site) and some configuration. The port also provides one of the five ways of powering the board, the others being: USB FS connector; USB HS connector; Vin from the Arduino connector, and an external 5V connector (although the board can be powered from a supply range between 3.3V and 5V).
Selecting and installing an IDE will, ultimately, be a personal preference, as ST doesn’t provide one, and while the pre-installed demonstration software is provided as a Keil project, it is too large to be imported, compiled and downloaded to the discovery board using the evaluation version of the IDE. The Cube library does come with a pre-compiled version of the software, however, allowing developers to restore the discovery kit back to its factory settings, if required, during the development process.
The pre-configured application shows off many of the MCU’s capabilities to drive a display, and will also allow audio to be recorded (using the on-board MEMS microphones) and played back (via the audio out ports), as well as display images, however all these functions require a MicroSD card to be present (not supplied).
Figure 1 shows a block diagram of the discovery kit, as can be seen the Arduino Shield is connected using GPIO, which can be reconfigured if necessary. When asked why so many of the GPIO are dedicated to an Arduino shield, Laurent Vera, ST’s Marketing Director for Microcontrollers, EMEA, explained that the popularity of Arduino means it is a simple way to add functionality to the kit, such as Bluetooth LE: “With an Arduino interface, you just plug it in; the software will be available, I think it’s a quick prototyping platform for getting to proof of concept.”
ST now offers a range of Arduino compatible prototyping/development kits to support its products, including MEMS sensors and wireless communication, when used with the STM32 product line. Vera added that ST is also evaluating 3rd Party Arduino boards to ensure the software is compatible with the STM32Cube software. There is an ongoing effort to make public those that have been verified.
There are also efforts being made to make the Discovery board mbed-compatible, according to Vera: “It will be mbed available; if you go on to the mbed site you will find the kit and it means developers will be soon able to make use of the mbed compiler and IDE.” Most of the mbed-compatible boards from ST are from the Nucleo range; this will only be the third Discovery board to be mbed-compatible, according to Vera.
While many evaluation boards require additional hardware to really make use of them, this Discovery board includes everything needed to start developing quite complex applications, thanks to the integrated LCD-TFT display, MEMS microphones and debug interface. USB OTG HS and FS ports are also included, allowing some simple extension, while the Arduino headers are intended to allow rapid prototyping and proof-of-concept development using off-the-shelf hardware. Software needs are catered for through ST’s own library and its 3rd Party partnerships — both open source and commercial. At less than €40/$50, the Discovery kit is a viable and affordable route to exploring the first ARM Cortex-M7 MCU to reach volume production.