C ile Gömülü Sistemler için Yazılım Geliştirme Eğitimi. Apr 10,

Benzer belgeler
İÇİNDEKİLER. 3 STM32F4 MIKRO-DENETLEYICISI 23 STM32 Ailesi ve STM32F STM32 Ailesi 23 STM32 Mikrodenetleyicileri 30 Numaralandırılması 30

STM32 ile Gömülü Yazılım Geliştirme - 1

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

Bootloader Geliştirme

BÖLÜM Mikrodenetleyicisine Giriş

INVT IVC1. -Kompakt Tip PLC. Marketing 2014 HM

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

İşletim Sistemlerine Giriş

FBs-serisi. Programlanabilir Kontrol Cihazı. Kullanım Kitabı - II [ İleri Düzey Uygulamalar. Önsöz, İçerik. FBs-PLC Interrupt Fonksiyonu 9

İŞ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

1S Servolarda Safety Over Ethercat (FSoE) İÇİNDEKİLER Giriş FSoE Protokolü hakkinda FSoE Aktivasyonu ve konfigürasyonu FSoE Safety Programı

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

Giris {\} /\ Suhap SAHIN

Adres Yolu (Address Bus) Bellek Birimi. Veri Yolu (Databus) Kontrol Yolu (Control bus) Şekil xxx. Mikrodenetleyici genel blok şeması

BİLGİSAYAR MİMARİSİ. << Bus Yapısı >> Özer Çelik Matematik-Bilgisayar Bölümü

PROJE RAPORU. Proje adı: Pedalmatik 1 Giriş 2 Yöntem 3 Bulgular 6 Sonuç ve tartışma 7 Öneriler 7 Kaynakça 7

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

CP1E-ARGOX AS8000-R SERI PORT HABERLEŞMESİ GENEL BILGI BAĞLANTI ŞEMASI HABERLEŞME AYARLARI RXD KOMUTU HABERLEŞME PROGRAMI

Yrd.Doç.Dr. Celal Murat KANDEMİR

KOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ

BM-311 Bilgisayar Mimarisi

EC-100. Ethernet RS232/422/485 Çevirici. İstanbul Yazılım ve Elektronik Teknolojileri

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

WiFi RS232 Converter Sayfa 1 / 12. WiFi RS232 Converter. Teknik Döküman

DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ. İçerik

İçindekiler FPGA GELİŞTİRME KARTI ENERJİ BESLEMESİ:... 5 ENERJİ SİSTEMİ ŞEMASI:... 5 FPGA GELİŞTİRME KARTINA PROGRAM YÜKLEME:... 6

IRT63M. Bilgi Dokümanı. 128x64 piksel grafik LCD, Klavye, UART ve Ethernet Haberleşme ile Temassız Kart (ISO14443A/B) Okuyucu (IRT63M)

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

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

ATBRFN. Radyo Frekansı (RF) Tabanlı Dorse Takip Birimi. Bilgi Dokümanı (ATBRFN) 1

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ı

İşletim Sistemleri (Operating Systems)

ACR-Net 100 Kullanım Kılavuzu

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUVARI KESMELİ GİRİŞ/ÇIKIŞ

Doç. Dr. Cüneyt BAYILMIŞ

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

İletişim Protokolleri (Communication Protocols)

Bilgisayar Mimarisi ve Organizasyonu Giriş

V1000-CP1E MODBUS HABERLEŞMESİ

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

8051 Ailesi MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur çekirdeğinin temel özellikkleri aşağıda verilmiştir:

Ek bilgi Internet:.../cecx

Gökhan AKIN ĐTÜ/BĐDB Ağ Grubu Başkanı ULAK/CSIRT. Sınmaz KETENCĐ ĐTÜ/BĐDB Ağ Uzmanı

x86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar

Kablosuz Algılayıcı Ağları İçin TinyOS İle Uygulama Geliştirme

REALTIME LINUX. 3. Linux ve Özgür Yazılım Şenliği Murat Demirten, 16 Mayıs 2004, Ankara

Dr. Feza BUZLUCA İstanbul Teknik Üniversitesi Bilgisayar Mühendisliği Bölümü

Bilgisayar Mimarisi Nedir?

PIC MİKRODENETLEYİCİLER İÇİN. mikrobasic DERLEYİCİSİ

Bilgisayar ile Dijital Devrelerin Haberleşmesi. FT232R ve MAX232 Entegreleri. Çalışma Raporu

FPGA ile Kablosuz Görüntü Aktarımı. Yusuf Onur Koçberber

NB Ekran Seri Port Üzerinden Veri Okuma/Yazma. Genel Bilgi Protokol Oluşturma Veri Okuma Veri Yazma

DCAS NGP operatör panel

ATB100. ATB100 GPRS / GPS Tabanlı Filo Yönetim Terminali. Bilgi Dokümanı. 1

EtherCAT G5 Serisi Kütüphaneleri (SYSMAC-XR004)

(Random-Access Memory)

BESLEME KARTI RF ALICI KARTI

MC6800. Veri yolu D3 A11. Adres yolu A7 A6 NMI HALT DBE +5V 1 2. adres onaltılık onluk bit 07FF kullanıcının program alanı

GEM-10 GPRS/Modbus Gateway Kullanım Kılavuzu. Rev /2011

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

8086 nın Bacak Bağlantısı ve İşlevleri. 8086, 16-bit veri yoluna (data bus) 8088 ise 8- bit veri yoluna sahip16-bit mikroişlemcilerdir.

RTU300 SERİSİ DONANIM KILAVUZU

aselsan VHF SK2 Sabit Merkez Telsizi - Gelişmiş Konfigürasyon 4900 Atlas Sabit Merkez Telsizleri Menüler /Fonksiyonel Özellikler Genel Özellikler

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

TEMEL BİLGİ TEKNOLOJİSİ KULLANIMI. Enformatik Bölümü

8051 Ailesi MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur çekirdeğinin temel özellikkleri aşağıda verilmiştir:

Donanımlar Hafta 1 Donanım

GEM-05/10/10SH GPRS/Modbus Gateway Kullanım Kılavuzu. Rev /2013

HMI İNSAN MAKİNE ARAYÜZÜ

MİLLİ SAVUNMA ÜNİVERSİTESİ KARA HARP OKULU DEKANLIĞI BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ DERS TANITIM BİLGİLERİ

Bölüm 13: Giriş-Çıkış (I/O) Sistemleri

Öğrenim Kazanımları Bu programı başarı ile tamamlayan öğrenci;

BÖLÜM 1: MİKRODENETLEYİCİLER

ATB200 GPRS / GPS Tabanlı Filo Yönetim Terminali. Bilgi Dokümanı. 1

C-Serisi PLC İleri Seviye Eğitim

İşletim Sistemlerine Giriş

V Daq Kurulum adımları

BM 375 Bilgisayar Organizasyonu Dersi Vize Sınavı Cevapları 10 Nisan 2009

Ad Soyad: Öğrenci No:

BİLGİSAYAR KULLANMA KURSU

T E M E L K AV R A M L A R. Öğr.Gör. Günay TEMÜR / Teknoloji F. / Bilgisayar Müh.

ENTES MODBUS GATEWAY KULLANIM KILAVUZU (EMG10-EMG12)

AirTies Kablosuz Erişim Noktası (Access Point) olarak kullanacağınız cihazı bilgisayarınıza bağlayarak ayarlarını yapabilirsiniz.

EURA Drives firması yaklaşık 25 yıllık tecrübeye sahip bir firmadır den fazla çalışanı ile merkezi Çin dir ve üretim burada yapılmaktadır.

Telkolink Kurumsal Bilgi Teknolojileri Çözümleri

D Duplex : Alıcı + Verici Çalışma Debouching : DMA : Direct Memory Access Data-Bus : Data Veri Yolu Data Flow : Veri Akışı Data Processing : Veri

İşletim Sistemlerine Giriş

Bilgisayarların Gelişimi

GMTCNT PLC ile MODBUS MASTER Haberleşmesi -MICNO Serisi Hız Kontrol ile Bağlantı-

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

BM-311 Bilgisayar Mimarisi

MP211 DONANIM KILAVUZU

F3432 WCDMA ÇİFT SİM KARTLI WİFİ ÖZELLİKLİ 3G ROUTER

Telkolink Kurumsal Bilgi Teknolojileri Çözümleri

PLC & HMI CONTROLLER PLC HMI

BM-311 Bilgisayar Mimarisi

Değerlerinizi Koruyun!

ARM mimari ailesi [1]

aselsan UHF APCO25 SK2 Sabit Merkez Telsizi Atlas Sabit Merkez Telsizleri Gelişmiş Konfigürasyon Genel Özellikler

FPGA İLE UYGULAMA ÖRNEKLERİ FPGA ile Seri Haberleşme (RS232) Uygulaması

Transkript:

C ile Gömülü Sistemler için Yazılım Geliştirme Eğitimi

İçerik ARM Geliştirme Ortamı GPIO sürücüsü Seri Haberleşme Interrupt ve Callback UART SPI İşletim Sistemi(FreeRTOS) CAN SD Kart ve SDIO FAT dosya sistemi Bootloader RTC

Arm Mimarisi Acorn RISC Machines-Advanced RISC Machines ARM çekirdekleri www.arm.com firması tarafından tasarlanıyor Cortex-A (High-Performance-MMU) Cortex-M (Low-Cost-MPU) Cortex-R (Real-Time) STM32 için 32-bit işlemci çekirdeği(cortex-a 32/64 bit) Veriyolu 32 bit Adres yolu 32 bit Çekirdek farkları Fiyat Hız Silikon boyutu STM32F407 STM32 Cortex -M4

Geliştirme Ortamı Kurulumu CooCox IDE IDE: http://www.coocox.org/software/coide.php Toolchain: https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/download s Debugger: http://www.st.com/en/development-tools/st-link-v2.html AC6 IDE,Toolchain ve debugger: http://www.st.com/en/development-tools/sw4stm32.html STM32Cube: http://www.st.com/en/embedded-software/stm32cubef4.html

Arm Cortex-M4 Çekirdeği CPU MPU (Memory Protection Unit) NVIC (Nested interrupts with priority) FPU (Floating Point Unit) DSP JTAG İçerisinde bellek yok, çevre birimler yok, core-peripheral var sadece

STM32F407 Blok Diyagramı

STM32F407 Memory Map

İlk Uygulama

GPIO donanımı Alternate Function Peripheral GPIO Peripheral Alternate Function Peripheral GPIO konfigurasyonu GPIO çevresel birimi açılmalı RCC Clock ayarlanmalı MODER Çıkış OTYPER Push-Pull BSRR veya ODR Çıkış değeri

GPIO Sürücüsü

Seri Haberleşme 8Bit Data Bit0 Bit1 Bit2 Bit3 Bit4 Bit5 Bit6 Bit7 Seri Çıkış Pin 3V3 0V Pin Pin Pin Pin Pin Pin Pin Pin period Paralel Çıkış RS232 RS422 RS485 SPI I2C Ethernet CAN USB

SPI Haberleşmesi

SPI Haberleşmesi

UART Sürücüsü UART konfigurasyonu PA0 UART4 TX,PA1 UART4 RX UART4 çevresel birimi açılmalı RCC Clock ayarlanmalı Baud rate ayarlanmalı UART enable edilmeli GPIOA ayarlanmalı MODER Alternate function AFRL Alternate 8 UART DR Gönderilecek veri

Kesme(Interrupt) Kullanımı Kesme nedir? Uygulamanın normal çalışmasını kesen asenkron olaylardır. Genellikle donanım kaynaklıdır. Bir veri alınması, gönderilmesi, bir zamanlayıcının tetiklenmesi gibi. Polling ile yapılacak işlemlere alternatiftir. STM32F407 kesmeleri nasıl işler? Donanımsal olarak her olay için ayrı ayrı atanabilecek bir fonksiyon tablosu bulundurur. Kesmelerin öncelikleri ayarlanabilir. Bir kesme çalışırken daha yüksek öncelikli bir kesme oluşursa, ikinci işlem yapıldıktan sonra ilkine dönülür(nvic) IRQ2 IRQ1 Nested IRQ1 main() main()

Kesme(Interrupt) Kullanımı void UART4_IRQHandler( void )

Callback Kullanımı Callback nedir? Bir olay oluştuğunca çalışmasını istediğimiz fonksiyonun adresi (function pointer) dir. Tanımlama: returntype (*functionpointer)( parameters )

Modül arayüzü İşlemci Uygulama Yazılımı Motor Sürücü arayüzü Motor Sürücü arayüzü Analog Motor sürücü Modulu Seri Motor sürücü Modulu Analog çıkış UART Analog Motor sürücü Seri Motor sürücü Motor Motor

AT komutları ile çalışma 1 Komutlar bir enumeration içerisinde tanımlanır. Komut ve cevabı(response) parse edecek fonksiyon(callback) için bir yapı(struct) tanımlanır. Bu yapı türünden bir liste içerisine çalışılacak komutlar eklenir. 3 2 Her callback fonksiyonu kendisine gelecek cevabı parse edecek şekilde düzenlenir. UART sürücüsünden alnan veriler içerisinde OK\r\n ve ERROR\r\n aranarak cevabın tamamlandığı anlaşılarak callback fonksiyonları çalıştırılır.

CAN Protokolü BOSCH tarafından tasarlanmıştır Multi-master Max 1Mbps hız

CAN Frame 11 bit/ 29 bit Identifier 0-8 byte data

CAN Transceiver CSMA/CD+AMP

CAN Arbitration

CAN Sürücüsü

CAN Paket Filtreleme

İşletim Sistemleri Single Task main1() main() Multi Task main2() main3() Do smth. Do smth. Do another thing Do others Do another thing Do others Herhangi bir iş içerisinde beklemek diğer işleri geciktirmez. Task içerisinde beklemek ( Sleep() ) uyumak anlamına gelmez.

FreeRTOS ve ilk uygulama https://www.freertos.org/ Preemptive Nesneler Tasks Semaphores Mutexes

Bootloader Ana uygulama yı yükleyen ve çalıştıran alt uygulama dır. Flash Memory (Optional)Configuration Area Configuration Start Address İşlemci ilk çalıştığında doğrudan veya seçime balı olarak çalıştrılır. Görevleri: Ana uygulamayı güncelleyebilmek Ana uygulamayı çalıştırmak Uygulama Application Start Address Reserved Bootloader Reset Address

Bootloader Normal bir uygulamadan farkı yoktur. Yapılacak değişiklikler uygulama tarafında olacaktır. Uygulama başlangıç adresi değiştirilmeli (Linker ayarları). Vector tablosu taşınmalı (Yazılım içerisinde) Flash Memory Configuration Area Çalışması bir süreye veya GPIO girişine bağlı olabilir. İstenen haberleşme arayüzü üzerinden uygulama yazılımı güncellenebilir. Uygulama Uygulamayı güncelleyebilmek için Flash memory sürücüsü gereklidir. Reserved Bootloader

RTC Sistemin gücü kesilse dahi çalışabilecek, düşük güç tüketimli bir sayıcıdır. Bunun için Vbat girişine batarya bağlanmalıdır. Artık yıllar gibi standart takvim hesabı dışındaki hesaplamayı da otomatik olarak yapar. HSE,LSE ve LSI clock ile çalışabilir. En doğru yol LSE(32.768KHz) ile çalışmaktır. HSE güç kesildiğinde çalışmamakta, LSI ise düşük doğruluktadır.

RTC RTC kurulumu: RTC okuma:

SDIO Çevresel Birimi

SDIO Haberleşmesi

SDIO-SDCard Bağlantıları PC8~11 SDIO D0~3 (Bidirectional) PC12 SDIO CK (Output) PD2 SDIO CMD (Bidirectional) Bidirectional çıkışlarda pull-up bulunmalıdır. Mümkünse dahili pull-up lar aktif edilmelidir.

SDIO Sürücüsü 1)Low Level Init SDIO pinlerini initialize eder. 2)SDIO Init SDIO çevresel birimini initialize eder. 3)Card Initialize Bağlı olan SD kartı sorgular ve bilgilerini(kart tipi, bellek boyutu vs.) alır. 4)SDIO_Write/Read Block Sector bazında yazma ve okuma işlemlerini yapar

FAT Dosya Sistemi

FAT Dosya Sistemi

Teşekkürler Eğitim dökümanına https:///trainingdocuments.php adresinden ulaşabilirsiniz.