Kayıtlar

Mart, 2024 tarihine ait yayınlar gösteriliyor

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

Yazılım Tabanlı Radyo - Örnekleme ve ADC İşlemleri

Resim
Sinyal teorisinde sıklıkla kullanılan işlemlerden olan örnekleme - Sampling işleminin amacı basitçe sürekli bir sinyalin (analog form) dijitalize edilmesi yani bilgisayar mimarisinin anlayacağı domene dönüşümünü sağlamaktır. Bu sayede dijital veriye döüştürülen sinyallerin işlenebilmesi - çeşitli matematiksel işlemlerden geçirilmesi, sinyal karakteristiğinin incelenmesi - mümkün olabilmektedir.  Örnekleme işlemi gerçekleştirilirken uygulanan işlemler aşağıdaki görselde basitçe özetlenmiştir. Bu gösterim örneklemenin veya analog-dijital dönüşümün en basit sunumudur: Figure 1. Sürekli sinyalin örneklenmesi Figure 1'de görüldüğü üzere analog bir sinyalin dijital örneklere nasıl ayrıldığı görülmektedir. Burada dikkat çeken hususlardan belki de en önemlisi zaman domeninde eşit zaman aralıklarıyla bu örnekleme işleminin gerçekleşmesidir. Yani kırmızı ile gösterilen dijital örnekleri temsil eden sinyalin belli bir frekansı vardır. Örnekleme işleminde temel şartlardan biri örnekleme işaret

KV260 Kria Starter Kit Series: 1 - Power and Boot Up

Resim
KV260 starter kit birden fazla OS altyapısını destekler özellikte. Ancak bu board ilk bootup yapılacagı zaman Xilinx tarafından tavsiye edilen sürecleri takip etmek faydalı olur diye düşündüm. Ben de o yüzden aşagıdaki linkte yer alan Getting Started adımlarını takip ettim.  https://www.amd.com/en/products/system-on-modules/kria/k26/kv260-vision-starter-kit/getting-started-ubuntu/getting-started.html Dolayısıyla ilk basta donanımın çalışıp çalışmadıgını basitçe test edebilmemi sağlayacağını düşündüğüm için Ubuntu işletim sistemini kurmak istedim. Bunu yaparken yukarıdaki içerikte olmayan bazı önemli detayları bu yazıda sırasıyla anlatacağım. Öncelikle Getting Started içeriğinde varsayılan işletim sistemi Ubuntu 22.04 sürümü olarak anlatılmış ancak KV260 elimize ulaştığında üzerindeki QSPI Flash bellekte yer alan bootloader sürümü Ubuntu 22.04'ü direkt olarak çalıştırabilecek bootloader versiyonu değil. Dolayısıyla öncelikle board'umuzun Firmware Update ya da Bootloader Update d