SlideShare une entreprise Scribd logo
1  sur  23
Télécharger pour lire hors ligne
Deploy STM32 family on Zephyr
Erwan Gouriou
ENGINEERS
AND DEVICES
WORKING
TOGETHER
Plan
● A glance at STM32 ecosystem
● STM32 porting on Zephyr
● Device tree concept applied to STM32 family
● What’s next for STM32 in Zephyr
ENGINEERS
AND DEVICES
WORKING
TOGETHER
A glance at STM32 Ecosystem
ENGINEERS AND DEVICES
WORKING TOGETHER
Quick outlook on STM32 SoC family
● Cortex-M based MCUs
● More than 700 SoC part numbers
● Split in 10 series
● STM32 family keeps evolving and
more to come…
● http://www.st.com/en/microcontrollers
/stm32-32-bit-arm-cortex-mcus.html
● «MCU finder» utility:
●http://www.st.com/en/development-tool
s/st-mcu-finder.html
ENGINEERS AND DEVICES
WORKING TOGETHER
STM32 MCU naming convention
STM32 F 0 3
Family
STM32 Cortex 32bit
Lines :
0 Value
1 Access
2 USB
3 ---
4 ---
5 OTG
6 LCD/TFT+OTG
7 Ethernet
8 Regulator off
9 LCD TFT
Sub-Lines:
0 ---
1 ---
2 ---
3 --- Small die
4 ---
5 --- Medium die
6 ---
7 --- Big die
8 ---
9 --- High integration
Product type
F Foundation
L Ultra-low-power
H High performance
A higher number means
a richer configuration!
1 R
Flash size (Kbytes) :
4 16
6 32
8 64
B 128
C 256
D 384
E 512
F 768
G 1024
H 1536
I 2048
B
Package:
F 20 pins
G 28 pins
K 32 pins
T 36 pins
S 44 pins
C 48 pins
R 64, 66 pins
M 80 pins
O 90 pins
Series Number:
0 Cortex-M0
1 Cortex-M3
2 Cortex-M3
3 Cortex-M4
4 Cortex-M4
7 Cortex-M7
ENGINEERS AND DEVICES
WORKING TOGETHER
Focus on B-L475E-IOT01A (disco_l475_iot1)
STM32L475 SoC:
Low power, 80MHz
1Mbit flash
128 kRAM
Inventek ISM43362-M3G:
Wi-Fi Module
M24SR: NFC Module
VLX53L0X: Time of Flight
and gesture recognition
HTS221: Humidity and
Temperature
USB OTG Arduino V3 connector
SPSGRF:Sub-GHz Module
64MBit Quad-SPI Flash
MP34DT01:
Omnidirectionnal mic (x2)
SPBTLE-RF: BT Module
LIS3MDL: 3-Axis
magnetometer
LPS22HB: Barometer
LMS6DSL: 3D
accelerometer and
gyroscope
Connectivity
Sensing
MCU Status:
Upstreamed
In progress
ENGINEERS AND DEVICES
WORKING TOGETHER
STM32Cube: Embedded Software for STM32
http://www.st.com/en/embedded-software/stm32cube-embedded-software.html
ENGINEERS AND DEVICES
WORKING TOGETHER
STM32Cube APIs: HAL vs LL
● HAL (Hardware Abstraction Layers):
○ High level and functional abstraction
○ 100% coverage of all peripherals
○ Good match for complex drivers such as USB, Ethernet, ..
○ Higher portability => bigger software footprints, more time running adaptation code => Less optimized
● LL (Low-Layers):
○ Light-weight, optimized, expert oriented set of APIs designed for both performance and runtime
efficiency
○ Register level access library. Do not use global variables. Atomic operations
○ Fit for most zephyr drivers and allows to build stm32 generic lightweight drivers.
○ Perfect fit for “simple IPs” drivers
● HAL/LL could be used together in a single driver
ENGINEERS AND DEVICES
WORKING TOGETHER
Main STM32Cube benefit: Abstraction
● Usual prejudices on HAL:
○ Size, sub optimization
○ coding style…
● Usual pro-HAL arguments are:
○ Avoid re-inventing the wheel, allow to save time…
○ Thoroughly maintained and validated, help developing more mature drivers
● Abstraction capability breaks silos between series/re-inforces cooperation
○ Focussed competencies: more users and more reviewers on a single driver
○ More minds: more performant drivers
○ Reduce work duplication: faster increase of driver support
○ Less code: maintenance effort is reduced.
ENGINEERS
AND DEVICES
WORKING
TOGETHER
STM32 porting on Zephyr
ENGINEERS AND DEVICES
WORKING TOGETHER
STM32Cube: Integration in Zephyr
ext/hal/st/stm32cubearch/arm/soc/st_stm32/
○ stm32f1xx/
○ stm32f3xx/
■ drivers/ (HAL and LL)
● include/
● src/
■ soc / (CMSIS Files: stm32f303x8.h)
■ README
○ stm32f4xx
○ …
● Maintained and updated at each Zephyr DV (at least)
● STM32Cube, as an external library, should not be modified
● But: in case of genuine STM32Cube bug:
○ Report to STM32Cube Zephyr maintainer (issue will be raised in ST bugtracker)
○ Fix issue in a separate PR. Document README (ST Bug ref / Impacted files)
○ Reported issues are taken into account / Don’t hesitate to report issues!
ENGINEERS AND DEVICES
WORKING TOGETHER
How to: Introduce a new LL/HAL based driver
● HAL or LL?
○ Driver complexity?
○ Acceptable footprint?
○ Supported features?
○ Validation effort?
● Maximize code reuse
○ Use CMSIS defines
● Adapt code structure to IP diversity
○ Factorise as much as possible. Examples =>
Small variations within family:
spi_ll_stm32.c (use of #ifdef’s)
2 different IPs in whole family (v1/v2):
i2c_ll_stm32.c
i2c_ll_stm32_v1.c (I2C V1: F1/F2/F4/L1)
i2c_ll_stm32_v2.c (I2C V2: F0/F3/F7/L4)
Important heterogeneity:
stm32_ll_clock.c
stm32f1x_ll_clock.c (F1 series)
stm32f3x_ll_clock.c (F3 series)
…
● Lot of HAL/LL examples in stm32cube packages
● Community support on https://community.st.com
ENGINEERS AND DEVICES
WORKING TOGETHER
STM32 MCU porting: Minimize code duplication
● Code organized per series
● In each series:
○ MCUspecific info (number of IRQ, SoC refence) is
stored under Kconfig.defconfig.stm32yyyxx
○ Series Kconfig are defined
● New: “st_stm32/common”:
○ introduced to factorize cross-series code (MPU
code for now)
● MCU specific code:
○ further optimized with device tree
arch/arm/soc/st_stm32
○ common (new! More code to be put here)
○ stm32f1
■ Kconfig.defconfig.stm32f103xx
■ Kconfig.defconfig.stm32f107xc
■ …
○ ….
○ stm32l4
ENGINEERS
AND DEVICES
WORKING
TOGETHER
Device tree concept applied to
STM32 family
ENGINEERS AND DEVICES
WORKING TOGETHER
STM32 device tree: Zephyr vs Linux (1/2)
● STM32 dts files deployed in Zephyr and Linux in parallel
● Long term goal: Common repo
● No dependency today
● Respective evolutions monitored and controlled
○ Divergence points are listed
○ Regular alignments done
○ Linux kernel STM32 machine maintainer is reviewer of STM32 Zephyr dts PRs
● Today, alignments are only done in one way:
○ Linux => Zephyr
● Once device tree will be stabilized in Zephyr:
○ Linux <=> Zephyr
ENGINEERS AND DEVICES
WORKING TOGETHER
STM32 device tree: Zephyr vs Linux (2/2)
● Known Issues (and current solutions):
○ Properties:
■ Different drivers > Different properties
■ Current solution: Use of string prefix “zephyr,” (Eg: “zephyr,bt-uart”)
○ Bindings:
■ Different drivers > Different bindings
■ Current solution: Use same paths/same file names but different #define
○ Supported set of SoCs: More MCUs in Zephyr (in which Linux won’t fit)
■ => MCU with smallest configuration is different
■ Current answer is to use generic stm32XX.dtsi files to store this minimum configuration
ENGINEERS AND DEVICES
WORKING TOGETHER
STM32 device tree organization
stm32f4.dtsi
soc{ rcc
pinctrl
uart1
uart2
…
i2c1
i2c2}
stm32f4-pinctrl.dtsi
soc {pinctrl { usart1_pin_a{ tx =, rx=}
usart2_pin_a{ …}
…
i2c1_pin_a
i2c2_pin_b}}
armv7-m.dtsi
stm32f401.dtsi
stm32f407.dtsi
soc{ usart3
uart4
uart5}
stm32f407-pinctrl.dtsi
soc{ pinctrl{ usart3_pin_a
uart4_pin_a
uart5_pin_a}}
…
ENGINEERS
AND DEVICES
WORKING
TOGETHER
What’s next for STM32 in Zephyr
●Keep extending STM32 drivers support
●Complete STM32 code factorization (still some duplicated
code between series)
●Expand connectivity support for disco IoT board
○Wi-Fi support
○Sub-GHZ
○NFC…
○USB
ENGINEERS
AND DEVICES
WORKING
TOGETHER
Back up sildes
ENGINEERS AND DEVICES
WORKING TOGETHER
STM32 prototyping boards and shields
ENGINEERS AND DEVICES
WORKING TOGETHER
Status on STM32 presence in Zephyr (17’09)
• 4 series present (F1, F3, F4, L4)
• 21 SoCs ported
• 22 Boards available
GPIO/
Pinmux
RCC UART I2C SPI RNG PWM Flash DMA EXTI ETH
stm32f1
4 socs
4 boards
Z LL HAL/LL LL LL LL HAL NA NA Z NA
stm32f3
3 socs
3 boards
Z LL HAL/LL LL LL LL HAL Z NA Z NA
stm32f4
10 socs
11 boards
Z LL HAL/LL LL LL LL HAL Z Z Z HAL
stm32l4
4 socs
4 boards
Z LL HAL/LL LL LL LL HAL Z NA Z NA
Available
Issues reported
Z: Zephyr native
LL: Based on STM32CUBE LL
HAL: Based on STM32CUBE HAL
Legend:
ENGINEERS
AND DEVICES
WORKING
TOGETHER
Zephyr STM32 Misc
• BT available with X-Nucleo shield or embedded on Disco
IoT Board
• Activate with CONFIG_BT_SPI_BLUENRG
Thank You
Contact: erwan.gouriou@linaro.org
#SFO17
SFO17 keynotes and videos on: connect.linaro.org
For further information: www.linaro.org

Contenu connexe

Tendances

ARM Cortex-M3 Training
ARM Cortex-M3 TrainingARM Cortex-M3 Training
ARM Cortex-M3 TrainingRaghav Nayak
 
LCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted FirmwareLCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted FirmwareLinaro
 
8096 microcontrollers notes
8096 microcontrollers notes8096 microcontrollers notes
8096 microcontrollers notesDr.YNM
 
用Raspberry Pi 學Linux I2C Driver
用Raspberry Pi 學Linux I2C Driver用Raspberry Pi 學Linux I2C Driver
用Raspberry Pi 學Linux I2C Driver艾鍗科技
 
Part-1 : Mastering microcontroller with embedded driver development
Part-1 : Mastering microcontroller with embedded driver development Part-1 : Mastering microcontroller with embedded driver development
Part-1 : Mastering microcontroller with embedded driver development FastBit Embedded Brain Academy
 
LPC 1768 A study on Real Time clock features
LPC 1768 A study on Real Time clock featuresLPC 1768 A study on Real Time clock features
LPC 1768 A study on Real Time clock featuresOmkar Rane
 
Soc architecture and design
Soc architecture and designSoc architecture and design
Soc architecture and designSatya Harish
 
SOC Interconnects: AMBA & CoreConnect
SOC Interconnects: AMBA  & CoreConnectSOC Interconnects: AMBA  & CoreConnect
SOC Interconnects: AMBA & CoreConnectA B Shinde
 
Programming ARM Cortex-M4 STM32 Nucleo
Programming ARM Cortex-M4  STM32 NucleoProgramming ARM Cortex-M4  STM32 Nucleo
Programming ARM Cortex-M4 STM32 NucleoSanjay Adhikari
 
ARM architcture
ARM architcture ARM architcture
ARM architcture Hossam Adel
 
PART-2 : Mastering RTOS FreeRTOS and STM32Fx with Debugging
PART-2 : Mastering RTOS FreeRTOS and STM32Fx with DebuggingPART-2 : Mastering RTOS FreeRTOS and STM32Fx with Debugging
PART-2 : Mastering RTOS FreeRTOS and STM32Fx with DebuggingFastBit Embedded Brain Academy
 

Tendances (20)

ARM Cortex-M3 Training
ARM Cortex-M3 TrainingARM Cortex-M3 Training
ARM Cortex-M3 Training
 
LCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted FirmwareLCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted Firmware
 
8096 microcontrollers notes
8096 microcontrollers notes8096 microcontrollers notes
8096 microcontrollers notes
 
I2C Protocol
I2C ProtocolI2C Protocol
I2C Protocol
 
eMMC 5.0 Total IP Solution
eMMC 5.0 Total IP SolutioneMMC 5.0 Total IP Solution
eMMC 5.0 Total IP Solution
 
SOC design
SOC design SOC design
SOC design
 
用Raspberry Pi 學Linux I2C Driver
用Raspberry Pi 學Linux I2C Driver用Raspberry Pi 學Linux I2C Driver
用Raspberry Pi 學Linux I2C Driver
 
Part-1 : Mastering microcontroller with embedded driver development
Part-1 : Mastering microcontroller with embedded driver development Part-1 : Mastering microcontroller with embedded driver development
Part-1 : Mastering microcontroller with embedded driver development
 
SoC Design
SoC DesignSoC Design
SoC Design
 
LPC 1768 A study on Real Time clock features
LPC 1768 A study on Real Time clock featuresLPC 1768 A study on Real Time clock features
LPC 1768 A study on Real Time clock features
 
Soc architecture and design
Soc architecture and designSoc architecture and design
Soc architecture and design
 
Introduction to stm32-part2
Introduction to stm32-part2Introduction to stm32-part2
Introduction to stm32-part2
 
SOC Interconnects: AMBA & CoreConnect
SOC Interconnects: AMBA  & CoreConnectSOC Interconnects: AMBA  & CoreConnect
SOC Interconnects: AMBA & CoreConnect
 
Bootloaders
BootloadersBootloaders
Bootloaders
 
Programming ARM Cortex-M4 STM32 Nucleo
Programming ARM Cortex-M4  STM32 NucleoProgramming ARM Cortex-M4  STM32 Nucleo
Programming ARM Cortex-M4 STM32 Nucleo
 
ARM architcture
ARM architcture ARM architcture
ARM architcture
 
Microcontroller 8051
Microcontroller 8051Microcontroller 8051
Microcontroller 8051
 
PART-2 : Mastering RTOS FreeRTOS and STM32Fx with Debugging
PART-2 : Mastering RTOS FreeRTOS and STM32Fx with DebuggingPART-2 : Mastering RTOS FreeRTOS and STM32Fx with Debugging
PART-2 : Mastering RTOS FreeRTOS and STM32Fx with Debugging
 
Communication Protocols (UART, SPI,I2C)
Communication Protocols (UART, SPI,I2C)Communication Protocols (UART, SPI,I2C)
Communication Protocols (UART, SPI,I2C)
 
Spi drivers
Spi driversSpi drivers
Spi drivers
 

En vedette

Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...Linaro
 
Using SoC Vendor HALs in the Zephyr Project - SFO17-112
Using SoC Vendor HALs in the Zephyr Project - SFO17-112Using SoC Vendor HALs in the Zephyr Project - SFO17-112
Using SoC Vendor HALs in the Zephyr Project - SFO17-112Linaro
 
Preventing Linux in your car from killing you: The L4Re Open Source Microviso...
Preventing Linux in your car from killing you: The L4Re Open Source Microviso...Preventing Linux in your car from killing you: The L4Re Open Source Microviso...
Preventing Linux in your car from killing you: The L4Re Open Source Microviso...Linaro
 
Internet of Tiny Linux (IoTL): Episode IV - SFO17-100
Internet of Tiny Linux (IoTL): Episode IV  - SFO17-100Internet of Tiny Linux (IoTL): Episode IV  - SFO17-100
Internet of Tiny Linux (IoTL): Episode IV - SFO17-100Linaro
 
New Zephyr features: LWM2M / FOTA Framework - SFO17-113
New Zephyr features: LWM2M / FOTA Framework - SFO17-113New Zephyr features: LWM2M / FOTA Framework - SFO17-113
New Zephyr features: LWM2M / FOTA Framework - SFO17-113Linaro
 
BSD Sockets API in Zephyr RTOS - SFO17-108
BSD Sockets API in Zephyr RTOS - SFO17-108BSD Sockets API in Zephyr RTOS - SFO17-108
BSD Sockets API in Zephyr RTOS - SFO17-108Linaro
 

En vedette (6)

Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
 
Using SoC Vendor HALs in the Zephyr Project - SFO17-112
Using SoC Vendor HALs in the Zephyr Project - SFO17-112Using SoC Vendor HALs in the Zephyr Project - SFO17-112
Using SoC Vendor HALs in the Zephyr Project - SFO17-112
 
Preventing Linux in your car from killing you: The L4Re Open Source Microviso...
Preventing Linux in your car from killing you: The L4Re Open Source Microviso...Preventing Linux in your car from killing you: The L4Re Open Source Microviso...
Preventing Linux in your car from killing you: The L4Re Open Source Microviso...
 
Internet of Tiny Linux (IoTL): Episode IV - SFO17-100
Internet of Tiny Linux (IoTL): Episode IV  - SFO17-100Internet of Tiny Linux (IoTL): Episode IV  - SFO17-100
Internet of Tiny Linux (IoTL): Episode IV - SFO17-100
 
New Zephyr features: LWM2M / FOTA Framework - SFO17-113
New Zephyr features: LWM2M / FOTA Framework - SFO17-113New Zephyr features: LWM2M / FOTA Framework - SFO17-113
New Zephyr features: LWM2M / FOTA Framework - SFO17-113
 
BSD Sockets API in Zephyr RTOS - SFO17-108
BSD Sockets API in Zephyr RTOS - SFO17-108BSD Sockets API in Zephyr RTOS - SFO17-108
BSD Sockets API in Zephyr RTOS - SFO17-108
 

Similaire à Deploy STM32 family on Zephyr - SFO17-102

LAS16-210: Hardware Assisted Tracing on ARM with CoreSight and OpenCSD
LAS16-210: Hardware Assisted Tracing on ARM with CoreSight and OpenCSDLAS16-210: Hardware Assisted Tracing on ARM with CoreSight and OpenCSD
LAS16-210: Hardware Assisted Tracing on ARM with CoreSight and OpenCSDLinaro
 
Introduction to FreeRTOS
Introduction to FreeRTOSIntroduction to FreeRTOS
Introduction to FreeRTOSICS
 
Trends in Systems and How to Get Efficient Performance
Trends in Systems and How to Get Efficient PerformanceTrends in Systems and How to Get Efficient Performance
Trends in Systems and How to Get Efficient Performanceinside-BigData.com
 
Track 5 session 5 - st dev con 2016 - stm32 hands on seminar - cloud connec...
Track 5   session 5 - st dev con 2016 - stm32 hands on seminar - cloud connec...Track 5   session 5 - st dev con 2016 - stm32 hands on seminar - cloud connec...
Track 5 session 5 - st dev con 2016 - stm32 hands on seminar - cloud connec...ST_World
 
First Steps Developing Embedded Applications using Heterogeneous Multi-core P...
First Steps Developing Embedded Applications using Heterogeneous Multi-core P...First Steps Developing Embedded Applications using Heterogeneous Multi-core P...
First Steps Developing Embedded Applications using Heterogeneous Multi-core P...Toradex
 
MTE104-L2: Overview of Microcontrollers
MTE104-L2: Overview of MicrocontrollersMTE104-L2: Overview of Microcontrollers
MTE104-L2: Overview of MicrocontrollersAbdalla Ahmed
 
Tizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
Tizen RT: A Lightweight RTOS Platform for Low-End IoT DevicesTizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
Tizen RT: A Lightweight RTOS Platform for Low-End IoT DevicesSamsung Open Source Group
 
Stm32 f4 first touch
Stm32 f4 first touchStm32 f4 first touch
Stm32 f4 first touchBenux Wei
 
Heterogeneous multiprocessing on androd and i.mx7
Heterogeneous multiprocessing on androd and i.mx7Heterogeneous multiprocessing on androd and i.mx7
Heterogeneous multiprocessing on androd and i.mx7Kynetics
 
Softcore processor.pptxSoftcore processor.pptxSoftcore processor.pptx
Softcore processor.pptxSoftcore processor.pptxSoftcore processor.pptxSoftcore processor.pptxSoftcore processor.pptxSoftcore processor.pptx
Softcore processor.pptxSoftcore processor.pptxSoftcore processor.pptxSnehaLatha68
 
Newbie’s guide to_the_gpgpu_universe
Newbie’s guide to_the_gpgpu_universeNewbie’s guide to_the_gpgpu_universe
Newbie’s guide to_the_gpgpu_universeOfer Rosenberg
 
2nd ARM Developer Day - NXP USB Workshop
2nd ARM Developer Day - NXP USB Workshop2nd ARM Developer Day - NXP USB Workshop
2nd ARM Developer Day - NXP USB WorkshopAntonio Mondragon
 
Linux Conference Australia 2018 : Device Tree, past, present, future
Linux Conference Australia 2018 : Device Tree, past, present, futureLinux Conference Australia 2018 : Device Tree, past, present, future
Linux Conference Australia 2018 : Device Tree, past, present, futureNeil Armstrong
 
Challenges in GPU compilers
Challenges in GPU compilersChallenges in GPU compilers
Challenges in GPU compilersAnastasiaStulova
 
AI Hardware Landscape 2021
AI Hardware Landscape 2021AI Hardware Landscape 2021
AI Hardware Landscape 2021Grigory Sapunov
 
Iot Bootcamp - abridged - part 1
Iot Bootcamp - abridged - part 1Iot Bootcamp - abridged - part 1
Iot Bootcamp - abridged - part 1Marcus Tarquinio
 
microcontrollersstm32wlseriesproductwebinarpresentation1625231766205.pdf
microcontrollersstm32wlseriesproductwebinarpresentation1625231766205.pdfmicrocontrollersstm32wlseriesproductwebinarpresentation1625231766205.pdf
microcontrollersstm32wlseriesproductwebinarpresentation1625231766205.pdfadfadfadf
 

Similaire à Deploy STM32 family on Zephyr - SFO17-102 (20)

LAS16-210: Hardware Assisted Tracing on ARM with CoreSight and OpenCSD
LAS16-210: Hardware Assisted Tracing on ARM with CoreSight and OpenCSDLAS16-210: Hardware Assisted Tracing on ARM with CoreSight and OpenCSD
LAS16-210: Hardware Assisted Tracing on ARM with CoreSight and OpenCSD
 
Introduction to FreeRTOS
Introduction to FreeRTOSIntroduction to FreeRTOS
Introduction to FreeRTOS
 
STM -32
STM -32STM -32
STM -32
 
learning STM -32
learning STM -32 learning STM -32
learning STM -32
 
Trends in Systems and How to Get Efficient Performance
Trends in Systems and How to Get Efficient PerformanceTrends in Systems and How to Get Efficient Performance
Trends in Systems and How to Get Efficient Performance
 
Track 5 session 5 - st dev con 2016 - stm32 hands on seminar - cloud connec...
Track 5   session 5 - st dev con 2016 - stm32 hands on seminar - cloud connec...Track 5   session 5 - st dev con 2016 - stm32 hands on seminar - cloud connec...
Track 5 session 5 - st dev con 2016 - stm32 hands on seminar - cloud connec...
 
First Steps Developing Embedded Applications using Heterogeneous Multi-core P...
First Steps Developing Embedded Applications using Heterogeneous Multi-core P...First Steps Developing Embedded Applications using Heterogeneous Multi-core P...
First Steps Developing Embedded Applications using Heterogeneous Multi-core P...
 
MTE104-L2: Overview of Microcontrollers
MTE104-L2: Overview of MicrocontrollersMTE104-L2: Overview of Microcontrollers
MTE104-L2: Overview of Microcontrollers
 
Tizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
Tizen RT: A Lightweight RTOS Platform for Low-End IoT DevicesTizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
Tizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
 
Stm32 f4 first touch
Stm32 f4 first touchStm32 f4 first touch
Stm32 f4 first touch
 
Heterogeneous multiprocessing on androd and i.mx7
Heterogeneous multiprocessing on androd and i.mx7Heterogeneous multiprocessing on androd and i.mx7
Heterogeneous multiprocessing on androd and i.mx7
 
Softcore processor.pptxSoftcore processor.pptxSoftcore processor.pptx
Softcore processor.pptxSoftcore processor.pptxSoftcore processor.pptxSoftcore processor.pptxSoftcore processor.pptxSoftcore processor.pptx
Softcore processor.pptxSoftcore processor.pptxSoftcore processor.pptx
 
Newbie’s guide to_the_gpgpu_universe
Newbie’s guide to_the_gpgpu_universeNewbie’s guide to_the_gpgpu_universe
Newbie’s guide to_the_gpgpu_universe
 
Hardware hacking
Hardware hackingHardware hacking
Hardware hacking
 
2nd ARM Developer Day - NXP USB Workshop
2nd ARM Developer Day - NXP USB Workshop2nd ARM Developer Day - NXP USB Workshop
2nd ARM Developer Day - NXP USB Workshop
 
Linux Conference Australia 2018 : Device Tree, past, present, future
Linux Conference Australia 2018 : Device Tree, past, present, futureLinux Conference Australia 2018 : Device Tree, past, present, future
Linux Conference Australia 2018 : Device Tree, past, present, future
 
Challenges in GPU compilers
Challenges in GPU compilersChallenges in GPU compilers
Challenges in GPU compilers
 
AI Hardware Landscape 2021
AI Hardware Landscape 2021AI Hardware Landscape 2021
AI Hardware Landscape 2021
 
Iot Bootcamp - abridged - part 1
Iot Bootcamp - abridged - part 1Iot Bootcamp - abridged - part 1
Iot Bootcamp - abridged - part 1
 
microcontrollersstm32wlseriesproductwebinarpresentation1625231766205.pdf
microcontrollersstm32wlseriesproductwebinarpresentation1625231766205.pdfmicrocontrollersstm32wlseriesproductwebinarpresentation1625231766205.pdf
microcontrollersstm32wlseriesproductwebinarpresentation1625231766205.pdf
 

Plus de Linaro

Deep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea GalloDeep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea GalloLinaro
 
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta VekariaArm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta VekariaLinaro
 
Huawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
Huawei’s requirements for the ARM based HPC solution readiness - Joshua MoraHuawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
Huawei’s requirements for the ARM based HPC solution readiness - Joshua MoraLinaro
 
Bud17 113: distribution ci using qemu and open qa
Bud17 113: distribution ci using qemu and open qaBud17 113: distribution ci using qemu and open qa
Bud17 113: distribution ci using qemu and open qaLinaro
 
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018Linaro
 
HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018Linaro
 
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...Linaro
 
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...Linaro
 
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...Linaro
 
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...Linaro
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineLinaro
 
HKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening KeynoteHKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening KeynoteLinaro
 
HKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP WorkshopHKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP WorkshopLinaro
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineLinaro
 
HKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and allHKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and allLinaro
 
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorHKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorLinaro
 
HKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMUHKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMULinaro
 
HKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8MHKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8MLinaro
 
HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation Linaro
 
HKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted bootHKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted bootLinaro
 

Plus de Linaro (20)

Deep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea GalloDeep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea Gallo
 
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta VekariaArm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
 
Huawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
Huawei’s requirements for the ARM based HPC solution readiness - Joshua MoraHuawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
Huawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
 
Bud17 113: distribution ci using qemu and open qa
Bud17 113: distribution ci using qemu and open qaBud17 113: distribution ci using qemu and open qa
Bud17 113: distribution ci using qemu and open qa
 
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
 
HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018
 
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
 
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
 
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
 
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
 
HKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening KeynoteHKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening Keynote
 
HKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP WorkshopHKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP Workshop
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
 
HKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and allHKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and all
 
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorHKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
 
HKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMUHKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMU
 
HKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8MHKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8M
 
HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation
 
HKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted bootHKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted boot
 

Dernier

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 

Dernier (20)

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

Deploy STM32 family on Zephyr - SFO17-102

  • 1. Deploy STM32 family on Zephyr Erwan Gouriou
  • 2. ENGINEERS AND DEVICES WORKING TOGETHER Plan ● A glance at STM32 ecosystem ● STM32 porting on Zephyr ● Device tree concept applied to STM32 family ● What’s next for STM32 in Zephyr
  • 4. ENGINEERS AND DEVICES WORKING TOGETHER Quick outlook on STM32 SoC family ● Cortex-M based MCUs ● More than 700 SoC part numbers ● Split in 10 series ● STM32 family keeps evolving and more to come… ● http://www.st.com/en/microcontrollers /stm32-32-bit-arm-cortex-mcus.html ● «MCU finder» utility: ●http://www.st.com/en/development-tool s/st-mcu-finder.html
  • 5. ENGINEERS AND DEVICES WORKING TOGETHER STM32 MCU naming convention STM32 F 0 3 Family STM32 Cortex 32bit Lines : 0 Value 1 Access 2 USB 3 --- 4 --- 5 OTG 6 LCD/TFT+OTG 7 Ethernet 8 Regulator off 9 LCD TFT Sub-Lines: 0 --- 1 --- 2 --- 3 --- Small die 4 --- 5 --- Medium die 6 --- 7 --- Big die 8 --- 9 --- High integration Product type F Foundation L Ultra-low-power H High performance A higher number means a richer configuration! 1 R Flash size (Kbytes) : 4 16 6 32 8 64 B 128 C 256 D 384 E 512 F 768 G 1024 H 1536 I 2048 B Package: F 20 pins G 28 pins K 32 pins T 36 pins S 44 pins C 48 pins R 64, 66 pins M 80 pins O 90 pins Series Number: 0 Cortex-M0 1 Cortex-M3 2 Cortex-M3 3 Cortex-M4 4 Cortex-M4 7 Cortex-M7
  • 6. ENGINEERS AND DEVICES WORKING TOGETHER Focus on B-L475E-IOT01A (disco_l475_iot1) STM32L475 SoC: Low power, 80MHz 1Mbit flash 128 kRAM Inventek ISM43362-M3G: Wi-Fi Module M24SR: NFC Module VLX53L0X: Time of Flight and gesture recognition HTS221: Humidity and Temperature USB OTG Arduino V3 connector SPSGRF:Sub-GHz Module 64MBit Quad-SPI Flash MP34DT01: Omnidirectionnal mic (x2) SPBTLE-RF: BT Module LIS3MDL: 3-Axis magnetometer LPS22HB: Barometer LMS6DSL: 3D accelerometer and gyroscope Connectivity Sensing MCU Status: Upstreamed In progress
  • 7. ENGINEERS AND DEVICES WORKING TOGETHER STM32Cube: Embedded Software for STM32 http://www.st.com/en/embedded-software/stm32cube-embedded-software.html
  • 8. ENGINEERS AND DEVICES WORKING TOGETHER STM32Cube APIs: HAL vs LL ● HAL (Hardware Abstraction Layers): ○ High level and functional abstraction ○ 100% coverage of all peripherals ○ Good match for complex drivers such as USB, Ethernet, .. ○ Higher portability => bigger software footprints, more time running adaptation code => Less optimized ● LL (Low-Layers): ○ Light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency ○ Register level access library. Do not use global variables. Atomic operations ○ Fit for most zephyr drivers and allows to build stm32 generic lightweight drivers. ○ Perfect fit for “simple IPs” drivers ● HAL/LL could be used together in a single driver
  • 9. ENGINEERS AND DEVICES WORKING TOGETHER Main STM32Cube benefit: Abstraction ● Usual prejudices on HAL: ○ Size, sub optimization ○ coding style… ● Usual pro-HAL arguments are: ○ Avoid re-inventing the wheel, allow to save time… ○ Thoroughly maintained and validated, help developing more mature drivers ● Abstraction capability breaks silos between series/re-inforces cooperation ○ Focussed competencies: more users and more reviewers on a single driver ○ More minds: more performant drivers ○ Reduce work duplication: faster increase of driver support ○ Less code: maintenance effort is reduced.
  • 11. ENGINEERS AND DEVICES WORKING TOGETHER STM32Cube: Integration in Zephyr ext/hal/st/stm32cubearch/arm/soc/st_stm32/ ○ stm32f1xx/ ○ stm32f3xx/ ■ drivers/ (HAL and LL) ● include/ ● src/ ■ soc / (CMSIS Files: stm32f303x8.h) ■ README ○ stm32f4xx ○ … ● Maintained and updated at each Zephyr DV (at least) ● STM32Cube, as an external library, should not be modified ● But: in case of genuine STM32Cube bug: ○ Report to STM32Cube Zephyr maintainer (issue will be raised in ST bugtracker) ○ Fix issue in a separate PR. Document README (ST Bug ref / Impacted files) ○ Reported issues are taken into account / Don’t hesitate to report issues!
  • 12. ENGINEERS AND DEVICES WORKING TOGETHER How to: Introduce a new LL/HAL based driver ● HAL or LL? ○ Driver complexity? ○ Acceptable footprint? ○ Supported features? ○ Validation effort? ● Maximize code reuse ○ Use CMSIS defines ● Adapt code structure to IP diversity ○ Factorise as much as possible. Examples => Small variations within family: spi_ll_stm32.c (use of #ifdef’s) 2 different IPs in whole family (v1/v2): i2c_ll_stm32.c i2c_ll_stm32_v1.c (I2C V1: F1/F2/F4/L1) i2c_ll_stm32_v2.c (I2C V2: F0/F3/F7/L4) Important heterogeneity: stm32_ll_clock.c stm32f1x_ll_clock.c (F1 series) stm32f3x_ll_clock.c (F3 series) … ● Lot of HAL/LL examples in stm32cube packages ● Community support on https://community.st.com
  • 13. ENGINEERS AND DEVICES WORKING TOGETHER STM32 MCU porting: Minimize code duplication ● Code organized per series ● In each series: ○ MCUspecific info (number of IRQ, SoC refence) is stored under Kconfig.defconfig.stm32yyyxx ○ Series Kconfig are defined ● New: “st_stm32/common”: ○ introduced to factorize cross-series code (MPU code for now) ● MCU specific code: ○ further optimized with device tree arch/arm/soc/st_stm32 ○ common (new! More code to be put here) ○ stm32f1 ■ Kconfig.defconfig.stm32f103xx ■ Kconfig.defconfig.stm32f107xc ■ … ○ …. ○ stm32l4
  • 14. ENGINEERS AND DEVICES WORKING TOGETHER Device tree concept applied to STM32 family
  • 15. ENGINEERS AND DEVICES WORKING TOGETHER STM32 device tree: Zephyr vs Linux (1/2) ● STM32 dts files deployed in Zephyr and Linux in parallel ● Long term goal: Common repo ● No dependency today ● Respective evolutions monitored and controlled ○ Divergence points are listed ○ Regular alignments done ○ Linux kernel STM32 machine maintainer is reviewer of STM32 Zephyr dts PRs ● Today, alignments are only done in one way: ○ Linux => Zephyr ● Once device tree will be stabilized in Zephyr: ○ Linux <=> Zephyr
  • 16. ENGINEERS AND DEVICES WORKING TOGETHER STM32 device tree: Zephyr vs Linux (2/2) ● Known Issues (and current solutions): ○ Properties: ■ Different drivers > Different properties ■ Current solution: Use of string prefix “zephyr,” (Eg: “zephyr,bt-uart”) ○ Bindings: ■ Different drivers > Different bindings ■ Current solution: Use same paths/same file names but different #define ○ Supported set of SoCs: More MCUs in Zephyr (in which Linux won’t fit) ■ => MCU with smallest configuration is different ■ Current answer is to use generic stm32XX.dtsi files to store this minimum configuration
  • 17. ENGINEERS AND DEVICES WORKING TOGETHER STM32 device tree organization stm32f4.dtsi soc{ rcc pinctrl uart1 uart2 … i2c1 i2c2} stm32f4-pinctrl.dtsi soc {pinctrl { usart1_pin_a{ tx =, rx=} usart2_pin_a{ …} … i2c1_pin_a i2c2_pin_b}} armv7-m.dtsi stm32f401.dtsi stm32f407.dtsi soc{ usart3 uart4 uart5} stm32f407-pinctrl.dtsi soc{ pinctrl{ usart3_pin_a uart4_pin_a uart5_pin_a}} …
  • 18. ENGINEERS AND DEVICES WORKING TOGETHER What’s next for STM32 in Zephyr ●Keep extending STM32 drivers support ●Complete STM32 code factorization (still some duplicated code between series) ●Expand connectivity support for disco IoT board ○Wi-Fi support ○Sub-GHZ ○NFC… ○USB
  • 20. ENGINEERS AND DEVICES WORKING TOGETHER STM32 prototyping boards and shields
  • 21. ENGINEERS AND DEVICES WORKING TOGETHER Status on STM32 presence in Zephyr (17’09) • 4 series present (F1, F3, F4, L4) • 21 SoCs ported • 22 Boards available GPIO/ Pinmux RCC UART I2C SPI RNG PWM Flash DMA EXTI ETH stm32f1 4 socs 4 boards Z LL HAL/LL LL LL LL HAL NA NA Z NA stm32f3 3 socs 3 boards Z LL HAL/LL LL LL LL HAL Z NA Z NA stm32f4 10 socs 11 boards Z LL HAL/LL LL LL LL HAL Z Z Z HAL stm32l4 4 socs 4 boards Z LL HAL/LL LL LL LL HAL Z NA Z NA Available Issues reported Z: Zephyr native LL: Based on STM32CUBE LL HAL: Based on STM32CUBE HAL Legend:
  • 22. ENGINEERS AND DEVICES WORKING TOGETHER Zephyr STM32 Misc • BT available with X-Nucleo shield or embedded on Disco IoT Board • Activate with CONFIG_BT_SPI_BLUENRG
  • 23. Thank You Contact: erwan.gouriou@linaro.org #SFO17 SFO17 keynotes and videos on: connect.linaro.org For further information: www.linaro.org