ARM Tabanlı Mikrodenetleyici Temelleri ve Programlama

Slides:



Advertisements
Benzer bir sunumlar
ARM Tabanlı Mikrodenetleyici Temelleri ve Programlama
Advertisements

Günümüz şartları altında insanların en büyük kaygısı artık can ve mal güvenliği haline geldi. Pek çok güvenlik sistemi artık karşılanamayacak kadar pahalı.
GENEL OLARAK Ana kart Nedir? Ana kartın Yapısı
TEMEL ELEKTRONİK EĞİTİMİ
ARM Tabanlı Mikrodenetleyici Temelleri ve Programlama
İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, Kabuk ve diğer temel kavramlar)
Kesmeler (Interrupts)
Ağ Cihazları  Birden fazla bilgisayarın bilgi paylaşımı, yazılım ve donanım paylaşımı, merkezi yönetim ve destek kolaylığı gibi çok çeşitli sebeplerden.
Bölüm 2 C Dilinin Temelleri
C Programlama Diline Giriş
Resim Düzenleme İşlemleri
ARM Tabanlı Mikrodenetleyici Temelleri ve Programlama
Dr. Ahmet KÜÇÜKER Sakarya Üniversitesi Mühendislik Fakültesi
8088 Kesme Operasyonu.
Proxy nedir ? Nasıl kullanılır ?
MikroC ile PIC Programlama
Bölüm 2 C Dilinin Temelleri Genel Kavramlar
DERS 12 PIC 16F84 ile KESME (INTERRUPT) KULLANIMI
3D EYES 3D EYES KURULUM SUNUMU Murat GÜLCİ
İSİM UZAYLARI (NAMESPACE)
ARDUINO.
Bilgisayar Programlama
C++ Temelleri C++ genel amaçlı, nesne tabanlı, yüksek seviye programlama dilidir.
İŞLETİM SİSTEMLERİ Öğr. Gör. S.Serkan TAN.
E-Öğrenme Nedir?
C#.NET 5.0 C# .NET 5.0 Eğitimleri Volkan KANAT.
MAXLOGIC Konvansiyonel Yangın
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Gelişmiş Envanter Uygulaması.
İŞLETİM SİSTEMİ WİNDOWS AYARLAMA Bilişim Teknolojileri ve Yazılım Dsi Baraj Orta Okulu.
ÇEVRİM İÇİ İŞBİRLİĞİ ARACI
Bilgisayar Programlama
Nesneye Dayalı Programlama
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Amaçlar Bu derste öğrenilecekler: –Uygulamaları “method”
C PROGRAMLAMA FONKSİYONLAR Adres ile Fonksiyon Çağırma Pointer (İşaretçiler) ile Fonksiyon Çağırma Rekürsif Fonksiyonlar.
Bilgisayar programlarının en büyük avantajı, kullanıcının işini kolaylaştırmalarıdır. Her bilgisayar programı bunu değişik metotlar kullanarak sağlar.
Bilgi Teknolojisinin Temel Kavramları
TEMEL php Dersleri - Ders 1 Değişgenler
Dijital Çıkış Mantığı.
MİKRODENETLEYİCİ TABANLI KABLOSUZ HABERLEŞME ve MULTIMEDYA KULLANIMI
PROJENİN ADI “Doğrusal Konumlandırıcılar” için Profesyonel Kontrol Ara yüz Tasarımı ve İmalatı.
Bilgisayar Görmesi Ders4:GUI OLUSTURMA Yrd. Doç. Dr. Serap KAZAN.
Bölüm 2 C Dilinin Temelleri Genel Kavramlar Yazım ve Noktalama Kuralları C Kütüphaneleri C Dilindeki Sözcükler Değer Sabitleri Veri Tipleri Değişkenler.
BASYS KARTININ TANITIMI. KARTIN GÖRÜNÜMÜ KARTIN ÖZELLİKLERİ 100,000 lojik kapılı Xilinx Spartan 3E FPGA; JTAG programlama bağlantı noktası FPGA biçimlendirme.
Programlamaya Giriş-I Bölüm-1. Algoritma Algoritma günlük yaşamımızda yaptığımız işler sırasında sıklıkla kullandığımız bir yöntemdir. Algoritma, bir.
SUNUCU İŞLETİM SİSTEMLERİ
LABVİEW İLE ARDUİNO PROGRAMLAMA
Fonksiyonlar ve Diziler
C Programlama Dili Bilgisayar Mühendisliği.
ARDUİNO PLATFORMU Arduino Çeşitleri.
Bilgisayar Donanım ve Sistem Yazılımı
ENLİL PACS (UZAK) PROGRAMI İP VE PORT AYARLARI DEĞİŞTİRME REHBERİ
SİGORTACILIK İÇİN FARKLI BİR GELECEK TASARIMI
C Programlama Yrd.Doç.Dr. Ziynet PAMUK BMM211-H11
2. VISUAL BASIC PROGRAM YAPISI
Bölüm 2 C Dilinin Temelleri
GAZİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
İNTERNET PROGRAMCILIĞI 2
Problem Çözme Yaklaşımları
Doğu Akdeniz Üniversitesi Bilgisayar Ve Teknoloji Yüksek Okulu
YAPISAL PROGRAMLAMA Hafta-6
Ders 1– Temel Bileşenler
Konu: EĞİTİM AMAÇLI BLDC MOTOR HIZININ PID KONTROLÜ
Temel Bilgiler Pixel Sayısal görüntülerin en küçük birimi Picture element –Resim parçası Kendine ait renk bilgisine sahiptir İki boyutlu yapı Her.
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Bölüm 2 C Dilinin Temelleri
PROJEKTÖR.
Bilişim Teknolojileri Öğrt.
C ile Programlamaya Giriş
Windows Sorunları ve Çözümleri. 1-Siyah Ekran Sorunu Bu sorun genel anlamda 2 şeye bağlıdır.(Windows’da oturum açılıp açılmaması) Eğer Windows 10’da oturum.
Sunum transkripti:

