ARM MİMARİSİ VE UYGULAMALARI

Benzer belgeler
EEM 419-Mikroişlemciler Güz 2017

1. Ders Giriş. Mikroişlemcili Sistem Uygulamaları

Mikroişlemci Nedir? Mikrodenetleyici Nedir? Mikroişlemci iç yapısı Ders Giriş. Mikroişlemcili Sistem Uygulamaları

Arduino nedir? Arduino donanım ve yazılımın kolayca kullanılmasına dayalı bir açık kaynak elektronik platformdur.

T.C. ERCİYES ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ MEKATRONİK MÜHENDİSLİĞİ BÖLÜMÜ ELEKTRONİK SİSTEMLER LABORATUVARI 1

EEM 419-Mikroişlemciler Güz 2016

Erzurum Teknik Üniversitesi RobETÜ Kulübü Robot Eğitimleri. ARDUİNO EĞİTİMLERİ I Arş. Gör. Nurullah Gülmüş

Genel Kavramlar. Bilecik Şeyh Edebali Üniversitesi Gömülü Sistemler Ders Notları-2

Bilgisayar Mimarisi Nedir?

Bilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN

Bilgisayar Mimarisi ve Organizasyonu Giriş

Mikrobilgisayar Sistemleri ve Assembler

GÖMÜLÜ SİSTEMLER. Bilecik Şeyh Edebali Üniversitesi Gömülü Sistemler Ders notları-1

MİKROİŞLEMCİLER. Mikroişlemcilerin Tarihsel Gelişimi

Bilişim Teknolojilerine Giriş

GAZİANTEP ÜNİVERSİTESİ

İçİndekİler. 1. Bölüm - Mİkro Denetleyİcİ Nedİr? 2. Bölüm - MİkroDenetleyİcİlerİ Anlamak

BÖLÜM Mikrodenetleyicisine Giriş

Tarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan

KONTROL VE OTOMASYON KULÜBÜ

Temel Bilgisayar (Basic Computer) Yazılım (Software)

Mimari Esaslar. Mikroişlemcinin mimari esasları; Kaydediciler Veriyolları İş hatları dır.

BM-311 Bilgisayar Mimarisi

Öğr.Gör. Gökhan TURAN Gölhisar Meslek Yüksekokulu

BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

MİKROİŞLEMCİ MİMARİLERİ

Mikrodenetleyiciler (MECE 308) Ders Detayları

LPC2104 Mikro Denetleyicisini KEIL İle Programlamak

7. Port Programlama. mikroc Dili ile Mikrodenetleyici Programlama Ders Notları -42- Şekil 2.1. Atmega16 mikrodenetleyici pin şeması

ARM ĐŞLEMCĐLĐ DENEY KARTI TASARIMI DESIGNING DEVELOPMENT KIT WITH ARM MICROPROCESSOR

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Hasan ARMUTLU 1 Muammer AKÇAY 2

Birol Çapa Özen Özkaya Güz Dönemi Eğitimleri

Hacettepe Robot Topluluğu

TUŞ TAKIMI (KEYPAD) UYGULAMALARI

Temel Bilgisayar Bilgisi

KULLANIM KILAVUZU NFH-0115 VIP KONTROL SİSTEMLERİ HABERLEŞME ÜNİTESİ

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

DONANIM. 1-Sitem birimi (kasa ) ve iç donanım bileşenleri 2-Çevre birimleri ve tanımlamaları 3-Giriş ve çıkış donanım birimleri

EEM 306 Mikroişlemciler ve Lab. Doç.Dr. Mehmet SAĞBAŞ

A.Ü. GAMA MYO. Elektrik ve Enerji Bölümü ALGORİTMA VE PROGRAMLAMA 1.HAFTA

BİLGİSAYAR MİMARİSİ. Komut Seti Mimarisi. Özer Çelik Matematik-Bilgisayar Bölümü

