STM32F7xx – high performance – Cortex M7

If you like it, share it

.

f7logo

Introduction
Evaluation Boards
Tutorial
Important tips concerning the STM32F7
Interesting links


.

STM32F7xx is ARM® Cortex®-M7 processor brings high performance, Superscalar (2 instructions at 1 cycle), efficient digital signal processing to enable devices featuring superior embedded intelligence across the industrial, infrastructure and domestic sectors.

STM32F7 video presentation is here.

Thanks to their smart architecture with ST’s ART Accelerator™ and an L1 cache, STM32F7 MCUs deliver the full performance of the ARM® Cortex®-M7 core with code executed from either embedded Flash memory or an external memory, reaching 1082 CoreMark at 216 MHz.
Two product lines with up to 1 Mbyte of Flash memory are available; the STM32F745 line and the STM32F746/756 line with TFT controller and hardware cryptography acceleration.
Packages range from 100 to 216 pins with sizes as small as 4.5 x 5.5 mm.
Key characteristics of the Cortex M7 processor include:

  • High performance 6 stage pipeline with dual-issue (it executes up to two instructions per clock cycle)
  • A 64bit AXI bus interface as the system bus
  • Optional instruction cache (4 to 64KB) and data cache (4 to 64KB), with optional ECC (Error Correction Code) support for each of the cache memories.
  • Optional 64bit Instruction Tightly Coupled Memory (I -TCM), and optional dual 32bit Data TCM (D-TCM), with support for a custom ECC implementation for each of the TCM interfaces
  • Optional low – latency AHB peripheral bus interface (referred as AHBP in ARM documents)
  • Integrated Nested Vectored Interrupt Controller (NVIC) with 1 to 240 interrupts with 3 to 8bit programmable priority level registers
  • Optional Memory Protection Unit (MPU) with 8 or 16 regions
  • Optional Floating Point Unit (FPU) with support for single – and double – precision floating point instructions
  • Support for sleep modes and various low power mplementation technologies
  • Powerful debug features, with optional full instruction and data trace

Go on TOP


.

Evaluation Boards

  • STM32F746G-DISCO
    f7-discovery
    Key Features
    STM32F746NGH6 microcontroller featuring 1 Mbytes of Flash memory and 340 Kbytes of RAM, in
    BGA216 package
    On-board ST-LINK/V2-1 supporting USB re-enumeration capability
    USB functions: virtual COM port, mass storage, debug port
    4.3-inch 480×272 color LCD-TFT with capacitive touch screen
    Camera connector
    SAI audio codec
    Audio line in and line out jack
    Stereo speaker outputs
    Two ST MEMS microphones
    SPDIF RCA input connector
    Two pushbuttons (user and reset)
    128-Mbit Quad-SPI Flash memory
    128-Mbit SDRAM (64 Mbits accessible)
    Connector for microSD card
    RF-EEPROM daughterboard connector
    USB OTG HS with Micro-AB connectors
    USB OTG FS with Micro-AB connectors
    Ethernet connector compliant with IEEE-802.3-2002
    Five power supply options:
    ST LINK/V2-1
    USB FS connector
    USB HS connector
    VIN from Arduino connector
    External 5 V from connector
    Power supply output for external applications: 3.3 V or 5 V
    Arduino Uno V3 connectors
    Comprehensive free software including a variety of examples, part of STM32Cube package
  • Embedded Vision solution from SILICA
    Based on STM32F746G-DISCO and TDnext CCD camera.

    .
  • STM32756G-EVAL
    f7_eval
    Key Features
    STM32F756NGH6 microcontroller with 1 Mbyte Flash and 320+4 Kbytes RAM
    Six 5 V power supply options:
    Power jack
    ST-LINK/V2-1 USB connector
    User USB HS connector
    User USB FS1 connector
    User USB FS2 connector
    Daughterboard
    SAI Audio DAC, stereo audio jack which supports headset with microphone
    Stereo digital microphone, audio jack connector used to connect external speakers
    2 Gbytes (or more) SDMMC interface microSD card
    RF-EEPROM on I2C compatible serial interface
    RS-232 communication
    IrDA transceiver
    JTAG/SWD and ETM trace debug support, ST-LINK/V2-1 embedded
    IEEE-802.3-2002 compliant Ethernet connector
    Camera module
    8Mx32bit SDRAM, 1Mx16bit SRAM & 8Mx16bit Nor Flash
    512 Mbits QuadSPI Nor Flash
    5.7 inch 640×480 pixel TFT color LCD with capacitive touch panel
    Joystick with 4-direction control and selector.
    Reset, WakeUp/Tamper or key button
    4 color user LEDs
    Extension connectors and memory connectors for daughterboard or wrapping board
    USB OTG HS and FS with Micro-AB connectors
    RTC with backup battery
    CAN 2.0A/B compliant connection
    Potentiometer
    Motor control connector
  • A complete list of the evaboards is here.

Go on TOP


.

Tutorial

Go on TOP


.

Important tips concerning the STM32F7

M7 Core

f7core

f7core2

.

The instruction set of M7 are the same of M4 (see below), but a big difference is a High performance 6 stage pipeline with dual-issue (it executes up to two instructions per clock cycle).

f7instru

M7 is a superscalar MCU, this means that it has the possibility to execute two instruction every clock cycle.
In other word means that Cortex M7 fetch from flash at 64bit.
But for reach this performance is very important that the compiler is a clever compiler, this because M7 has the possibility to execute (in the same time) one of this instructions; see the red box below.

f7supersca1

f7supersca2

If the compiler write on two sequentially 32bit of flash, two load instructions, the M7 execute the first load and at the next clock cycle the second load… you have lost the possibility to execute two instruction every machine cycle.
See the MPU instructions, in the Hands-On sections.

f7indeep1

f7indeep2

f7indeep3

f7indeep4

f7indeep5

f7indeep6

f7indeep7

f7indeep8

f7indeep9

There are some examples concerning Cache, ITCM, DTCM, etc, in the Hands-On of this training.

Go on TOP


_

Interesting links

Go on TOP