Difference between revisions of "Avenger96"

From Wiki-DB
Jump to navigation Jump to search
(Created page with "{| class="wikitable" align="center" | style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" | |- | style="width: 50%; background: #076b8d; border: 0pt;" | |...")
 
 
(200 intermediate revisions by 3 users not shown)
Line 1: Line 1:
'''The Avenger96 board is the official DHCOR STM32MP1 reference design!'''
{|
|
|
|-
|__TOC__
|[[Image:Avenger96Board.png|600px|COM Avenger96Board]]
|}
== Introduction ==
The AVENGER Board is a 96Boards compliant consumer edition board based on the STM32MP15 series of SoCs. The STM32MP15 series
is a highly integrated multi-market applications processor designed to enable secure and portable applications within the Internet of Things.
AVENGER board features Dual-core Arm® Cortex®-A7 processors operating at up to 650 MHz, Single core Arm® Cortex® M4 operating up to
209 MHz. In addition, an extensive set of interfaces and connectivity peripherals are included to interface to cameras, touch-screen displays,
MMC/SD cards and media processor engine. It also fully supports wireless communication, including WLAN and BLE.
== Technical Details ==
{| class="wikitable" align="center" |  style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |
{| class="wikitable" align="center" |  style="width: 100%; color: #000000; background: #f3f3f3;" valign="top" |
|-
|-
Line 5: Line 23:
|-
|-
|valign="top" style="border: 0pt;" |  
|valign="top" style="border: 0pt;" |  
* '''Cortex-A9  Freescale i.MX6 Solo/Dual(Lite)/Quad up to 1.2GHz'''
* '''STM32MP157AAC
* 2D/3D graphics accelerator
**2x ARM® Cortex-A7 up to 650 MHz
* 0 - 512 MByte NAND flash memory (8 bit bus width) or 2 - 16 GByte eMMC flash
**1x ARM® Cortex-M4 up to 209 MHz
* 2 MB SPI boot flash
'''
* 256 - 2048 MByte DDR3-1066 or DDR3-800
*'''GPU''' 1x 3D GPU Vivante®  @ 533 MHz - OpenGL® ES 2.0
* On-board microSD card socket
*'''PMIC''' STPMIC1A
* SD/MMC card interface, 4 bit SDIO
*'''DDR3 DRAM''' 1024 Mbyte  @ 533 MHz
* LC display controller, 24 bit colors, 2048x1536 pixels
*'''eMMC Flash''' 8 Gbyte, v4.51 interface
* LVDS 4-channel, max. 165 Mpixels/s
*'''NOR Flash''' 2 Mbyte, Quad SPI interface
* On-board touch controller for 4-wire resistive touch screens
*'''EEPROM''' 128 byte
* Ethernet controller 10/100 Mbit, IEEE1588 conform
*'''microSD Socket''' UHS-I speed grade, v3.01
* USB 2.0 OTG high-speed
*'''USB Host''' 2x type A, 2.0 high-speed
* USB 2.0 host high speed
*'''USB OTG''' 1x type micro-AB, 2.0 high-speed
* Full function UART
*'''HDMI''' WXGA (1366x768) @ 60 fps, HDMI 1.4
* Standard UART with hardware handshake support
*'''WiFi / Bluetooth'''
* Standard UART
**WiFi 5 GHz & 2.4GHz IEEE 802.11a / b / g / n / ac
|valign="top" style="border: 0pt;" |  
**Bluetooth® v4.2 (BR/EDR/BLE)
* CAN interface
**PCB antenna
* 2 x SPI interface
*'''Ethernet''' 10 / 100 / 1000 Mbit/s, IEEE 802.3-compliant
* 2 x I2CTM interface
|valign="top" style="border: 0pt;" |
* I²S Audio codec (1 x microphone, 1 x Line in, 1x Line out)
*'''Push-Buttons''' Power and reset
* Real-time clock (I2CTM connection), low power temperature compensated
*'''Battery Socket''' CR1216, CR1220 and CR1225
* 12 bit analog input
*'''LEDs'''
* 1 kbit EEPROM with integrated MAC address
**4x green user controlled LEDs
* 16 bit address/databus interface on SODIMM-200 socket
**1x blue Bluetooth enabled
* PWM channel
**1x yellow WiFi enabled
* 23 GPIOs
**1x red power supply okay
* JTAG debug connection via FFC plug connector
*'''Boot Mode''' 3 bit boot mode switch
* Industrial temperature range (-40°C to +85°C)
*'''Debug Interface''' JTAG interface via tag-connect
* SODIMM-200 socket with DHCOM pin assignment
*'''Supply (SYS_DCIN)''' 8 - 18 VDC
*'''Temperature Range''' 0 - 40 °C
*'''Dimensions ''' 100 x 85 mm
*'''Serial Peripherals''' 
**2 x UART
**2 x I2C
**1 x I2S
**1 x SPI
**1 x GPIOs
|}
|}
== Documentation ==
* [https://www.dropbox.com/s/f9jvcdq8rgb3e3f/DOC_Getting-Started-588-200_R03_2020-05-29.pdf?dl=1 Avenger96 588-200 Getting-Started R03]
* [https://www.dropbox.com/s/40k1tygmsiogy6r/USM_DHCOR-STM32MP1_R05_2019-12-12.pdf?dl=0 '''NEW''' DHCOR STM32MP1 User Manual R05 <span style="color:#FF0000">'''IMPORTANT: Please have a look at NEW chapter 24. Hardware design checklist'''</span> ]
:'''NOTE:''' Please also have a look at the STM32 MPU wiki: [[Avenger96#Links | Links]]
== Design Files ==
* [https://www.dropbox.com/s/u8nihe1xd6ysk3v/SCH_588-200-HS00008-public_R07_2019-08-01.pdf?dl=0 Avenger96 Schematic]
* [https://www.dropbox.com/s/1gyb53slm50uu80/BOM_588-200-HS00008-public_R07_2019-08-01.xlsx?dl=0 Avenger96 Bill of Material]
* [https://www.dropbox.com/s/78otmzqqbw0fkio/588-200_TOP_ASSEMBLY__R04_2019-04-12.pdf?dl=0 Avenger96 Assembly Top]
* [https://www.dropbox.com/s/su226xkonru494t/588-200_BOTTOM_ASSEMBLY__R04_2019-04-12.pdf?dl=0 Avenger96 Assembly Bottom]
* [https://www.dropbox.com/s/orku1po5d7gywwd/BRD_588-200-with-DHCOR_2020-06-22.STEP?dl=1 Avenger96 3D STEP file]
* [https://www.dropbox.com/s/yjx9l0qj9ja0de8/DHCOR-STM32MP1-Design-Symbols_2019-10-16.zip?dl=0 DHCOR STM32MP1 Allegro/Orcad schematic and layout symbols (release date: 16.10.2019) '''Now with Allegro *.brd file and 3D information''']
* [https://www.dropbox.com/s/s4n5j9wzhhrv6so/DHCOR_STM32MP1_3D_STEP_586-100_R02.zip?dl=0 DHCOR STM32MP1 3D STEP file]
* [https://www.dropbox.com/s/4i0la7q1wkv4anh/DHCOR-PinMux-TFBGA361-Avenger96-HW200_2019-05-03.zip?dl=0 Avenger96 CubeMX configuration (release date: 03.05.2019)]
== Software ==
=== DH Mainline based Linux ===
:'''Notes:'''
:- The Mainline based Linux offers Etnaviv GPU driver support!!!
:- Based on '''kernel 5.10.x''' and Yocto version dunfell
* [https://github.com/dh-electronics/dhcom_stm32mp1-bsp-platform Yocto meta layer --> Github]
* [https://www.dropbox.com/s/1ik74ec5kufyqmx/dh-image-demo-dh-stm32mp1-dhcor-avenger96-20211021130724_2021-10-21.rootfs.wic.xz?dl=0 '''NEW''' DH Mainline based Starter Image 2021-10-21 (based on 5.10 kernel)]
* [[DHCOR_STM32MP1_Linux| Linux and bootloader documentation]]
:<span style="color:#008000">'''NEW How to start with custom DHCOR design?'''</span>
:The patch below is an example patch which applies on top of u-boot v2021.01 and implements a custom board derived from 3V3 option of DHCOR STM32MP1 SoM. That's pretty much all you have to change to implement the board. But, please tweak the DTs esp. where there are the FIXME comments.
:[https://www.dropbox.com/s/zg6f9h1vms6lxdg/0001-ARM-dts-stm32-Add-DHCOR-based-FOO-board-u-boot-v2021.01.patch?dl=0 '''NEW''' 0001-ARM-dts-stm32-Add-DHCOR-based-FOO-board-u-boot-v2021.01.patch]
* [[Add Yocto SDK with QT5 to QT Creator | Start with Qt]]
* [[Debugging_M4_on_STM32MP15xxxx|STM32MP1: Debugging M4]]
* [https://wiki.dh-electronics.com/index.php/STM32MP1_Browser_Performance STM32MP1 Browser Performance]
=== Debian ===
* [https://www.dropbox.com/s/xvydm33ky97brt8/HD00066_Debian-Buster-Avenger96_2021-09-30.img.xz?dl=0 '''NEW''' Debian Buster Starter Image (based on 5.10 kernel)]
=== OpenSTLinux ===
<span style="color:#800000"> '''!!! This project is NOT maintained from DH electronics!!! --> Please use the "DH Mainline based Linux" version for your project. The OpenSTLinux should only be used for testing !!!'''</span>
:'''Notes:'''
:- Based on OpenSTLinux v3.0
:- GPU support based on original vivante GPU driver.
:- Based on kernel 5.10.x and Yocto version dunfell
* [https://github.com/dh-electronics/manifest-av96 Yocto meta layer --> Github]
:DH electronics Github contains the meta-av96 layer for ST SDK. Please see readme.txt which describes the build process.
* [https://www.dropbox.com/s/5c8s7sxtienyfip/Avenger96_v7.0_2021-10-29.img.zip?dl=0 OpenSTLinux-3.0 based on Yocto Dunfell LTS and Linux 5.10.10 - v7.0 Starter Image] (Supported by Arrow Electronics)
:[[Starter Image Changelog]]
: This Image includes four different bootmodes to support some additional mezzanine boars. [https://wiki.dh-electronics.com/index.php/Starter_Image_Bootmode Click here to learn, how to change them.]
:'''X-LINUX-AI OpenSTLinux Expansion Package:''' Description: Expansion Package that targets artificial intelligence for STM32MP1 Series devices.
* [https://wiki.st.com/stm32mpu/wiki/X-LINUX-AI_OpenSTLinux_Expansion_Package '''NEW''' X-LINUX-AI OpenSTLinux Expansion Package]
* [https://wiki.st.com/stm32mpu/wiki/How_to_install_X-LINUX-AI_v2.0.0_on_Avenger96_board '''NEW''' How to install X-LINUX-AI v2.0.0 on Avenger96 board]
== Useful instructions ==
==== How to test OV5640 camera ====
To use the D3 mezzanine board with AV96 and the OV5640 camera, one has to apply the correct DTO first:
STM32MP> setenv loaddtos '#conf-stm32mp157a-avenger96.dtb#conf-stm32mp15xx-avenger96-overlay-ov5640-x7.dtbo'; boot
Afterward it is possible to stream frames from the camera:
$ XDG_RUNTIME_DIR=/var/run/user/$(id -u weston)/ gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,width=1280,height=720 ! queue ! waylandsink
==== How to load U-Boot with dfu-util ====
*[[Demonstrate DFU usage for DHCOR recovery | Demonstrate DFU usage for DHCOR recovery]]
==== SPI Flash and eMMC Image Programming ====
*[[Avenger96 Image Programming | Avenger96 Image Programming]]
== Mezzanine Boards by DH electronics ==
==== DSI Display Adaptor Board ====
[[File:DSI Display Adaptor Board.jpg|thumb|DSI Display Adaptor Board]]
You can easily add an DSI display to your Avenger96 with the help of the DSI Display Adaptor Board.
The display can be activated easily on our Mainline Image with a device tree overlay as described [[DHCOR_STM32MP1_Linux| here]].
To get one of the boards, simply reach out to us and we'll prepare one for you.
== Links ==
* [https://wiki.st.com/stm32mpu/wiki/Main_Page STM32 MPU wiki]
* [https://wiki.st.com/stm32mpu/wiki/Category:Device_tree_configuration STM32 MPU wiki - Device tree configuration]
* [https://wiki.st.com/stm32mpu/index.php/STM32MP15_resources STM32MP15 resources]
* [https://www.96boards.org/ 96Boards]

Latest revision as of 10:18, 3 January 2022

The Avenger96 board is the official DHCOR STM32MP1 reference design!

COM Avenger96Board

Introduction

The AVENGER Board is a 96Boards compliant consumer edition board based on the STM32MP15 series of SoCs. The STM32MP15 series is a highly integrated multi-market applications processor designed to enable secure and portable applications within the Internet of Things. AVENGER board features Dual-core Arm® Cortex®-A7 processors operating at up to 650 MHz, Single core Arm® Cortex® M4 operating up to 209 MHz. In addition, an extensive set of interfaces and connectivity peripherals are included to interface to cameras, touch-screen displays, MMC/SD cards and media processor engine. It also fully supports wireless communication, including WLAN and BLE.

Technical Details

  • STM32MP157AAC
    • 2x ARM® Cortex-A7 up to 650 MHz
    • 1x ARM® Cortex-M4 up to 209 MHz

  • GPU 1x 3D GPU Vivante® @ 533 MHz - OpenGL® ES 2.0
  • PMIC STPMIC1A
  • DDR3 DRAM 1024 Mbyte @ 533 MHz
  • eMMC Flash 8 Gbyte, v4.51 interface
  • NOR Flash 2 Mbyte, Quad SPI interface
  • EEPROM 128 byte
  • microSD Socket UHS-I speed grade, v3.01
  • USB Host 2x type A, 2.0 high-speed
  • USB OTG 1x type micro-AB, 2.0 high-speed
  • HDMI WXGA (1366x768) @ 60 fps, HDMI 1.4
  • WiFi / Bluetooth
    • WiFi 5 GHz & 2.4GHz IEEE 802.11a / b / g / n / ac
    • Bluetooth® v4.2 (BR/EDR/BLE)
    • PCB antenna
  • Ethernet 10 / 100 / 1000 Mbit/s, IEEE 802.3-compliant
  • Push-Buttons Power and reset
  • Battery Socket CR1216, CR1220 and CR1225
  • LEDs
    • 4x green user controlled LEDs
    • 1x blue Bluetooth enabled
    • 1x yellow WiFi enabled
    • 1x red power supply okay
  • Boot Mode 3 bit boot mode switch
  • Debug Interface JTAG interface via tag-connect
  • Supply (SYS_DCIN) 8 - 18 VDC
  • Temperature Range 0 - 40 °C
  • Dimensions 100 x 85 mm
  • Serial Peripherals
    • 2 x UART
    • 2 x I2C
    • 1 x I2S
    • 1 x SPI
    • 1 x GPIOs

Documentation

NOTE: Please also have a look at the STM32 MPU wiki: Links

Design Files

Software

DH Mainline based Linux

Notes:
- The Mainline based Linux offers Etnaviv GPU driver support!!!
- Based on kernel 5.10.x and Yocto version dunfell
NEW How to start with custom DHCOR design?
The patch below is an example patch which applies on top of u-boot v2021.01 and implements a custom board derived from 3V3 option of DHCOR STM32MP1 SoM. That's pretty much all you have to change to implement the board. But, please tweak the DTs esp. where there are the FIXME comments.
NEW 0001-ARM-dts-stm32-Add-DHCOR-based-FOO-board-u-boot-v2021.01.patch

Debian

OpenSTLinux

!!! This project is NOT maintained from DH electronics!!! --> Please use the "DH Mainline based Linux" version for your project. The OpenSTLinux should only be used for testing !!!

Notes:
- Based on OpenSTLinux v3.0
- GPU support based on original vivante GPU driver.
- Based on kernel 5.10.x and Yocto version dunfell
DH electronics Github contains the meta-av96 layer for ST SDK. Please see readme.txt which describes the build process.
Starter Image Changelog
This Image includes four different bootmodes to support some additional mezzanine boars. Click here to learn, how to change them.
X-LINUX-AI OpenSTLinux Expansion Package: Description: Expansion Package that targets artificial intelligence for STM32MP1 Series devices.

Useful instructions

How to test OV5640 camera

To use the D3 mezzanine board with AV96 and the OV5640 camera, one has to apply the correct DTO first:

STM32MP> setenv loaddtos '#conf-stm32mp157a-avenger96.dtb#conf-stm32mp15xx-avenger96-overlay-ov5640-x7.dtbo'; boot

Afterward it is possible to stream frames from the camera:

$ XDG_RUNTIME_DIR=/var/run/user/$(id -u weston)/ gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,width=1280,height=720 ! queue ! waylandsink

How to load U-Boot with dfu-util

SPI Flash and eMMC Image Programming

Mezzanine Boards by DH electronics

DSI Display Adaptor Board

DSI Display Adaptor Board

You can easily add an DSI display to your Avenger96 with the help of the DSI Display Adaptor Board. The display can be activated easily on our Mainline Image with a device tree overlay as described here. To get one of the boards, simply reach out to us and we'll prepare one for you.

Links