MİKRODENETLEYİCİLER ÖRNEK PROGRAMLAR

PİC HAKKINDA KISA KISA BİLGİLER GİRİŞ/ÇIKIŞ PORTLARI

DENEY-1. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ

BİLGİ TEKNOLOJİLERİ SMO103

Giris {\} /\ Suhap SAHIN

1. PROGRAMLAMA. PDF created with pdffactory Pro trial version

EM205 26/9/2014. Programlamaya giriş Algoritmalar. Amaçlar

MCR02-AE Ethernet Temassız Kart Okuyucu

void setup() fonksiyonu: Bu fonksiyon program ilk açıldığında bir kere çalışır ve gerekli kalibrasyon, setup komutlarını buraya yazarız.

Bilgisayar, elektronik bir cihazdır ve kendi belleğinde depolanan talimatları sırasıyla uygulayarak çalışır. İşler. Bilgi İşlem Çevrimi

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS. Bilgisayar Organizasyonu BIL

ÇOK ÇEKİRDEKLİ İŞLEMCİLER VE PARALEL YAZILIM GELİŞTİRME OLANAKLARI HAKKINDA BİR İNCELEME

Embedded(Gömülü)Sistem Nedir?

ENF 100 Temel Bilgi Teknolojileri Kullanımı Ders Notları 2. Hafta. Öğr. Gör. Dr. Barış Doğru

DOKUMANLAR

Optik Sürücüler CD/CD-ROM DVD HD-DVD/BLU-RAY DİSK Disket Monitör LCD LED Projeksiyon Klavye Mouse Mikrofon Tarayıcı

VOLÜMETRİK DEBİMETRE KDDM 2

Mikroişlemci ile Analog-Sayısal Dönüştürücü (ADC)

Bitirme Ödevi Sunumu PLATFORM BAĞIMSIZ BENZETİM PROGRAMI. Danışman : Yrd.Doç.Dr. D Feza BUZLUCA Gökhan Akın ŞEKER

MEB YÖK MESLEK YÜKSEKOKULLARI PROGRAM GELİŞTİRME PROJESİ. 1. Tipik bir mikrobilgisayar sistemin yapısı ve çalışması hakkında bilgi sahibi olabilme

Programlama Nedir? Bir bilgisayar bilimcisi gibi düşünmek ve programlama ne demektir?

YENİLENEBİLİR ENERJİ EĞİTİM SETİ

EĞĐTĐM AMAÇLI PLC KONTROLLU BĐR ASANSÖR MODELĐ TASARIMI. Özgür Cemal Özerdem * Nedim Perihanoğlu ÖZET

BİLGİ TEKNOLOJİLERİ VE UYGULAMALARI

Bilişim Teknolojileri Temelleri Dijital Dünyada Yaşamak

Bilgisayarların Gelişimi

Haftalık Ders Saati Okul Eğitimi Süresi

İşletim Sistemleri (Operating Systems)

İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, Kabuk ve diğer temel kavramlar) Öğr.Gör. Dr. Dr. Şirin KARADENİZ

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6

MİKROİŞLEMCİ İLE A/D DÖNÜŞÜMÜ

İŞLEMCİLER (CPU) İşlemciler bir cihazdaki tüm girdilerin tabii tutulduğu ve çıkış bilgilerinin üretildiği bölümdür.

MAK 1005 Bilgisayar Programlamaya Giriş. BİLGİSAYARA GİRİŞ ve ALGORİTMA KAVRAMI

BİLGİ TEKNOLOJİSİNİN TEMEL KAVRAMLARI. 1-Bilgisayar, donanım ve yazılım kavramları 2-Bilgisayar çeşitleri 3-Bilgisayarlar arsındaki farklılıklar

Fatih Üniversitesi. İstanbul. Haziran Bu eğitim dokümanlarının hazırlanmasında SIEMENS ve TEKO eğitim dokümanlarından faydalanılmıştır.