ARM Tabanlı Mikrodenetleyici Temelleri ve Programlama TUNA AYAN www.tuna-ayan.com tunayan@gmail.com

BAŞLAMADAN ÖNCE GPIO(Çevresel Aygıtlar) StellarisWare İle Programlama Interrupt OLED Ekran Debug İşlemi

Genel amaçlı giriş ve çıkış pinlerine GPIO denir. GPIO (Çevresel Aygıtlar) GPIO Nedir? Genel amaçlı giriş ve çıkış pinlerine GPIO denir. Bu pinler programcı tarafından kontrol edilebilir, programlanabilir ve yönlendirilebilir. LM3S811 üzerinde GPIO pinleri 5 adet port altında toplanmıştır.

Giriş yada çıkış olarak tanımlanabilirler. GPIO (ÇEVRESEL AYGITLAR) Özellikleri: GPIO Modülü, her portta 8 adet pin kullanımına olanak sağlar. Bu pinlerin genel özellikleri; Giriş yada çıkış olarak tanımlanabilirler. Opsiyonel olarak pull-up, pull-down seçenekleri ile kullanılabilirler. Çevresel aygıt pini olarak kullanılabilirler. Her pinin birden fazla görevi vardır. Bu görevler arasında seçim yapılmasına olanak sağlar.

GPIO Modülüne Ait Fonksiyonel Tanımlamalar: Data Kontrolü GPIO (ÇEVRESEL AYGITLAR) GPIO Modülüne Ait Fonksiyonel Tanımlamalar: Data Kontrolü Interrupt Kontrolü Mod Kontrolü Pad Kontrolü

Pin için giriş çıkış ayarları bu kısımda gerçekleştirilir. GPIO (ÇEVRESEL AYGITLAR) Data Kontrolü: Pin için giriş çıkış ayarları bu kısımda gerçekleştirilir. Stellaris üzerindeki GPIODIR register’ı ile gerçekleşir. Gerekli pini giriş olarak tanımlamak için ‘0’ değeri, çıkış olarak tanımlamak için ‘1’ değeri yazılır.

GPIO pinlerinin interrupt özelliğinin açılıp kapanmasını sağlar. GPIO (ÇEVRESEL AYGITLAR) Interrupt Kontrolü: GPIO pinlerinin interrupt özelliğinin açılıp kapanmasını sağlar. Hangi durumlarda interrupt geleceğinin belirlenmesini sağlar. Mod Kontrolü: GPIO pininin hangi işlevini kullanacağımızı belirler.

Pad ayarlamaları için kullanılır. GPIO (ÇEVRESEL AYGITLAR) Pad Kontrolü: Pad ayarlamaları için kullanılır. Donanımsal olarak kullanım değişikliklerinde tercih edilir. Opsiyonel olarak open-drain seçimi yapılmasına olanak sağlar.

Varsa özel ayarlar yapılır. STELLARİSWARE İLE PROGRAMLAMA Algoritma: Cihaz üzerinde kullanacağımız port aktif hale getirilir. SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOX); Port üzerinde kullanacağımız pin seçilir ve özellikleri ayarlanır. GPIOPinTypeGPIOOutput(GPIO_PORTX_BASE,GPIO_PIN_5 | GPIO_PIN_6); Varsa özel ayarlar yapılır. Yapmak istediğimiz işlemler gerçekleştirilir. GPIOPinWrite(GPIO_PORTX_BASE,GPIO_PIN_Y,!GPIO_PIN_Y); Uygulama

