Avenger96: Difference between revisions
Ageisreiter (talk | contribs) |
|||
(81 intermediate revisions by 5 users not shown) | |||
Line 55: | Line 55: | ||
*'''Temperature Range''' 0 - 40 °C | *'''Temperature Range''' 0 - 40 °C | ||
*'''Dimensions ''' 100 x 85 mm | *'''Dimensions ''' 100 x 85 mm | ||
*''' | *'''Expansion Connectors''' | ||
**2 x UART | **2 x UART | ||
**2 x I2C | **2 x I2C | ||
**1 x I2S | **1 x I2S | ||
**1 x SPI | **1 x SPI | ||
**1 x | **12 x GPIOs (also useable as 2x CAN, 2x ADC) | ||
**1 x MIPI-CSI2 | |||
**1 x MIPI-DSI | |||
|} | |} | ||
== Product Change Notifications (PCN) == | |||
==== DHCOR STM32MP15==== | |||
* [[media:PCN_DHCOR-STM32MP1-001_R01_2022-10-07.pdf|PCN_DHCOR-STM32MP1-001_R01_2022-10-07.pdf (New default bootloader, based on testbench configuration)]] | |||
* [[media:PCN_DHCOR-STM32MP15-002_R01_2024-05-15.pdf|PCN_DHCOR-STM32MP15-002_R01_2024-05-15.pdf (SPI flash write-protect information)]] | |||
== Downloads == | |||
* [https://github.com/dh-electronics/kas-dhsom/releases/tag/2023-08-28 DH Mainline based starter image 2023-09-20 (based on 6.1.54 Linux Kernel)] | |||
== Documentation == | == Documentation == | ||
* [ | * [[media:DOC_Getting-Started-588-200_R05_2024-07-17.pdf|Getting-Started with Avenger96 (R05)]] | ||
* [ | * [[media:USM_DHCOR-STM32MP1_R05_2019-12-12.pdf|DHCOR STM32MP1 User Manual R05 <span style="color:#FF0000">'''IMPORTANT: Please have a look at NEW chapter 24. Hardware design checklist'''</span>]] | ||
* More about the STM32 MPU is on the [[Avenger96#Links | Links section]] | |||
== Design Files == | == Design Files == | ||
Line 76: | Line 86: | ||
* [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/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/s4n5j9wzhhrv6so/DHCOR_STM32MP1_3D_STEP_586-100_R02.zip?dl=0 DHCOR STM32MP1 3D STEP file] | ||
* [ | * [[media:Stm32mp15xx-dhcor-avenger96_2023-04-18.zip | Avenger96 CubeMX configuration (release date: 18.04.2023)]] | ||
== Software == | == Software == | ||
=== DH Mainline based Linux === | === DH Mainline based Linux === | ||
: | * [https://github.com/dh-electronics/kas-dhsom Build your own Yocto Scarthgap LTS via kas (GitHub)] | ||
* [https://github.com/dh-electronics/meta-dhsom-stm32-bsp Yocto BSP meta layer (Github)] | |||
* [[Default Bootloader "stm32mp15xx-dhcor-testbench" | Default Bootloader "stm32mp15xx-dhcor-testbench" programmed with delivered DHCOR module]] | |||
* [https://github.com/dh-electronics/ | * [[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] | |||
* [[DHSOM device tree structure | DHSOM device tree structure]] | |||
=== OpenSTLinux === | === OpenSTLinux === | ||
:''' | : <span style="color:#FF0000"> '''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> | ||
:- Based on OpenSTLinux | * '''Info:''' | ||
:- Based on OpenSTLinux v3.0 | |||
:- GPU support based on original vivante GPU driver. | :- GPU support based on original vivante GPU driver. | ||
:- Based on kernel 5. | :- Based on kernel 5.10.x and Yocto version dunfell | ||
* [https://github.com/dh-electronics/manifest-av96 Yocto meta layer | * [https://github.com/dh-electronics/manifest-av96 Yocto meta layer (Github)] | ||
:DH electronics Github contains the meta-av96 layer for ST | :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/ | * [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]] | :[[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. | :'''X-LINUX-AI OpenSTLinux Expansion Package:''' Description: Expansion Package that targets artificial intelligence for STM32MP1 Series devices. | ||
Line 103: | Line 119: | ||
* [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] | * [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 ==== | |||
*[[U-Boot recovery for STM32MP1 DHSOM via DFU |U-Boot recovery for STM32MP1 DHSOM via DFU]] | |||
== | ==== SPI Flash and eMMC Image Programming via UMS (universal mass storage) ==== | ||
*[[Avenger96 UMS Image Programming | Avenger96 UMS Image Programming]] | |||
==== SPI Flash and eMMC Image Programming ==== | ==== SPI Flash and eMMC Image Programming via Cube Programmer (OLD) ==== | ||
*[[Avenger96 Image Programming | Avenger96 Image Programming]] | *[[Avenger96 Image Programming | Avenger96 Image Programming]] | ||
==== How to calibrate resistive touchscreens ==== | |||
*[[Calibration of resistive touchscreens]] | |||
== Mezzanine Boards by DH electronics == | |||
==== 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. | |||
[[File:DSI Display Adaptor Board.jpg|400px|DSI Display Adaptor Board]] | |||
== Links == | == Links == | ||
Line 115: | Line 152: | ||
* [https://wiki.st.com/stm32mpu/wiki/Category:Device_tree_configuration STM32 MPU wiki - Device tree configuration] | * [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://wiki.st.com/stm32mpu/index.php/STM32MP15_resources STM32MP15 resources] | ||
* [https://www.96boards.org | * [https://www.96boards.org 96Boards] |
Latest revision as of 06:44, 17 July 2024
The Avenger96 board is the official DHCOR STM32MP1 reference design!
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
|
|
Product Change Notifications (PCN)
DHCOR STM32MP15
- PCN_DHCOR-STM32MP1-001_R01_2022-10-07.pdf (New default bootloader, based on testbench configuration)
- PCN_DHCOR-STM32MP15-002_R01_2024-05-15.pdf (SPI flash write-protect information)
Downloads
Documentation
- Getting-Started with Avenger96 (R05)
- DHCOR STM32MP1 User Manual R05 IMPORTANT: Please have a look at NEW chapter 24. Hardware design checklist
- More about the STM32 MPU is on the Links section
Design Files
- Avenger96 Schematic
- Avenger96 Bill of Material
- Avenger96 Assembly Top
- Avenger96 Assembly Bottom
- Avenger96 3D STEP file
- DHCOR STM32MP1 Allegro/Orcad schematic and layout symbols (release date: 16.10.2019) Now with Allegro *.brd file and 3D information
- DHCOR STM32MP1 3D STEP file
- Avenger96 CubeMX configuration (release date: 18.04.2023)
Software
DH Mainline based Linux
- Build your own Yocto Scarthgap LTS via kas (GitHub)
- Yocto BSP meta layer (Github)
- Default Bootloader "stm32mp15xx-dhcor-testbench" programmed with delivered DHCOR module
- Linux and bootloader documentation
- 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
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!!!
- Info:
- - 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.
- 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. 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.
- NEW X-LINUX-AI OpenSTLinux Expansion Package
- 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
SPI Flash and eMMC Image Programming via UMS (universal mass storage)
SPI Flash and eMMC Image Programming via Cube Programmer (OLD)
How to calibrate resistive touchscreens
Mezzanine Boards by DH electronics
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.