HackSpace_-_October_2019

(Rick Simeone) #1

Teensy 4.0


REVIEW


Teensy 4.0


@ben_everard

A 600MHz microcontroller


he Teensy 4.0 specs are impressive.
A 600MHz ARM processor sounds
more like the sort of thing you’d get
in a general-purpose computer, rather
than a microcontroller. It’s based on
the ARM Cortex-M7F core, so let’s
take a quick recap of the ARM cores you’ll find on
microcontrollers. The M series (as opposed to the A
series that you’ll find in ‘Application’ devices, such
as mobile phones and Raspberry Pis) are 32-bit cores
designed for microcontrollers. There are many other
cores not based on ARM Cortex designs, such as the
ATmega cores in many Arduinos and the Tensilica
cores in ESP8266 and 32 devices. The most common
ARM Cortex-M cores are:

M0 Small instruction set, optimised for small size on
silicon, low price, and low power (at least, relatively
speaking as these are still significantly faster than
AVR chips, such as those found in the Arduino Uno).
Based on the ARMv6-M instruction set.

M0+ A machine-code-compatible upgrade on the M0
that adds a bit more oomph.

M3 Based on the ARMv7-M instruction set with
instructions not present in M0 cores such as divide
and multiple-accumulate. Code should run faster than
on an M0 core.

By Ben Everard

T


In microcontrollers, it doesn’t really make sense
to have a notion of one of these being overall
‘better’ than the others

Above
The Teensy 4.0 really
lives up to its name –
it’s tiny

TEENSY $19.95 pjrc.com

M4 The same basic core as an M3, but with digital
signal processing (DSP) instructions. These are used
extensively in audio processing libraries.

M4F An M4 core with additional acceleration for
single-precision floating-point calculations.

M7F This includes single-precision and (optionally)
double-precision floating-point accelerations, as well as
DSP instructions. It’s a significantly more powerful core
than that in the M3 and M4, with a larger pipeline and
branch speculation (this is a bit of a confusing feature,
but it can result in faster code run time). There’s also
the option of tightly coupled memory, which allows you
to use a small amount of very fast memory.

CORE CONUNDRUMS
There are a few others, but they’re not commonly used
in the hobbyist world. In microcontrollers, it doesn’t
really make sense to have a notion of one of these
being overall ‘better’ than the others, as it depends so
heavily on use-case. M0 cores are the least powerful
in this list, but on the scale of microcontrollers, they’re
still fairly powerful and should accomplish many tasks
without draining your power supply or bank balance.
However, if you need to do any DSP or floating-point
operations, then you’ll really benefit from an M4F or
faster core.
The M7F core in the Teensy 4.0 is more powerful
than an M4F core (such as that in the Teensy 3.6), and
it can also run at higher clock speeds – 600MHz in
this case (though it may be possible to overclock it in
the future). The one feature that really has a dramatic
speed increase is the support for accelerated double-
precision floating-point operations, but this is quite a
specialised use-case.


Free download pdf