INTERRUPT Interrupt Nedir? Bir uygulamanın, daha önemli bir uygulamanın gerçekleşmesi için kesilmesi işlemidir. Interrupt bağlandığı yerdeki spesifik hareketlere göre ayarlanabilir, kontrol edilebilir, kendi içerisinde de önem sırasına göre kullanılabilir. ARM tabanlı MCU’lar üzerinde NVIC (Nested Vectored Interrupt Controller) bulunur.

Stellaris üzerinde 26 adet NVIC interrupt kullanılabilir. NVIC Nedir? Stellaris üzerinde 26 adet NVIC interrupt kullanılabilir. 0-7 arasında öncelik sırasına göre interrupt’lar kendi aralarında da sıralanabilir.(önceliği en büyük olan 0) GPIO pinlerine bağlanabilir. Maskelenebilir, Maskelenemeyen harici NMI interrupt’ı vardır. Vektörel olarak tanımlanır, kolay kullanım avantajı sağlar.

NVIC Nasıl Kullanılır: INTERRUPT NVIC Nasıl Kullanılır: Proje içerisindeki startup.s dosyası içerisinden kolaylıkla kullanılabilir. Vektörel olarak isimlendirilmiş alanda interrupt olduktan sonra dallanılacak fonksiyon adresini belirtilir. Fonksiyon adresi tanımlanır.

Genel interrupt açılır. IntEnable(INT_GPIOX); STELLARİSWARE İLE PROGRAMLAMA Algoritma: İnterrupt özellikleri ayarlanır.(örn. Düşen kenar) GPIOIntTypeSet(GPIO_PORTX_BASE, GPIO_PIN_Y, GPIO_FALLING_EDGE); Pin üzerindeki interrupt yakalama aktif hale getirilir. GPIOPinIntEnable(GPIO_PORTX_BASE, GPIO_PIN_Y); Genel interrupt açılır. IntEnable(INT_GPIOX); Interrupt fonksiyonu içerisinde Interrupt bayrağı temizlenir. GPIOPinIntClear(GPIO_PORTX_BASE, GPIO_PIN_Y);

Organic Light Emitting Device açılımına sahiptir. OLED EKRAN OLED Ekran Nedir? OLED ekran LCD ekran teknolojisine rakip olarak çıkmıştır. Işık yayan diyot(LED) familyasının son türüdür. Organic Light Emitting Device açılımına sahiptir. Düşük güçte çalışmalarından dolayı genellikle mobil uygulamalarda kullanılırlar.

Stellaris OLED Ekran ÖZellikleri: Üzerinde SSD0303 sürücü bulunmaktadır. Bu sürücü sayesinde fonksiyonlar yardımıyla kolayca yazı ve resim ekleyebiliyoruz. Monochrome(tek renk) ekranı vardır. 96x16 Çözünürlük destekliyor.

Resim gösterimi matris tanımlanarak yapılabilmektedir. OLED EKRAN Resim Ekleme: Resim gösterimi matris tanımlanarak yapılabilmektedir. Stellaris üzerindeki OLED ekran ile resim gösterimi matris dolumu ile gerçekleşir.

Hızı ayarlanır. Display96x16x1Init(true); OLED EKRAN Algoritma: Hızı ayarlanır. Display96x16x1Init(true); String yazılır. Display96x16x1StringDraw("Merhaba", 0, 0);

DEBUG Debug Nedir? Türkçesi hata ayıklama olan bu yöntem programcıya kodunu adım adım inceleme imkanı sunar. Adım adım kod çalıştırmanın yanında anlık değişkenlerimizin değerini de okumak mümkündür. Başlarda simülasyon düzeyinde olan bu işlemler artık gömülü sistemlerde cihazın üstünde debug yapma özelliği getirmiştir. Aynı zamanda zorunlu hale de gelmiştir.

Joint Test Action Group olarak açılabilir. DEBUG JTAG Nedir? Joint Test Action Group olarak açılabilir. Bir debug çeşididir. İşlemciler üzerindeki alt blokları kontrol eder. Gömülü sistemlerde adım adım çalışmayı sağlar. 1990 yılında test mekanizması olarak çıkmıştır.

DEBUG JTAG Elemanları:

DEBUG JTAG Nasıl Çalışır?

In Circuit Debugger Interface olarak açılabilir. ICDI In Circuit Debugger Interface olarak açılabilir. Stellaris LM3S811 üzerinde bilgisayar ile arasındaki debugger ICDI tipi debugger dır. Bilgisayar ve stellaris arasında debug ara yüzünü kolayca oluşturur.