Categories
embedded-systems

Final Sample Questions

Interfaces

  1. Seri port arayüzü nedir? Nasıl çalışmaktadır?
  2. ZYNQ mimarisinde PS bölümünde bulunan UART arayüzü ile PL bölümüne konfigüre edilebilen UART arayüzünün farkı nedir?
  3. ZYNQ mimarisinin UART PS0 bloğunu kullanarak dışarıya saniyede bir “Merhaba” string’ini basan bir uygulama geliştiriniz.
  4. 10 adet UART arayüzüne sahip sensörler bulunmaktadır. Bu sensörleri ZYNQ mimarisine sahip bir FPGA ile okuyup ethernet üzerinden verileri transfer eden bir sistem geliştiriniz.

    Sistemin Block diagramını çiziniz. Ardından Petalinux ortamı için bir C kodu geliştirip okunan verileri ethernet üzerinden UDP Protokolü ile transfer eden bir uygulama geliştiriniz.

    Sensör verileri 0-255 arasında bir byte olarak gelmektedir. Ethernet’e transfer edilecek veriler 10 sensör için toplam 10 byte’lık bir dizi olarak gönderilebilir. IP ve port bilgileri rasgele girilebilir.
  5. Bilgisayardan bir byte büyüklüğünde iki sayıyı (yani 0-255 arasında) UART arayüzünden ZYNQ’in UART PS0 bloğuna transfer ediniz. ZYNQ sayıları yakaladıktan sonra iki sayı ile aşağıda verilen aritmetik işlemi yapıp sonucunu tekrar UART üzerinden döndürmektedir.

    Aritmetik işlem: karekök(X^2 + Y^2)

    UART üzerinden sayı gönderme ve UART üzeirnden sonucu yakalamak için bilgisayar ortamında istediğiniz bir dilde (C#, Python vb..) seri port uygulaması geliştiriniz. ZYNQ üzerinde petalinux ortamında gerekli olan C kodunu yazınız.

Custom Module Interfacing

  1. AXI Lite Slave arayüzü nedir?
  2. AXI Lite Master arayüzü nedir?
  3. AXI FULL Slave arayüzü nedir?
  4. 3 saklayıcısı olan AXI Lite Slave arayüzlü bir modül geliştiriniz. Bu modülün

    0. adresindeki saklayıcı, 1. sayıyı
    1. adresindeki saklayıcı, 2. sayıyı
    3. adresindeki saklayıcı, 1. ve 2. sayının toplamını göstermektedir.

    Aşağıda bir AXI Lite Slave arayüzlü modülün örnek şablon kod parçacığı verilmektedir. Bu kod parçacığını modifiye ederek, belirtilen görevi yapan bir modül haline döndürünüz.

    Kod parçacığı: İndirme

Categories
embedded-systems

Labs

LabKonuTarihİndirme
1Linux Fundamentals 
2Embedded Linux Toolchain
3Interfaces I
4Interfaces II
5Custom Module & Driver Development II

Lab teslim dokümanı

Categories
embedded-systems

Detailed Course Description

Ders Açıklaması

Bu ders kapsamında gömülü sistemlerde kullanılan bir Linux dağıtımı olan Petalinux ile çalışılacaktır. Ders’te Xilinx’in PYNQ Z2 geliştirme kartlar kullanılacaktır. Dönem projesi olarak Petalinux üzerinden AXI DMA IP’si ile PL bölümüne veri transferi yapılıp, FFT bloğuna aktarılıp, sonuçlar yine AXI DMA ile processor’e alınacaktır.

Ders Saatleri (Teorik + Lab)

Cuma 9.00-14.00

Öğretim Elemanları ve Ofis Saatleri

Dr. Öğr. Üyesi Vecdi Emre Levent, Ofis 311 – Salı 16.00-17.00

Arş. Gör. Uğur Özbalkan, Ofis 311 –  Salı 16.00-17.00

Ön Gereksinimler

Yok

Yardımcı Kaynaklar

Dersin referans kaynakları aşağıda listelenmektedir.

  • Programming Arduino: Getting Started with Sketches, Second Edition, Simon Monk, McGraw Hill, 2016
  • Exploring Arduino: Tools and Techniques for Engineering Wizardry 2nd Edition, Jeremy Blum, 2019

Yazılımlar

Petalinux 2021.1

Vivado 2021.1

Dersler

Dersin haftalık 2 saat teorik, 2 saat laboratuvar bölümü bulunmaktadır. Öğretim üyesi tarafından verilen ders materyallerinin ders öncesi incelenip, ders sonrasında ise tekrar edilmesi beklenmektedir. 

Öğrenim Çıktıları

  • Linux Fundamentals
  • Embedded Linux
  • PL/PS CoProcessing
  • Performans ve Debugging

Quizler

Dönem içerisinde iki adet quiz yapılacaktır. 30 dk süre verilecektir. Quiz tarihi bir hafta önceden duyurulacaktır. 

Notlandırma

Derslere %80 oranında devam zorunludur.

Dönem notu; vize, lablar, ödevler, proje ve final sınavı ile belirlenecektir. Değerlendirme yüzdeleri aşağıdaki tabloda verilmiştir.

FaaliyetlerOranlar
Vize%20
Ödev/Quiz%10
Lab%15
Proje%25
Final%30
Bonus5 Puan’a kadar

Ödev ve quizlerin teslim saati üzerinden her geçen saat için 5 puan kesilecektir.

Dönem sonu notunun karşılık geldiği ağırlık ve harf notu aşağıdaki tabloda verilmiştir.

Dönem NotuAğırlıkHarf Notu
90-1004.00AA
85-893.50BA
80-843.00BB
75-792.50CB
65-742.00CC
50-641.50DC
45-491.00DD
0 -440FF

Beklenen Efor

Öğrencinin dönem içinde göstermesi beklenen efor tablosu aşağıda verilmiştir.

İçerikSaatKaç DefaAra Toplam
Derse Hazırlık21428
Ders Tekrarı21428
Ödev4624
Proje48148
Sınıf Dersi41456
Ara Sınav ve Final24248


Öğrenciler dersten başarılı olmak için dönem boyunca ortalama 232 saat harcamaları beklenmektedir.

Kodlama Ödevleri

Kodlama ödevlerinin notlandırılması, kodun doğruluğu, kalite ve algoritmik gerçeklemedeki detayları incelenerek yapılacaktır.

Doğruluk

Verilecek her bir ödev için test girişi ve beklenen çıkışlar paylaşılacaktır. Ancak ödev kontrolü yapılırken sizinle paylaşılmamış başka test durumları da denenecektir. Çalışma zamanı, beklenenden çok uzun süren kodlar yanlış olarak değerlendirilebilir.

Teori

Kod, istenen algoritmanın tasarımı olmalıdır. En optimum çözüm beklenmemektedir. Ancak bellek ve çalışma zamanı beklenenden çok fazla olmamalıdır.

Yazılı Ödevler

Ödev kendi el yazınız ile yazılmalıdır. Ödev cevap kağıtının üzerinde, dersin adı, öğrenci adı ve soyadı, öğrenci numarası ve tarih bulunmalıdır. 

Akademik Dürüstlük

Ödevin amacı, ders hakkında derinlemesine araştırma yapmayı öğrenmek ve pratik bilgiler kazanmayı sağlamaktır. Verilen ödevler hakkında, diğer öğrenciler ile birlikte çalışma teşvik edilmektedir. Çalışma grubu oluşturan öğrenciler, kendi başına çalışan öğrencilere göre sınavlarda daha başarılı olmaktadırlar. 

Ancak bir ödevi çözmek için başkaları ile birlikte çalışsanız bile, her bir sorunun çözümünü yardım almadan kendiniz yapmalısınız. Çözümünüzü bir araştırma yolu ile elde ederseniz (örn. bir internet araması), çözümü kendi cümle ve/veya kodunuz ile ifade etmelisiniz. Çözümü sözlü olarak sorulduğunda, öğrencinin açıklayabilmesi beklenmektedir. 

Verilen ödev bir kod ise, kendinizin yazması gerekmektedir. Hata ayıklamada başkalarından yardım alabilirsiniz. Kodda intihal tespiti için manuel ve otomatik mekanizmalar kullanılacaktır. İntihal, sınav içi kopya ve benzeri davranışlar disiplin yönetmeliğine göre cezalandırılır.

Categories
embedded-systems

Exams and Sample Questions

Vize

Final

Categories
embedded-systems

Project

Petalinux Tabanlı Cordic HW/SW CoDesign: Donanım hızlandırıcı olarak Xilinx’in CORDIC (COordinate Rotation DIgital Computer) IP’si kullanıldığı ve işlemcinin hesap yükünü donanım hızlandırıcıya aktardığı bir proje yapılacaktır. Petalinux Ortamından Uart arayüzü üzerinden yakalanan veriler CORDIC IP’sile iletilip, sonuçları Uart üzerinden PC’e iletilecektir.

Proje detayları için tıklayınız.

Categories
embedded-systems

Homeworks

ÖdevKonuTarihSon Teslim TarihiTeslim Yöntemiİndirme
1Linux FundamentalsYazılı Olarak Ders Sınıfında Teslim 
Categories
embedded-systems

Lecture Notes

HaftaKonuİndirme
1Giriş
2Linux Fundamentals I
3Linux Fundamentals II
4Linux Fundamentals III
5Embedded Linux Toolchain I
6Embedded Linux Toolchain II
7PL/PS CoProcessing
8Vize Sınav Haftası
9Interfaces I
10Project Course
11Interfaces II
12Interfaces III
13Custom Module Interfacing I
14Custom Module Interfacing II
15Final ve Proje SunumlarıSınav Haftası
Categories
embedded-systems

Syllabus

HaftaKonuTarih
1Giriş
2Linux Fundamentals I
3Linux Fundamentals II
4Embedded Linux Toolchain
5Interfaces I
6Interfaces II
7Interrupts
8Vize Sınav Haftası
9Interfaces III
10Direct Memory Access
11Custom Module & Driver Development
12Custom Module & Driver Development II
13File System (Ubuntu)
14QT Application Development
15Final ve Proje SunumlarıSınav Haftası
Categories
embedded-systems

LMS and Piazza

Öğrencilerin soru sorup yanıt alabileceği bir soru cevap sistemi sunulmaktadır. Ders duyuruları, öğrenci soruları ve cevapları için bir platformdur. Aşağıdan erişebilirsiniz. 

https://piazza.com/class/ky908y7fvcx6ji

Blackboard (Learning Management System), bazı ödevlerin teslimi için LMS sistemi üzerinden olması istenecektir.
https://blackboard.fbu.edu.tr/