emSBC-NEON-CM7
Overview
The emSBC-Neon-CM7 enables a wide diversity of applications taking benefit from high-speed connectivity, multimedia and sensor interface features. Important board features include:
STM32F769NIH6 microcontroller featuring 2 Mbytes of internal Flash memory and 512 Kbytes of internal SRAM
16 MByte Quad-SPI Flash memory
128 MBit SDRAM
Connector for microSD card
USB 2.0 Host
USB 2.0 Device with Micro-AB connector
10/100 Ethernet interface compliant with IEEE-802.3-2002
18 bpp RGB-LCD display interface
SAI audio interface
GPIOs
JTAG connector for debugging
Two push-buttons (wakeup and reset)
Arduino Uno V3 connectors
Power supply output for external applications: 3.3 V or 5 V
7..24 V DC power supply input
More information about the board can be found at the emSBC-NEON-CM7 website.
Hardware
The emSBC-NEON-CM7 provides the following hardware components:
STM32F769NIH6 in BGA216 package
ARM® 32-bit Cortex®-M7 CPU with FPU
216 MHz max CPU frequency
2 MB Flash
512 + 16 + 4 KB SRAM
Chrom-ART Accelerator(DMA2D), graphical hardware accelerator enabling enhanced graphical user interface
Hardware JPEG codec
LCD-TFT controller supporting up to XGA resolution
MIPI® DSI host controller supporting up to 720p 30 Hz resolution
3x12-bit ADC with 24 channels
2x12-bit D/A converters
General Purpose Timers
Watchdog Timers
True random number generator
CRC calculation unit
RTC: sub-second accuracy, hardware calendar
96-bit unique ID
SDIO socket
10/100 Mbit/s Ethernet
USB 2.0 high-speed Host
USB 2.0 high-speed Device
CAN
2x UART
18 bpp RGB LCD interface
SAI
2x SPI
I2C
6x GPIO
More information about STM32F769NIH6 can be found here:
Supported Features
The emsbc_neon_cm7 board supports the hardware features listed below.
- on-chip / on-board
- Feature integrated in the SoC / present on the board.
- 2 / 2
-
Number of instances that are enabled / disabled.
Click on the label to see the first instance of this feature in the board/SoC DTS files. -
vnd,foo -
Compatible string for the Devicetree binding matching the feature.
Click on the link to view the binding documentation.
emsbc_neon_cm7/stm32f769xx target
On-target memory for this board target: 384 KiB of RAM, 2 MiB of Flash.
Type |
Location |
Description |
Compatible |
|---|---|---|---|
CPU |
on-chip |
ARM Cortex-M7 CPU1 |
|
ADC |
on-chip |
STM32F4 ADC3 |
|
Audio |
on-chip |
STMicroelectronics DFSDM block1 |
|
on-chip |
STMicroelectronics DFSDM DMIC4 |
||
CAN |
on-chip |
STM32 CAN controller1 |
|
Clock control |
on-chip |
STM32F4 RCC (Reset and Clock controller)1 |
|
on-chip |
STM32 HSE Clock1 |
||
on-chip |
Generic fixed-rate clock provider2 |
||
on-chip |
STM32 LSE Clock1 |
||
on-chip |
|||
on-chip |
STM32 Clock multiplexer1 |
||
on-chip |
|||
Counter |
on-chip |
STM32 counters14 |
|
CRC |
on-chip |
STM32 CRC calculation unit1 |
|
DAC |
on-chip |
STM32 family DAC1 |
|
Display |
on-chip |
STM32 LCD-TFT display controller1 |
|
DMA |
on-chip |
STM32 DMA controller (V1)2 |
|
Ethernet |
on-chip |
ST STM32 Ethernet MAC1 |
|
on-chip |
Synopsys DesignWare MAC MDIO controller1 |
||
on-board |
Generic MII PHY1 |
||
on-chip |
Synopsys DesignWare MAC PTP (Precision Time Protocol) Clock1 |
||
Flash controller |
on-chip |
STM32 Family flash controller1 |
|
on-board |
STM32 QSPI Flash controller supporting the JEDEC CFI interface1 |
||
GPIO & Headers |
on-chip |
STM32 GPIO Controller11 |
|
I2C |
on-chip |
||
I2S |
on-chip |
STM32 SAI Block controller1 |
|
Interrupt controller |
on-chip |
ARMv7-M NVIC (Nested Vectored Interrupt Controller)1 |
|
on-chip |
STM32 External Interrupt Controller1 |
||
LED |
on-board |
Group of GPIO-controlled LEDs1 |
|
Memory controller |
on-chip |
STM32 Flexible Memory Controller (FMC)1 |
|
on-chip |
STM32 Flexible Memory Controller (SDRAM controller)1 |
||
on-chip |
STM32 Battery Backed RAM1 |
||
MIPI-DSI |
on-chip |
STM32 MIPI DSI host1 |
|
MMU / MPU |
on-chip |
ARMv7-M Memory Protection Unit (MPU)1 |
|
MTD |
on-chip |
STM32 flash memory1 |
|
on-board |
I2C EEPROMs compatible with Atmel’s AT24 family1 |
||
on-board |
Flash node1 |
||
NVMEM |
on-chip |
Fixed layout for Non-Volatile memory2 |
|
OTP memory |
on-chip |
||
PHY |
on-chip |
This binding is to be used by all the usb transceivers which are built-in with USB IP2 |
|
Pin control |
on-chip |
STM32 Pin controller1 |
|
PWM |
on-chip |
STM32 PWM12 |
|
QSPI |
on-chip |
STM32 QSPI Controller1 |
|
Reset controller |
on-chip |
STM32 Reset and Clock Control (RCC) Controller1 |
|
RNG |
on-chip |
STM32 Random Number Generator1 |
|
RTC |
on-chip |
STM32 RTC1 |
|
SDHC |
on-chip |
||
Sensors |
on-chip |
STM32 quadrature decoder6 |
|
on-chip |
STM32 family TEMP node for production calibrated sensors with two calibration temperatures1 |
||
on-chip |
STM32 VREF+1 |
||
on-chip |
STM32 VBAT1 |
||
Serial controller |
on-chip |
||
on-chip |
STM32 UART4 |
||
SMbus |
on-chip |
STM32 SMBus controller4 |
|
SPI |
on-chip |
||
Timer |
on-chip |
ARMv7-M System Tick1 |
|
on-chip |
STM32 timers14 |
||
USB |
on-chip |
STM32 OTGFS controller1 |
|
on-chip |
STM32 OTGHS controller1 |
||
Video |
on-chip |
STM32 JPEG HW Codec1 |
|
Watchdog |
on-chip |
STM32 watchdog1 |
|
on-chip |
STM32 system window watchdog1 |
Pin Mapping
emSBC-NEON-CM7 has 9 GPIO controllers. These controllers are responsible for pin muxing, input/output, pull-up, etc.
For more details please refer to emSBC-NEON-CM7 Hardware Manuals.
Default Zephyr Peripheral Mapping:
UART_2 TX/RX/RTS/CTS : PD5/PD6/PD4/PD3
UART_3 TX/RX : PB10/PB11 (Arduino Serial)
I2C1 SCL/SDA : PB8/PB7 (Arduino I2C)
SPI2 NSS/SCK/MISO/MOSI: PI0/PI1/PC2/PI3 (Arduino SPI)
SPI5 SCK/MISO/MOSI: PH6/PH7/PF9
QUADSPI CLK/NCS/IO0/IO1/IO2/IO3: PF10/PB6/PF8/PD12/PF7/PF6
ETH REFCLK/CRSDV/MDIO/MDC/RXD0/RXD1/TXEN/TXD0/TXD1: PA1/PA7/PA2/PC1/PC4/PC5/PG11/PB12/PB13
ETH PHY RESET: PC0
SDIO CD#/CMD/CK/D0/D1/D2/D3: PA10/PD2/PC12/PC8/PC9/PC10/PC11 (micro SDC)
CAN TX/RX: PB9/PI9
LD1: PI7
ADC1 IN9: PB1
ADC2 IN6: PA6
ADC3 IN3: PA3
DAC1 OUT1/OUT2: PA4/PA5
System Clock
The STM32F769I System Clock can be driven by an internal or external oscillator, as well as by the main PLL clock. By default, the System clock is driven by the PLL clock at 216MHz, driven by a 25MHz high speed external clock.
Serial Port
The Zephyr console output is assigned to UART2 which connected to the DEBUG console interface of the emSBC-NEON-CM7. Default communication settings are 115200 8N1.
Programming and Debugging
The emsbc_neon_cm7 board supports the runners and associated west commands listed below.
| flash | debug | attach | debugserver | rtt | reset | |
|---|---|---|---|---|---|---|
| jlink | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| openocd | ✅ (default) | ✅ (default) | ✅ | ✅ | ✅ | |
| stlink_gdbserver | ✅ | ✅ | ✅ | |||
| stm32cubeprogrammer | ✅ |
Applications for the emsbc_neon_cm7 board configuration can be built and
flashed in the usual way (see Building an Application and
Run an Application for more details).
Flashing
The board is configured to be flashed using west OpenOCD runner
Alternatively, STM32CubeProgrammer or JLink can also be used to flash the board using
the --runner (or -r) option:
$ west flash --runner stm32cubeprogrammer
$ west flash --runner jlink
If you want to use the STM32CubeProgrammer runner, so its installation is required.
Flashing an application to emSBC-NEON-CM7
First, connect the emSBC-NEON-CM7 to your host computer using an ST/Link-V2 to prepare it for flashing. Then build and flash your application.
Here is an example for the Hello World application.
# From the root of the zephyr repository
west build -b emsbc_neon_cm7 samples/hello_world
west flash
Run a serial host program to connect with your board:
$ minicom -D /dev/ttyACM0
You should see the following message on the console:
Hello World! arm
Debugging
You can debug an application in the usual way. Here is an example for the Hello World application.
# From the root of the zephyr repository
west build -b emsbc_neon_cm7 samples/hello_world
west debug