RF İLE ÇOK NOKTADAN KABLOSUZ SICAKLIK ÖLÇÜMÜ

Bilişim Teknolojileri Temelleri 2011

DERS 5 PIC 16F84 PROGRAMLAMA İÇERİK. PIC 16F84 bacak bağlantıları PIC 16F84 bellek yapısı Program belleği RAM bellek Değişken kullanımı Komutlar

HAFTA 1 KALICI OLMAYAN HAFIZA RAM SRAM DRAM DDRAM KALICI HAFIZA ROM PROM EPROM EEPROM FLASH HARDDISK

Mimari. risi. Yazar: İşlemci Mimar. bulunmasını istediğimiz. mimariyi. Şekil 1

İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, kabuk ve diğer temel kavramlar) Bir işletim sisteminin yazılım tasarımında ele alınması gereken iki önemli konu

Çalışma Açısından Bilgisayarlar

Bilgisayar Donanım 2010 BİLGİSAYAR

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

PR Şubat 2012 Hannover Messe 2012 Sayfa 1 / 6. Üretim süreçlerinde ve mühendislikte verimlilik artışı

Bilgisayar Donanımı Dersi BİLGİSAYARIN MİMARI YAPISI VE ÇALIŞMA MANTIĞI

İŞLETİM SİSTEMLERİ. (Operating Systems)

HSancak Nesne Tabanlı Programlama I Ders Notları

Mikroişlemcili Sistemler ve Laboratuvarı 5.HAFTA:BÖLÜM-1

DENEY II RAPORU MİKROİŞLEMCİ UYGULAMALARI LABORATUVARI

JAVA MOBIL UYGULAMALAR

%100 Yerli, Donanım + HMI Yazılım. Profesyonel Operatör Paneli. Operatör Paneli - Proop10. Operatör Paneli - Proop7.

Gömülü Sistem Tasarımı. Dr. Deniz TAŞKIN

Görüntü Bağdaştırıcıları

Analiz Raporu. Projenin amacının, konusunun, işlevinin ne olacağı, hangi yazılımlar kullanılacak gibi parametrelerin belirlenmesi.

ESM-361 Mikroişlemciler. 1. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN

İşletim Sistemleri; İÇERİK. Yazılım BİLGİ TEKNOLOJİLERİ VE UYGULAMALARI Yazılım Türleri

Transkript:

