stm32mp1 microprocessor, stm32의새로운도약
TRANSCRIPT
![Page 1: STM32MP1 microprocessor, STM32의새로운도약](https://reader033.vdocuments.net/reader033/viewer/2022061513/629edfa15daeb608cf13d2a3/html5/thumbnails/1.jpg)
STM32MP1 microprocessor,STM32의새로운도약
MMS Korea
Caleb Kang
![Page 2: STM32MP1 microprocessor, STM32의새로운도약](https://reader033.vdocuments.net/reader033/viewer/2022061513/629edfa15daeb608cf13d2a3/html5/thumbnails/2.jpg)
STM32MP1 introduction
![Page 3: STM32MP1 microprocessor, STM32의새로운도약](https://reader033.vdocuments.net/reader033/viewer/2022061513/629edfa15daeb608cf13d2a3/html5/thumbnails/3.jpg)
A general purpose MPU
Boosting performances
with Dual Cortex-A7 @ 800MHz
A broader STM32 MPU ecosystem
to reduce development time & cost
Suitable for all Developer Types and Multiple Applications
MPU
MPU
+Mixed MCU & MPU users
MCU users new to MPU
Developer profile Possible applications
IndustrialHealth & Wellness
Consumer
HomeMCU
MCU MPU➔
Pure MPU users STM32 MP1
3
![Page 4: STM32MP1 microprocessor, STM32의새로운도약](https://reader033.vdocuments.net/reader033/viewer/2022061513/629edfa15daeb608cf13d2a3/html5/thumbnails/4.jpg)
Rich feature set for boosting application possibilities
Graphic and communication
High Performance processing
up to 3040 DMIPS
Real-time & Low Power applications
260 DMIPS
4
![Page 5: STM32MP1 microprocessor, STM32의새로운도약](https://reader033.vdocuments.net/reader033/viewer/2022061513/629edfa15daeb608cf13d2a3/html5/thumbnails/5.jpg)
Ready to successful MPU development
Pin to pin compatibility across all part numbers
Full H/W compatibility with STPMIC1
S/W compatibility
Across the family
Evaluation/Discovery boards
Customer support
community.st.com
FAE - Worldwide
Customer support
+
@ 650MHz @ 800MHz
Common design properties
5
![Page 6: STM32MP1 microprocessor, STM32의새로운도약](https://reader033.vdocuments.net/reader033/viewer/2022061513/629edfa15daeb608cf13d2a3/html5/thumbnails/6.jpg)
STM32MP1 hardware architecture
![Page 7: STM32MP1 microprocessor, STM32의새로운도약](https://reader033.vdocuments.net/reader033/viewer/2022061513/629edfa15daeb608cf13d2a3/html5/thumbnails/7.jpg)
STM32MP1 microprocessor unit
7
![Page 8: STM32MP1 microprocessor, STM32의새로운도약](https://reader033.vdocuments.net/reader033/viewer/2022061513/629edfa15daeb608cf13d2a3/html5/thumbnails/8.jpg)
STM32MP1 peripherals
available to boot source
8
![Page 9: STM32MP1 microprocessor, STM32의새로운도약](https://reader033.vdocuments.net/reader033/viewer/2022061513/629edfa15daeb608cf13d2a3/html5/thumbnails/9.jpg)
I-Bus
D-Bus
S-Bus
BKPSRAM 4KB
12
8/6
4/3
2-b
it A
XI
Inte
rco
nn
ect
(26
6M
Hz)
128bit
Bus architecture overview
128 bits
DAP (JTAG/SWD)
64-bit AXI slave
32-bit AHB slave
64-bit AXI master
32-bit AHB master
asy
nc
32
- bit
mu
lti-
AH
Bb
us
ma
t rix
(209
MH
z)
Cortex-A7up to 800MHzMMU.FPU.NEON
L1 32KB (I&D)
L2 256KB asy
nc
SDMMC x 2
MDMA x 32ch
ETH1 GMAC(10/100/1000)
USB Host 2 ports(2x High Speed PHY)
GPU (533MHz)
LCD controller
asy
nc
@V
BA
T
APB5 (133MHz)
APB6
APB5asy
nc
SYSRAM 256KB
QUADSPI (dual)
FMC (NAND)
LPDDR2/3, DDR3L
400 ~ 500MHzasy
nc
Cortex-M4209MHzMPU.FPU
USB OTG
SDMMC
DMA
16 streams
32-b
it m
ult
i-A
HB
Bu
s m
atr
ix (
20
9M
Hz)
RETRAM 64KB
@V
BA
T
APB2 (104.5MHz)
APB1 (104.5MHz)
SRAM384KB.
2x128KB.
2x64KB
APB3 (104.5MHz)
asy
nc
asy
nc
asy
nc
asy
nc
asy
nc
9
![Page 10: STM32MP1 microprocessor, STM32의새로운도약](https://reader033.vdocuments.net/reader033/viewer/2022061513/629edfa15daeb608cf13d2a3/html5/thumbnails/10.jpg)
Power supplies
Name Typical or Range Description
VDD 1.7V ~ 3.6V Power supply input for I/Os
VDD_PLL / ANA / DSI Power supply input for PLLs and system analog like RCC, PWR and DSI. To be connected to VDD
VDD_CORE 1.2V Power supply input for Digital Core domain
VDDA 1.7V – 3.6V Analog Power supply input for ADCs, DACs and voltage reference buffers
VDDQ_DDR 1.2V / 1.35V / 1.5V Power supply input for DDR Physical Interface (PHY) and IOs
VDD3V3_USBHS/FS 3.3V Power supply input for USB Physical Interface (PHY) and IOs
Internally generated Power Supplies
VDDA1V8_REG 1.8V Analog Power Supply input or output, used internally for USB Physical Interface (PHY)
VDDA1V8_DSI Analog Power supply input for DSI Physical Interface (PHY), to be connected to VDDA1V8_REG
VDDA1V2_DSI_REG 1.2V Analog Power supply output, used internally for DSI PLL
VDDA1V2_DSI_PHY Analog Power supply input for DSI Physical Interface (PHY), to be connected to VDDA1V2_DSI_REG
VDDA1V1_REG 1.1V Analog Power supply output for USB Physical Interface (PHY)
10
![Page 11: STM32MP1 microprocessor, STM32의새로운도약](https://reader033.vdocuments.net/reader033/viewer/2022061513/629edfa15daeb608cf13d2a3/html5/thumbnails/11.jpg)
Reference and Monitoring
Startup
STPMIC1 block diagram
Package: WFQFN 5x6x0.8 44L pitch 0.4mm
Control
State machine and Reset
POWER CONVERTERVIN: 2.8V ~ 5.5V
Digital IOs interface Regulator control
I²C interface and registers
NVM prototyping and programming
Power sequence Voltage
Misc: protections, auto turn-on, I²C add, Lock
Internal voltage references
DDR Vref
Power on Reset
Over current protection
Thermal sensor
System voltage
Short circuit protection
Watchdog
BUCK1 (VDD_CORE)0.725V to 1.5V / 1.5A
BUCK2 (VDD_DDR)1.0V to 1.5V / 1.0A
BUCK3 (VDD)1.0V to 3.4V / 0.5A
BUCK4 (GP)0.6V to 3.9V / 2A
BOOST/BYPASS (VBUS)5.2V / 1.1A
LDO1 (GP)1.7V to 3.3V / 350mA
LDO2 (GP or Flash memory)1.7V to 3.3V / 350mA
LDO3 (GP or DDR)1.7V to 3.3V, VTT (DDR3 sink/source),
Bypass mode / 125mA
LDO4 (VUSB)3.3V / 50mA
LDO5 (GP or SD Card)1.7V to 3.9V / 350mA
LDO6 (GP or VDDA)0.9V to 3.3V / 150mA
PWR_USB_SW
(VBUSOTG)
0.5A
PWR_SW
(GP or VBUS2)
1A
Switching Regulators Linear Regulators
Power switch
11
![Page 12: STM32MP1 microprocessor, STM32의새로운도약](https://reader033.vdocuments.net/reader033/viewer/2022061513/629edfa15daeb608cf13d2a3/html5/thumbnails/12.jpg)
OTP fuse
• OTP Fuses are One Time Programming memory
• Initial bits are ‘0’ and are irreversibly programmed to ‘1’
• Incremental programing of bits in a 32-bit word is possible
• Handled thru BSEC (Boot and Security) controller IP
• Programming, reading, status and locking handled by BSEC
• Lock mechanism to avoid read and/or program (32-bits granularity)
• OTP Content
• Product configuration and Trimming values set by ST during production
• Secrets and unique identification numbers set by ST during production
• Device configuration set by OEM (e.g. MAC address, boot source, security mode, etc...)
• Secrets set by OEM (e.g. for secure boot)
• Up to 1184 bits available for other OEM purposes
12
![Page 13: STM32MP1 microprocessor, STM32의새로운도약](https://reader033.vdocuments.net/reader033/viewer/2022061513/629edfa15daeb608cf13d2a3/html5/thumbnails/13.jpg)
OpenSTLinux software architecture
![Page 14: STM32MP1 microprocessor, STM32의새로운도약](https://reader033.vdocuments.net/reader033/viewer/2022061513/629edfa15daeb608cf13d2a3/html5/thumbnails/14.jpg)
From MCU to MPU
Interconnect
Cortex-M
Cortex-M
Interconnect
Peripherals
Cortex-M
Interconnect
Peripherals
Cortex-A GPU
Peripherals
STM32MP1
MPU
MCUMCU
14
![Page 15: STM32MP1 microprocessor, STM32의새로운도약](https://reader033.vdocuments.net/reader033/viewer/2022061513/629edfa15daeb608cf13d2a3/html5/thumbnails/15.jpg)
Multiple core architecture concept
• Hardware execution context
• « a core and a security mode »
• Firmwares executed runtime contexts
• Arm Cortex-A secure (Trustzone) executes OP-TEE
• Arm Cortex-A non secure executes Linux
• Arm Cortex-M (non secure) executes STM32Cube
• Peripheral assignment to the runtime contexts
• Assigned or shared
Boot time
Runtime
Cort
ex-A
secure
conte
xt
Co
rte
x-A
no
n
secure
con
text
Cort
ex-M
(non
secure
) conte
xt
Bo
ot
ch
ain
15
![Page 16: STM32MP1 microprocessor, STM32의새로운도약](https://reader033.vdocuments.net/reader033/viewer/2022061513/629edfa15daeb608cf13d2a3/html5/thumbnails/16.jpg)
Peripherals sharing
16
![Page 17: STM32MP1 microprocessor, STM32의새로운도약](https://reader033.vdocuments.net/reader033/viewer/2022061513/629edfa15daeb608cf13d2a3/html5/thumbnails/17.jpg)
Software memory mapping
• The memory mapping below is a subset of all regions that are really exposed at hardware level.
17
![Page 18: STM32MP1 microprocessor, STM32의새로운도약](https://reader033.vdocuments.net/reader033/viewer/2022061513/629edfa15daeb608cf13d2a3/html5/thumbnails/18.jpg)
Shared RAM memory mapping
• Each customer can of course tune this mapping (regions location and sizes) to fit with his product needs
18
![Page 19: STM32MP1 microprocessor, STM32의새로운도약](https://reader033.vdocuments.net/reader033/viewer/2022061513/629edfa15daeb608cf13d2a3/html5/thumbnails/19.jpg)
STM32MPU embedded software
19
![Page 20: STM32MP1 microprocessor, STM32의새로운도약](https://reader033.vdocuments.net/reader033/viewer/2022061513/629edfa15daeb608cf13d2a3/html5/thumbnails/20.jpg)
OpenSTLinux + STM32Cube
op-tee
core
HAL
drivers
Cortex-A7
Secure
Secure
monitor
psci
Cortex
M4
FreeRTOS
HAL
drivers
OpenAMP
Middleware
20
![Page 21: STM32MP1 microprocessor, STM32의새로운도약](https://reader033.vdocuments.net/reader033/viewer/2022061513/629edfa15daeb608cf13d2a3/html5/thumbnails/21.jpg)
Open-embedded user space
21
![Page 22: STM32MP1 microprocessor, STM32의새로운도약](https://reader033.vdocuments.net/reader033/viewer/2022061513/629edfa15daeb608cf13d2a3/html5/thumbnails/22.jpg)
STM32MP1 platform boot
![Page 23: STM32MP1 microprocessor, STM32의새로운도약](https://reader033.vdocuments.net/reader033/viewer/2022061513/629edfa15daeb608cf13d2a3/html5/thumbnails/23.jpg)
Standard Linux boot chain
23
![Page 24: STM32MP1 microprocessor, STM32의새로운도약](https://reader033.vdocuments.net/reader033/viewer/2022061513/629edfa15daeb608cf13d2a3/html5/thumbnails/24.jpg)
STM32MP1 boot chain (1/2)
24
![Page 25: STM32MP1 microprocessor, STM32의새로운도약](https://reader033.vdocuments.net/reader033/viewer/2022061513/629edfa15daeb608cf13d2a3/html5/thumbnails/25.jpg)
STM32MP1 boot chain (2/2)
(Second Stage
Boot Loader)
(First Stage
Boot Loader)
SS
BL
Us
er
sp
ace
Ke
rnel
sp
ace
Se
cu
re M
on
ito
rR
OM
FS
BL
optional
Co
pro
ces
so
r
25
![Page 26: STM32MP1 microprocessor, STM32의새로운도약](https://reader033.vdocuments.net/reader033/viewer/2022061513/629edfa15daeb608cf13d2a3/html5/thumbnails/26.jpg)
Trusted boot chain
26
![Page 27: STM32MP1 microprocessor, STM32의새로운도약](https://reader033.vdocuments.net/reader033/viewer/2022061513/629edfa15daeb608cf13d2a3/html5/thumbnails/27.jpg)
Basic boot chain
27
![Page 28: STM32MP1 microprocessor, STM32의새로운도약](https://reader033.vdocuments.net/reader033/viewer/2022061513/629edfa15daeb608cf13d2a3/html5/thumbnails/28.jpg)
Flash memory
Storage
STM32CubeProgrammer for IMAGE programming
Cortex-A7
Host <
Prerequisite: ensure that
serial boot mode is selected
> Target
FlashLayout
Image. . .
U-Boot (SSBL)
U-Boot SPL
or
TF-A
· · ·U-Boot (SSBL)
U-Boot SPL
or
TF-A
U-Boot
SS
BL
FS
BL
RO
M
(loop on all binaries
to program in flash)
ROM Code
U-Boot SPL
or
TF-A
UART
or
USB
1
32
4 5
6
28
![Page 29: STM32MP1 microprocessor, STM32의새로운도약](https://reader033.vdocuments.net/reader033/viewer/2022061513/629edfa15daeb608cf13d2a3/html5/thumbnails/29.jpg)
OpenSTLinux distribution
![Page 30: STM32MP1 microprocessor, STM32의새로운도약](https://reader033.vdocuments.net/reader033/viewer/2022061513/629edfa15daeb608cf13d2a3/html5/thumbnails/30.jpg)
Concept of OpenSTLinux
• OpenSTLinux is a concept for STM32MPU embedded SW package
• Concept = naming + associated pillars
• Pillars
• Usage of a standard kernel interface (no proprietary interface)
• Usage of Open Source software
• Link to community (upstream)
• Easy to use
• It supports OpenEmbedded build process
• Yocto Compatible (target is to have a Board Support Package (BSP) hosted on Yocto server)
30
![Page 31: STM32MP1 microprocessor, STM32의새로운도약](https://reader033.vdocuments.net/reader033/viewer/2022061513/629edfa15daeb608cf13d2a3/html5/thumbnails/31.jpg)
Available packages
• Starter Package
• To quickly and easily start with any STM32MP microprocessor device.
• This Package is generated from the Distribution Package.
• Developer Package
• To add your own developments on top of the STM32MPU
Embedded Software distribution, or to replace the
Starter Package pre-built binaries.
• This Package is generated from the Distribution Package.
• Distribution Package
• To create your own Linux® distribution,
your own Starter Package and your own Developer Package.
31
![Page 32: STM32MP1 microprocessor, STM32의새로운도약](https://reader033.vdocuments.net/reader033/viewer/2022061513/629edfa15daeb608cf13d2a3/html5/thumbnails/32.jpg)
• Packages
• Starter Package Flashable images
• Developer Package Software Development Kit (SDK) and BSP tarballs
• Distribution Package Open Embedded distribution full source
• Rationale
• Cover all the possible usages from our customers
• Discover -> Prototype -> Start new hardware -> Productize software
• Customer receives a board with an OpenSTLinux Starter package
• Assess board capacities and performance
• Customer wants to run existing applications = Starter package
• Customer wants to develop their own application = Developer package
• Customer wants to start their own hardware = prototype with Developer package then Distribution
• Productization of software = Distribution package
Packages and use cases
32
![Page 33: STM32MP1 microprocessor, STM32의새로운도약](https://reader033.vdocuments.net/reader033/viewer/2022061513/629edfa15daeb608cf13d2a3/html5/thumbnails/33.jpg)
Starter package
• STM32MPU Embedded Software Starter Package
• ST images stored with HW diversity flashlayout.zip = Yocto based images
33
![Page 34: STM32MP1 microprocessor, STM32의새로운도약](https://reader033.vdocuments.net/reader033/viewer/2022061513/629edfa15daeb608cf13d2a3/html5/thumbnails/34.jpg)
Focus on starter package
• Binaries ready to use by customer: Yocto/OpenEmbedded image (Weston)
• Demonstrate the capacity of the platform
• Available on microSD card or directly flashed onto the board
• At this stage, Yocto starter package is only a prerequisite for developer kit
• Deliverables
• Set of binaries with a specific flash layout
• Script to generate an SD card raw image
• Complete combinations (binaries x flash layouts) of microSD card ready to use images
(aka stimg) are not provided by default; there are too many configurations
34
![Page 35: STM32MP1 microprocessor, STM32의새로운도약](https://reader033.vdocuments.net/reader033/viewer/2022061513/629edfa15daeb608cf13d2a3/html5/thumbnails/35.jpg)
Developer package
• Yocto based on st-image-weston
• SDK (Toolchain + Includes)
• Sources (Community Tarball + ST Patches + ST configs)
• Kernel and Boot (U-Boot, ATF)
• STM32MP1-M4 Cube
35
![Page 36: STM32MP1 microprocessor, STM32의새로운도약](https://reader033.vdocuments.net/reader033/viewer/2022061513/629edfa15daeb608cf13d2a3/html5/thumbnails/36.jpg)
Focus on developer package
• Developer package = SDK (Software Development Kit) + Source code
• Uses Starter package images
• Only Yocto/OpenEmbedded SDK, based on Weston images, is provided
• Source code provided
• Kernel, U-Boot, ATF, OPTEE (optional), STM32Cube
• Pre-compiled toolchain
• Release mode depends on the project stages
• Alpha customer
• Source code (tar ball from community) + patch
• Mass market
• Source code (tar ball from community) + patch
• Git (ST github) = community content + all patches pending upstream
36
![Page 37: STM32MP1 microprocessor, STM32의새로운도약](https://reader033.vdocuments.net/reader033/viewer/2022061513/629edfa15daeb608cf13d2a3/html5/thumbnails/37.jpg)
Distribution package
• Yocto based - (ST layers + ST patches on Git community)
• oe-manifest
• meta-st-stm32mp
• meta-st-openstlinux
• STM32MP1-M4 Cube
• meta-st-custo (to customise via appends per customer)
37
![Page 38: STM32MP1 microprocessor, STM32의새로운도약](https://reader033.vdocuments.net/reader033/viewer/2022061513/629edfa15daeb608cf13d2a3/html5/thumbnails/38.jpg)
OpenEmbedded
• Project initiated by the Linux Foundation in 2010 and is still managed
by one of its fellows: Richard Purdie.
• Linux-based cross-compilation framework
• Open source (but can be used to build proprietary code)
• It is based on git for software configuration management
38
![Page 39: STM32MP1 microprocessor, STM32의새로운도약](https://reader033.vdocuments.net/reader033/viewer/2022061513/629edfa15daeb608cf13d2a3/html5/thumbnails/39.jpg)
OpenEmbedded ecosystem
• People talk about Yocto, Poky or OpenEmbedded and this can be confusing,
• Some projects works on a Yocto base, some others on a Poky base, but in the end
everything is compatible.
Name Description
OpenEmbedded Build Framework for embedded Linux
Maintained by the community
Source version of Poky
Setup mainly consolidated for ARM platforms
Yocto A project that uses OpenEmbedded build system
Poky Poky is a reference system of the Yocto Project - a collection of Yocto Project tools and
metadata that serves as a set of working examples. Poky uses OpenEmbedded Core
Poky is maintained by Intel. Setup is mainly consolidated for Intel platforms
39
![Page 40: STM32MP1 microprocessor, STM32의새로운도약](https://reader033.vdocuments.net/reader033/viewer/2022061513/629edfa15daeb608cf13d2a3/html5/thumbnails/40.jpg)
OpenEmbedded
• What OpenEmbedded does,
• Source code download
• Patch application
• Cross compilation
• Package management
• What OpenEmbedded generates,
• Binary packages
• Linux-based system images
• Toolchains
• SDKs (Software Development Kits)
Poky Tool
40
![Page 41: STM32MP1 microprocessor, STM32의새로운도약](https://reader033.vdocuments.net/reader033/viewer/2022061513/629edfa15daeb608cf13d2a3/html5/thumbnails/41.jpg)
Compilation flow
41
![Page 42: STM32MP1 microprocessor, STM32의새로운도약](https://reader033.vdocuments.net/reader033/viewer/2022061513/629edfa15daeb608cf13d2a3/html5/thumbnails/42.jpg)
• STM32MP1 Wiki: https://wiki.st.com/stm32mpu/index.php/Main_Page
• STM32 MPU Community: https://community.st.com/s/topic/0TO0X0000003u2AWAQ/stm32-mpus
STM32MP1 Wiki and community
42
![Page 43: STM32MP1 microprocessor, STM32의새로운도약](https://reader033.vdocuments.net/reader033/viewer/2022061513/629edfa15daeb608cf13d2a3/html5/thumbnails/43.jpg)
Demonstration
![Page 44: STM32MP1 microprocessor, STM32의새로운도약](https://reader033.vdocuments.net/reader033/viewer/2022061513/629edfa15daeb608cf13d2a3/html5/thumbnails/44.jpg)
• STM32MP1 DK2 Board
• ST-LINK embedded debug tool
• LEDs, push-buttons
• Ethernet 1-Gbps connector
• USB Type-CTM OTG connector
• HDMI® transceiver
• LCD display with a touch panel
• microSDTM connector
• Wi-Fi® and Bluetooth® Low Energy
Demo
44
![Page 45: STM32MP1 microprocessor, STM32의새로운도약](https://reader033.vdocuments.net/reader033/viewer/2022061513/629edfa15daeb608cf13d2a3/html5/thumbnails/45.jpg)
© STMicroelectronics - All rights reserved.
ST logo is a trademark or a registered trademark of STMicroelectronics International NV or its affiliates in the EU and/or other countries.
For additional information about ST trademarks, please refer to www.st.com/trademarks.
All other product or service names are the property of their respective owners.
Thank you