Kayıtlar

KV260 Kria Starter Kit Series: 4 - Petalinux BRAM Application

KV260 Kria Starter Kit Series: 3 makalesindeki Vivado projesinde bazı değişiklikler yapıldı. Interrupt kontroller yerine BRAM Controller ve BRAM generator kullanıldı. Bu uygulamanın amacı bir Block RAM donanımı kurup onun adresini istediğimiz gibi ayarlamak ve bu adrese Linux User Space'de Vitis uygulamamızı çalıştırarak bir data yazmak ve onu geri okumak. Vivado projesi oluşturma, Platform oluşturma  vs donanım tasarım işleri önceki makale ile aynı prosedürde yapıldı. Sadece biraz tasarım farklılığı var. Bunun dışında Petalinux ile proje oluşturma, rootfs, sysroot, dtsi vs oluşturma adımları da aynı yalnız pl.dtsi dosyası açılıp bir kontrol edilir ve PL tasarımı device tree dosyasına yansımış mı diye kontrol edilir: /*  * CAUTION: This file is automatically generated by Xilinx.  * Version: XSCT 2022.1  * Today is: Sun Aug 18 10:08:02 2024  */ /dts-v1/ ; /plugin/ ; / {     fragment @ 0 {         target = <& fpga_full > ;         overlay0 : __overlay__ {             #

KV260 Kria Starter Kit Series: 3 - Petalinux Install and Boot

Resim
Blog serimizin ilk iki paylaşımında KV260 Kria Board'u ayaga kaldırma ve Ubuntu OS calıstırma işlemini gerçekleştirmiştik. Uygulama olarak da Smartcam isimli Xilinx tarafınadan hazır şekilde saglanan bir uygulamayı Ubuntu OS üzerinde başarılı bir şekilde çalıştırmıştık. Bu çalışmalar board'un yeteneklerini keifetmek için giriş adımlarımızdı. Şimdi ise esas konuya gelelim. Yani bir Embedded System geliştiricisinin veya HW/SW sistem geliştiricisinin ilgisini daha çok çekecek bir konu var. K26 SOM kartında bulunan MPSoC'nin yeteneklerinden maksimum ölçüde faydalanabilmek için PL tarafını ayrı PS tarafını ayrı kendi tasarımlarımızla şekillendirelim. Bunu yaparken Xilinx'in sunduğu Linux kernel kullanarak Xilinx'in hazırladığı BSP'lerle derlenen bir işletim sistemi: PETALINUX. Xilinx kendisi bu işletim sisteminin yapısından şu şekilde bahsediyor: Device tree First stage boot loader (optional) U-Boot Linux kernel The root file system is composed of the following comp

KV260 Kria Starter Kit Series: 0 - Xilinx Ultrascale+ MPSoC Software Stack

Resim
Xilinx'in SoC ürünlerine bir göz attığımızda software stack karşılaştırması aşağıdaki figürden [1] okunabilir. Burada benim adıma en dikkat çeken fark ZYNQ SoC ile ZYNQ US+ ürünleri arasındaki fark. ZYNQ için örnek ZYNQ-7000 serisi ZYNQ US+ için MPSoC US+ SoC ürünlerini düşünebiliriz. Bunlar en sık karşımıza çıkan ürünler endüstride. US+ serisi software stack elementi olarak fazladan PMU Firmware ve ARM Trusted Firmware katmanlarına sahip. Bu da Petalinux derlemesi sırasında farklı adımları karşımıza çıkarıyor zaten. Linteki dökümanda belirtilen fark şu şekilde: "For Zynq® UltraScale+™ MPSoC platform, you need to boot with the Platform Management Unit (PMU) firmware and Arm Trusted Firmware(TF-A). See Appendix D: Generating Boot Components for building PMU firmware and TF-A. If you want a first stage boot loader (FSBL) built for Cortex®-R5F boot, you have to build it with the Vitis™ software platform because the FSBL built with PetaLinux tools is for Cortex-A53 boot. For detai

KV260 Kria Starter Kit Series: 4 - Smartcam Application (Petalinux )

Referans Tutorial :  https://xilinx.github.io/kria-apps-docs/kv260/2021.1/build/html/docs/smartcamera/smartcamera_landing.html#tutorials Burada smartcam uygulamasının tüm mimarisi ve detayları PS, PL tarafındaki yapılar dahil olmak üzere anlatılmış. Ayrıca Tutorial kısmında bu projenin kaynak dosyalarını kullanarak Petalinux imajı oluşturma ve SD kart'a yazdıktan sonra Ubuntu yerine tamamen petalinux ortamında uygulamayı çalıştırma adımları var. Bunu takip edip :      Ubuntu , Petalinux ortamlarının farklarını anlama     Hazır kaynak kodları ve proje ile Petalinux derleyip çalıştırma     AI engine yapısının FPGA'de nasl çalıştığını anlama     BSP, Bitstream, Platform vs esas komponentleri hazırlayarak SoC sistem alyapısını kurma  faydaları elde edilebilir. Faydalı Linkler https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/embedded-design-tools/2023-1.html https://docs.xilinx.com/r/en-US/Vitis-Tutorials-Vitis-Platform-Creation/PetaLinux-Building-and

KV260 Kria Starter Kit Series: 2 - Smartcam Application (Ubuntu)

Resim
Ubuntu 22.04 işletim sistemimizi başarılı şekilde karta yükleyip boot ettikten sonra sıradaki adım Xilinx'in hali hazırda sunduğu AI Accelerated uygulamalarından birini Kria Board üzerinde çalıştırmak olacak. Bunun için ilk uygulamamız Smartcam isimli bir Face Detection uygulaması. Öncelikle Ubuntu oturumumuzu açtıktan sonra bir upgrade yapmamız gerekecek. Aksi takdirde zaten mevcut AI ugulamalarını çalıştırmak mümkün olmayacaktır. Bunu ben değil Xilinx bizzat kendisi söylüyor. Bu upgrade işlemi gerçekleştirilirken ben bazı sorunlarla karşılaştım ve ilk başta çözümün nerede olduğunu bulamadım ama daha sonra uygulamayı çalıştırmakla meşgulken aşağıdaki Xilinx dökümantasyonuna ulaştım ve burada upgrade sırasında oluşabilecek sorunlar ve çözümleri hakkında bilgilerin yer aldığnı farkettim: https://xilinx.github.io/kria-apps-docs/kv260/2022.1/build/html/docs/kria_starterkit_linux_boot.html Dolayısıyla Smartcam uygulamasını çalıştırma adımına geçmeden önce bu Ubuntu güncelleme işleminin