KARADENİZ TEKNİK ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLER LABORATUARI ARM MİMARİSİ VE UYGULAMALARI 1. GİRİŞ Günümüzde kişisel bilgisayarların yanı sıra akıllı telefonlar, tabletler gibi bir çok mobil cihaz da yaşantımızın bir parçası haline gelmiştir. Mobilitenin sağlaması ve kişilerin kendi veri ve işlem güçlerini yanlarında taşıma istekleri kişisel bilgisayarların daha küçük cep bilgisayarları haline dönüşmesini sağlamıştır. Kişisel bilgisayarlara oranla daha sınırlı kaynaklara sahip olan bu cihazların verimli çalışması son derece önemlidir. Performans kayıpları olmadan daha uzun bir kullanım süresi sunan mobil cihazlar donanımsal olarak kişisel bilgisayarlarla aynı çalışma prensiplerine sahip olmalarına rağmen, gereksinimleri yüzünden farklılaşmışlardır. Bu farklılaşmaya performans, kullanım süresi, maliyet gibi temel parametreler sebep olmuştur. Örneğin, kişisel bir bilgisayar için tasarlanacak olan bir işlemcinin fazla güç tüketmesi önemsenmeyebilirken, mobil cihazlar için tasarlanacak bir işlemcinin güç tüketimi/performans oranı son derece kritik bir öneme sahiptir. 2. ARM (Advanced RISC Machine) Acorn Bilgisayar firması tarafından ilk olarak 1981 yılındaacorn RISC* Machine adıyla tasarlanmış RISC mimarisidir. Firma adı 1990 yılında Advanced RISC Machine olarak değiştirmiştir. Son olarak 1998 yılında günümüzdeki ismi olan ARM Ltd.adını almıştır. ARMv1 ile başlayıp günümüze kadar geliştirilen bu mimari 32 bitlik yapısı sayesinde 8 bitlik işlemcilere göre çok daha hızlıdır. Ayrıca düşük güç tüketimi ve yüksek performansı sayesinde günümüzde yaklaşık %75'lik oranla gömülü sistemler üzerinde en çok kullanılan işlemcilerdir. ARM bir mimari türü olduğundan geliştirici firma fiziksel işlemci üretmek yerine bu mimariyi işlemci üreten diğer firmalara lisanslayarak gelir elde etmektedir. ARM mimarisi lisansını elinde bulunduran Apple, Samsung, Nvidia gibi başlıca firmalar farklı isimlerde bir çok işlemci üretmişlerdir. Örneğin, Nvidia-Tegra, Samsung- Hummingbird,Exynos ve Apple-A4,A5,A5X vs. ARM firması verilerine göre sadece 2010 yılında 6.1 milyar adet ARM mimarisi tabanlı işlemci üretilmiştir. Bu işlemcilerin çoğu akıllı telefonlarda, bir kısmı dijital televizyonlarda, geri kalanı ise set üstü kutuları (dijital uydu alıcıları, video oynatıcıları vs.) ve mobil bilgisayarlarda kullanılmaktadır. *RISC (Reduced Instruction Set Computing) : İndirgenmiş(Azaltılmış) komut kümesi ile hesaplama. Bu özelliğe sahip işlemciler karmaşık komut kümelerinden çok daha basit ve az sayıda komut kümesine sahiptirler. Komut kümelerinin az olması işlemcide kullanılan yonga sayısını azaltır ve güç tasarrufu sağlar. Daha hızlı çalışırlar. Tasarlanmaları daha az zaman alır.

3. ARM Mimarisi ARM mimarisini klasik, gömülü(embedded) sistemlere yönelik ve uygulamaya yönelik olmak üzere 3 temel gruba ayırabiliriz. Klasik ARM işlemci grubunda ARM7,ARM9 ve ARM11 yer alır. Bu mimari yapıları daha çok motor kontrolü gibi donanıma yakın işlemlerde kullanılır. İkinci grup olarak gömülü işlemci grubuna bakarsak bunlar da Cortex M ve R serileridir. Bunlar matematiksel formüllere dayalı olarak kesin sonuca yönelik çalışması gereken, düşük güç tüketimi isteyen uygulamalarda kullanılır. Son olarak da uygulama işlemcileri Cortex-A5, Cortex-A8, Cortex-A9, Cortex-A15 olarak sınıflandırılabilir. Bunlar da akıllı telefonlar, tablet bilgisayarlar gibi yüksek performans gerektiren, son kullanıcı uygulamalarına yönelik platformlarda kullanılır. ARM tabanlı mikroişlemcilerin yanı sıra mikrodenetleyiciler de üretilmektedir. Mikroişlemciler genellikle sadece işlem ünitesi ve temel birimlerden oluşurlar, harici olarak bellek ve diğer giriş/çıkış birimlerine ihtiyaç duyarlar. Mikroişlemcileri daha çok uygulama yazılımlarının çalıştığı sistemlerde görüyoruz. Mikrodenetleyiciler ise kendi içerisinde girişçıkış birimleri, çeşitli donanım birimleri (SPI, I2C, PWM), RAM ve kalıcı hafıza (genellikle NOR veya NAND flash) bulunan komple sistemlerdir. Mikrodenetleyiciler daha çok elektronik tasarım alanında kullanılmaktadırlar. Çevremizdeki cihazlardan sadece cep telefonlarımız, tablet bilgisayarlarımız değil, çamaşır makinalarımızdan otomobillerimize, fotoğraf makinalarımızdan yazıcılarımıza kadar birçok ürünün içinde ARM tabanlı işlemciler/denetleyiciler bulunmaktadır. 4. ARM Mikroişlemci/denetleyici Programlama Elektronik tasarımlara yönelik alanlarda mikrodenetleyici, uygulama yazılımlarına yönelik alanlarda ise mikroişlemcikullanmak daha mantıklı bir seçim olacaktır. Uygulama yazılımları doğrudan donanım seviyesinde tasarlanmaktan ziyade daha çok bir platform (Android,iOs, Windows Mobile vs.) aracılığı ile gerçekleştirilirler. Bu nedenle ARM mimarisine sahip bir mikrodenetleyici uygulaması gerçeklemek, bu tarz işlemcilerin çalışma mantıklarını daha iyi kavramamızı sağlar. ARM mimarisine sahip mikrodenetleyicilere örnek olarak NXP firmasının LPC1000,2000 serileri, ST firmasının STM32 serisi, AMTEL firmasının AT90SAM serisi gösterilebilir. Deneyde kullanılan EasyMX-Pro_v7 board ı varsayılan (default) olarak STM32 model bir işlemci ile gelmektedir. 4.1 Cortex M Serisi Mikrodenetleyiciler ARM mimarisinin mikrodenetleyici ailesinden biri olan Cortex M serisi, piyasada mevcut bulunan 8 ve 16 bitlik mikrodenetleyicilere rakip olarak ortaya çıkmış 32 bitlik işlemci mimarisine sahip işlemci serisidir. Çok düşük enerji tüketimlerinin yanı sıra maliyetleri de düşüktür. Bu aileye mensup mikrodenetleyiciler endüstriyel kontrol sistemleride, beyaz eşyalarda, medikal cihazlarda vb. kullanılmaktadırlar.

