Embedded Software Strategy and Development - Xilinx · 2020. 8. 11. · Title: Embedded Software...
Transcript of Embedded Software Strategy and Development - Xilinx · 2020. 8. 11. · Title: Embedded Software...
![Page 1: Embedded Software Strategy and Development - Xilinx · 2020. 8. 11. · Title: Embedded Software Strategy and Development Author: Jeffrey Myers Created Date: 12/18/2018 2:15:38 PM](https://reader035.fdocuments.us/reader035/viewer/2022062508/5fe9bb21aac7864d2a7f7425/html5/thumbnails/1.jpg)
© Copyright 2018 Xilinx
Presented By
Tony McDowell
System Software & SoC Solutions – Product and Technical Marketing
Embedded Software Strategy &
Development
![Page 2: Embedded Software Strategy and Development - Xilinx · 2020. 8. 11. · Title: Embedded Software Strategy and Development Author: Jeffrey Myers Created Date: 12/18/2018 2:15:38 PM](https://reader035.fdocuments.us/reader035/viewer/2022062508/5fe9bb21aac7864d2a7f7425/html5/thumbnails/2.jpg)
© Copyright 2018 Xilinx
If Microsoft ever does applications for
Linux it means I've won.
-Linus Torvalds, 1998
When software developers drive
hardware design it means adaptable
SoC’s have won.
-Xilinx, 2018
![Page 3: Embedded Software Strategy and Development - Xilinx · 2020. 8. 11. · Title: Embedded Software Strategy and Development Author: Jeffrey Myers Created Date: 12/18/2018 2:15:38 PM](https://reader035.fdocuments.us/reader035/viewer/2022062508/5fe9bb21aac7864d2a7f7425/html5/thumbnails/3.jpg)
© Copyright 2018 Xilinx
ARM Cortex-A72
PSM - Services
Hypervisor (Optional)
AI
Engine
Loader ROM
ARM Cortex-R5
PMC Loader Firmware
PMC - Services
ARM Trusted Firmware
U-Boot
Linux
NoC PLPMC /
PSM
ARM Cortex-A53
Hypervisor (Optional)
BootROM
ARM Cortex-R5
FSBL
PMU Firmware
ARM Trusted Firmware
U-Boot
Linux
PL GPU PMU
ARM Cortex-A9
BootROM
FSBL
U-Boot
Linux
Programmable Logic
![Page 4: Embedded Software Strategy and Development - Xilinx · 2020. 8. 11. · Title: Embedded Software Strategy and Development Author: Jeffrey Myers Created Date: 12/18/2018 2:15:38 PM](https://reader035.fdocuments.us/reader035/viewer/2022062508/5fe9bb21aac7864d2a7f7425/html5/thumbnails/4.jpg)
© Copyright 2018 Xilinx
How Do You Want to Do This?
______ _ _ _ | ___ \ | | | | (_) | |_/ /__| |_ __ _| | _ _ __ _ ___ __| __/ _ \ __/ _` | | | | '_ \| | | \ \/ /| | | __/ || (_| | |___| | | | | |_| |> < \_| \___|\__\__,_\_____/_|_| |_|\__,_/_/\_\
fetch build integrate package
deploy
![Page 5: Embedded Software Strategy and Development - Xilinx · 2020. 8. 11. · Title: Embedded Software Strategy and Development Author: Jeffrey Myers Created Date: 12/18/2018 2:15:38 PM](https://reader035.fdocuments.us/reader035/viewer/2022062508/5fe9bb21aac7864d2a7f7425/html5/thumbnails/5.jpg)
© Copyright 2018 Xilinx
˃ GitHub.com/Xilinx
˃ Nearly 100 repositories
˃ All of our embedded software stack
˃ All of our Yocto recipes
˃ Scripts for Vivado
˃ Tutorials and Examples
Open and Public Code
![Page 6: Embedded Software Strategy and Development - Xilinx · 2020. 8. 11. · Title: Embedded Software Strategy and Development Author: Jeffrey Myers Created Date: 12/18/2018 2:15:38 PM](https://reader035.fdocuments.us/reader035/viewer/2022062508/5fe9bb21aac7864d2a7f7425/html5/thumbnails/6.jpg)
© Copyright 2018 Xilinx
ATF v1.6
v2019.01
v4.11
v2.6 (Thud)
v4.19
The same for every device family!
Staying Up-to-Date
![Page 7: Embedded Software Strategy and Development - Xilinx · 2020. 8. 11. · Title: Embedded Software Strategy and Development Author: Jeffrey Myers Created Date: 12/18/2018 2:15:38 PM](https://reader035.fdocuments.us/reader035/viewer/2022062508/5fe9bb21aac7864d2a7f7425/html5/thumbnails/7.jpg)
© Copyright 2018 Xilinx
Rebase Kernel Tree
˃ Merge-Tree
Merges two separate branches into a single new branch going forward
Lose the history of what was different between the branches
˃ Rebase Tree
Creates a series of patches that can be applied cleanly to the HEAD node
Maintain history of development in the separate development paths
˃ Single upstream kernel version per year
˃ Rebase patchsets with Vivado releases
˃ Rolling merge tree
![Page 8: Embedded Software Strategy and Development - Xilinx · 2020. 8. 11. · Title: Embedded Software Strategy and Development Author: Jeffrey Myers Created Date: 12/18/2018 2:15:38 PM](https://reader035.fdocuments.us/reader035/viewer/2022062508/5fe9bb21aac7864d2a7f7425/html5/thumbnails/8.jpg)
© Copyright 2018 Xilinx
Compilers and Toolchains
˃ AArch32 – ARMv7 – Zynq-7000
˃ AArch64 – ARMv8 – Zynq UltraScale+, Versal
˃ Cortex-R5 – ARMv7 – Zynq UltraScale+, Versal
Linaro GCC 7.3.1
˃ MicroBlaze – MMU / Linux Configuration
˃ MicroBlaze – Microcontroller Configuration
crosstool-NG GCC 7.3.1
GCC 8 Support in 2019
![Page 9: Embedded Software Strategy and Development - Xilinx · 2020. 8. 11. · Title: Embedded Software Strategy and Development Author: Jeffrey Myers Created Date: 12/18/2018 2:15:38 PM](https://reader035.fdocuments.us/reader035/viewer/2022062508/5fe9bb21aac7864d2a7f7425/html5/thumbnails/9.jpg)
© Copyright 2018 Xilinx
Enabling Yocto
˃ meta-xilinx – BSP support for Xilinx device families
˃ meta-xilinx-tools – Yocto infrastructure to interface with Xilinx tools
˃ meta-petalinux – Infrastructure to replicate the default PetaLinux root filesystem
![Page 10: Embedded Software Strategy and Development - Xilinx · 2020. 8. 11. · Title: Embedded Software Strategy and Development Author: Jeffrey Myers Created Date: 12/18/2018 2:15:38 PM](https://reader035.fdocuments.us/reader035/viewer/2022062508/5fe9bb21aac7864d2a7f7425/html5/thumbnails/10.jpg)
© Copyright 2018 Xilinx
GitHub Sources
meta-xilinx
meta-xilinx-tools
meta-petalinux
Integrating with Yocto
![Page 11: Embedded Software Strategy and Development - Xilinx · 2020. 8. 11. · Title: Embedded Software Strategy and Development Author: Jeffrey Myers Created Date: 12/18/2018 2:15:38 PM](https://reader035.fdocuments.us/reader035/viewer/2022062508/5fe9bb21aac7864d2a7f7425/html5/thumbnails/11.jpg)
© Copyright 2018 Xilinx
Abstracting Yocto
______ _ _ _ | ___ \ | | | | (_) | |_/ /__| |_ __ _| | _ _ __ _ ___ __| __/ _ \ __/ _` | | | | '_ \| | | \ \/ /| | | __/ || (_| | |___| | | | | |_| |> < \_| \___|\__\__,_\_____/_|_| |_|\__,_/_/\_\
D
T
S
export deploy
ab
stra
cte
d
![Page 12: Embedded Software Strategy and Development - Xilinx · 2020. 8. 11. · Title: Embedded Software Strategy and Development Author: Jeffrey Myers Created Date: 12/18/2018 2:15:38 PM](https://reader035.fdocuments.us/reader035/viewer/2022062508/5fe9bb21aac7864d2a7f7425/html5/thumbnails/12.jpg)
© Copyright 2018 Xilinx
˃Working toward certifiability˃Reducing code Size
˃Dom0-less boot ˃Automatic static partitioning
Multiprocessing with Xen
![Page 13: Embedded Software Strategy and Development - Xilinx · 2020. 8. 11. · Title: Embedded Software Strategy and Development Author: Jeffrey Myers Created Date: 12/18/2018 2:15:38 PM](https://reader035.fdocuments.us/reader035/viewer/2022062508/5fe9bb21aac7864d2a7f7425/html5/thumbnails/13.jpg)
© Copyright 2018 Xilinx
Jailhouse on Zynq UltraScale+ MPSoC
˃ Done by Xilinx partner ENEA
˃ Runs on standard SMP Linux
without PREEMPT_RT
˃ Small and fast (<10k LoC)
˃ Simplifies running bare-metal
code on Linux systems
![Page 14: Embedded Software Strategy and Development - Xilinx · 2020. 8. 11. · Title: Embedded Software Strategy and Development Author: Jeffrey Myers Created Date: 12/18/2018 2:15:38 PM](https://reader035.fdocuments.us/reader035/viewer/2022062508/5fe9bb21aac7864d2a7f7425/html5/thumbnails/14.jpg)
© Copyright 2018 Xilinx
OpenAMP and Interprocessor Comms
˃ Built on standard remoteproc and rpmsg infrastructure
˃ Open and public on GitHub.com/OpenAMP
Master
Core
Linux
RTOS / Bare-
Metal
Remote
Core
rpmsg
OpenAMPremoteproc /
rpmsg
remoteproc
Remote
Core
Linux
RTOS / Bare-
Metal
Master
Core
rpmsg
OpenAMPremoteproc /
rpmsg
Master
Core
RTOS / Bare-
Metal
RTOS / Bare-
Metal
Remote
Core
rpmsg
OpenAMPOpenAMP
![Page 15: Embedded Software Strategy and Development - Xilinx · 2020. 8. 11. · Title: Embedded Software Strategy and Development Author: Jeffrey Myers Created Date: 12/18/2018 2:15:38 PM](https://reader035.fdocuments.us/reader035/viewer/2022062508/5fe9bb21aac7864d2a7f7425/html5/thumbnails/15.jpg)
© Copyright 2018 Xilinx
FPGA Manager
Programmable
Logic
Internal
Programming
Interface
(PCAP)
ATFPMUFW
XilFPGALinux
$ /sys/class/fpga_manager/fpga0/
![Page 16: Embedded Software Strategy and Development - Xilinx · 2020. 8. 11. · Title: Embedded Software Strategy and Development Author: Jeffrey Myers Created Date: 12/18/2018 2:15:38 PM](https://reader035.fdocuments.us/reader035/viewer/2022062508/5fe9bb21aac7864d2a7f7425/html5/thumbnails/16.jpg)
© Copyright 2018 Xilinx
Xilinx Wiki
Open Support
Mailing Lists
Xilinx Forums
Xilinx KB
Community
Portal
![Page 17: Embedded Software Strategy and Development - Xilinx · 2020. 8. 11. · Title: Embedded Software Strategy and Development Author: Jeffrey Myers Created Date: 12/18/2018 2:15:38 PM](https://reader035.fdocuments.us/reader035/viewer/2022062508/5fe9bb21aac7864d2a7f7425/html5/thumbnails/17.jpg)
© Copyright 2018 Xilinx
New Community Portal
˃ Xilinx.com/community
˃ Centralized Clearinghouse
References other resources, doesn’t replace them
˃ Increasing number of developers use Open
Source Content
Converge content and make navigation to desired location easier
˃ Xilinx has lots of Open Source content to
filter
GitHub, AWS, Wiki, Ultra96
![Page 18: Embedded Software Strategy and Development - Xilinx · 2020. 8. 11. · Title: Embedded Software Strategy and Development Author: Jeffrey Myers Created Date: 12/18/2018 2:15:38 PM](https://reader035.fdocuments.us/reader035/viewer/2022062508/5fe9bb21aac7864d2a7f7425/html5/thumbnails/18.jpg)
© Copyright 2018 Xilinx
One more thing…
![Page 19: Embedded Software Strategy and Development - Xilinx · 2020. 8. 11. · Title: Embedded Software Strategy and Development Author: Jeffrey Myers Created Date: 12/18/2018 2:15:38 PM](https://reader035.fdocuments.us/reader035/viewer/2022062508/5fe9bb21aac7864d2a7f7425/html5/thumbnails/19.jpg)
© Copyright 2018 Xilinx
Project A
2019.1
SW
Components A
Project A
2019.2
SW
Components A
Interchange
Vivado Open
FormatPetaLinux
D
S
A XSCT
2019.X+
Vivado
D
S
APetaLinux
T
C
L
Decoupled from Vivado
Tightly coupled with Vivado
2018.3
rootfs
2019.x
kernelUpdate
U-boot
FSBL
bitstream
rootfs
2019.x+
kernel
U-boot
FSBL
bitstream
Package Update
Package Repo
Decoupling PetaLinux Projects
Decoupling Runtime Components
Decoupling Linux from Vivado
Decoupling Packages from Each Other
![Page 20: Embedded Software Strategy and Development - Xilinx · 2020. 8. 11. · Title: Embedded Software Strategy and Development Author: Jeffrey Myers Created Date: 12/18/2018 2:15:38 PM](https://reader035.fdocuments.us/reader035/viewer/2022062508/5fe9bb21aac7864d2a7f7425/html5/thumbnails/20.jpg)
© Copyright 2018 Xilinx