Günümüzde Cortex-M3 serisi mikrodenetleyiciler daha yaygın olarak kullanılmaktadır.bunun nedeni hem daha önce üretilmeleri hem de daha ucuz olmalarıdır. Ancak son olarak tasarlanan M4 serisine eklenen DSP(Digital Signal Process) özelliği gelecekte çok daha etkili işlerin yapılabileceğinin bir göstergesidir. Deney setindeki yer alan STM32F107VCT6 model numaralı chip Cortex ailesinin M3 sınıfına ait bir işlemcidir. Şekil.1 Cortex M3 İç Yapısı 5. Açıklamalı Örnek Kodlar 1) MikroC Led Yakıp Söndürme Main'den sonrası için satır satır açıklayacak olursak; - D portu dijital çıkış olarak ayarlanıyor. - D portunun ilk değeri 0 olarak setleniyor. - While yapısı kullanılarak sonsuz döngü oluşturuluyor. - D portunun çıkışı bir önceki çıkış değerinin tersi olacak şekilde setleniyor. - Milisaniye cinsinden 1000 ms bekleme yapılıyor. 2) Led Kaydırma

Main'den sonrası için satır satır açıklayacak olursak; - int türünde counter isimli bir değişken tanımlanıyor. - D portu dijital çıkış olarak ayarlanıyor. - D portunun ilk değeri 0 olarak setleniyor. - while yapısı kullanılarak sonsuz döngü oluşturuluyor. - counter değişkeni baz alınarak bir for döngüsü tanımlanıyor. - 16 bitlik D portuna 0x8888 ataması yapılarak counter sayısı kadar kaydırma yapılıyor. - Milisaniye cinsinden 100 ms bekleme yapılıyor. 3) Button ile Led Yakma Main'den sonrası için satır satır açıklayacak olursak; - int türünde oldstate isimli bir değişken tanımlanıyor. - A portunda bulunan PA0 butonu giriş olarak ayarlanıyor. - D portu dijital çıkış olarak ayarlanıyor. - do-while yapısı kullanılarak sonsuz döngü oluşturuluyor. - if yapısı kullanılarak butona basılıp basılmadığı kontrol ediliyor ve oldstate 1 yapılıyor.

- Diğer if yapısı ile beraber hem butona basıldığı kontrol edilirken aynı zamanda kullanıcının elini butonda kaldırmasının da kontrolü yapılıyor. - D portunun çıkışı bir önceki çıkış değerinin tersi olacak şekilde setleniyor. - oldstate değişkeni tekrar 0 yapılıyor. 4) TFT Ekranı Üzerinde Button ve Label vb. Yapıların Kullanılması Burada TFT ekranı üzerinde Button ve Label yapılarının yerleştirme ve tanımlama işlemleri Visual TFT programı üzerinde yapılarak mikroc PRO for ARM platformuna aktarılmaktadır. Bu kısım ile ilgili açıklama deney föyünde verilmeyecek olup deney sorumlusu tarafından laboratuar ortamında ayrıca anlatılacaktır. 6. Deney Hazırlığı Deneye gelmeden önce deney föyünün bir önbilgi teşkil etmesi açısından okunması, anlaşılmayan kısımların deneyde sorulması için notlar ya da sorular oluşturularak hazırlanması deneyin hızlı ve eksiksiz bir şekilde ilerlemesi açısından önemlidir. Öğrencilere sorulacak olan soruların kapsamı sadece föy içerisindeki bilgiler ile sınırlı kalmayacağından, öğrencilerin mikroişlemci ve mimari yapılarını genel olarak araştırması faydasına olacaktır. Deney föyünden elde edinilemeyen bilgiler çevrimiçi kaynaklar kullanılarak araştırılabilir. Deneydeki uygulama kısımlarının daha sağlıklı yürütülebilmesi için kullanılacak olan deney seti (EasyMX-Pro board) için deneye özel oluşturulan kataloğun (Ek-1 de sunulan) okunarak incelenmesi gerekmektedir. Açıklaması ile verilen kod parçalarının yapılacak uygulamaların benzerlerini teşkil ettiğinden elde edilecek başarımı direk etkileyeceği bilinmeli ve bu kodlara çalışılmalıdır. Ayrıca uygulamaların yapılacağı platformlar olan "mikroc PRO for ARM" ve "Visual TFT" deney öncesinde incelenmesi verimliliği arttıracaktır. 7. Deney Tasarımı ve Uygulanması Bu deney ARM mimarisine sahip mikrodenetleyici setlerine geçiş deneyi niteliğinde olduğundan temel kavramların öğretilmesi amaçlanmıştır. Uygulama aşamasında deneydeki mevcut donanım incelenecek ve genel bilgiler verilecektir. Ardından donanımı programlayabilmemize olanak sağlayan ana ve yardımcı yazılımlar ana hatları ile incelenecek ve bir kaç örnek uygulama gerçekleştirmeniz istenecektir.

8. Deney Raporu Deneyde anlatılan kısımların pekiştirilmesi ve kalıcı bilgi haline getirilmesi açısından tekrar edilmelidirler. Bu nedenle deney raporları bireysel olarak Ek-2 deki şablon kullanılarak yazılacak (bilgisayar ya da el ile) ve bir sonraki deneye kadar teslim edilecektir. Deneye hazırlık kısmında da vurlandığı üzere deney raporunuza verdiğiniz önem deneye verdiğiniz önemin bir göstergesidir. 9. Ekler Ek-1 : EasyMX-Pro_v7 board katalog Deneye hazırlanma durumunuz deneye verdiğiniz önemin bir göstergesidir. Deneye hazırlıklı gelmeniz deneyden alacağınız verimi artıracaktır. Ayrıca deneye olan ilginizin yoğunluğu deney sorumlusunun size aktarabileceği bilgilerin yoğunluğu ile doğru orantılıdır.