Professional Documents
Culture Documents
Modül1-Ders1-Ders2 - Genel Giris-Datasheet Okuma-Stm32f4 Özellikleri
Modül1-Ders1-Ders2 - Genel Giris-Datasheet Okuma-Stm32f4 Özellikleri
Modül1-Ders1-Ders2 - Genel Giris-Datasheet Okuma-Stm32f4 Özellikleri
OKUMA-STM32F4 ÖZELLIKLERI
MODÜL ICERIGI;
2.Temel Kavramlar
Mikroişlemci ve mikrodenetleyici kavramları
System on Chip(SOC)
DRAM ve SRAM
EEPROM ve flash memory
Osilatörler
Giriş-çıkış birimi
3.ARM ve ST Giriş
Arm ve ST nedir?
Dökümanların indirilmesi ve tanıtılması
Arm ailesine genel bakış
ARM mimarisinin incelenmesi
Bus kavramı
Instruction set kavramı
Register kavramı
Preprocessor Memory Mapping
Adres ve offset Kavramı
STM32 kartının tanıtılması
STLink Programlayıcı
4.ARM CORE
Arm core
Reset vector
Stack pointer
Link register
Program counter
Kurs kapsami:
Hersey temelden sifirdan ele alinacaktir. Ön kosul C bilgisi kesin olmalidir.
Kursta yapilan uygulamalar REGISTER düzeyinde olacaktir. Bunun yaninda HAL Kütüphanesi ve
CUBEMX de anlatilacaktir.
STM32 Discovery Karti kullanilacak ve Gelistirme ortami olarak STMCUBE IDE kullanilacaktir. Bu
sadece örnek amacli ama genel olarak MIKRODENETLEYICI programla becerisi saglanacaktir.
Elektronik ve yazilimin birLesmesi ile olusan, hayati boyunca ayni isi yapan sistemlere gömülü sistem
denir.
Firmware(embedded Software): Gömülü sistem icindeki yazilim. Gömülü sistemler islem gücü, bellek
kapasitesi olarak sinirli kaynaga sahip sistemlerdir. Kapasite bilgisayarlar gibi GB seviyesinde degil MB
hatta KByte seviyesinde bellek kapasitesine sahiptirler. Gömülü sistemin güc tüketimleride önemlidir.
- az güc tüketmeli,
- bakimi kolay,
- ve okunurlugu yüksek olmalidir.
Kod verimliligi söz konusu olmasindan dolayi C ve CPP programlama dilleri kullanilmaktadir.
1. Yüksek Performans,
2. Düsük Güc Tüketimi,
3. Maliyet Düsüklügü,
ARM mimarisinde 3 temel grup bulunmaktadır:
ARM firmasi islemci ya da mikrodenetleyici üretmez sadece islemci mimarisi tasarlar. Yari iletken üretim
firmalari (ST, NXP, ATMEL,Samsung...) ARM firmasinin tasarladigi islemci mimarisini satin alarak ona
uygun mikrodenetleyici üretir.
Aritmetik ve lojik isllemleri yapan birim CPU. Bunun kaydedildigi alan Memory. Bunun dis dünya ile
baglantisini I/O Birimleri ile saglanir.
En cok kullanacagimiz iki dokuman:
STM32F04 DATASHEET
STM32F4 REFERENCE MANUAL
https://www.st.com/resource/en/datasheet/stm32f405rg.pdf
https://www.st.com/resource/en/reference\_manual/dm00031020-stm32f405-415-stm32f407-417-
stm32f427-437-and-stm32f429-439-advanced-arm-based-32-bit-mcus-stmicroelectronics.pdf
https://www.st.com/en/microcontrollers-microprocessors/stm32f4-series/documentation.html
https://www.st.com/resource/en/user\_manual/um1724-stm32-nucleo64-boards-mb1136-
stmicroelectronics.pdf
FPU --> Floating Point Unit:Gercel Sayilarla islemleri daha hizli yapmamizi saglayan ayri bir ünitesi var.
1.25 DMIPS/MHZ ---> MHZ basina DMIPS degeri, 1.25x168= 210 DMIPS degerine sahip
microdenetleyici. Diger islemciler ile karislastirma yapmak icin kullanilabilir.
DSP:Digital Signal Processing: Sayisal isaret islemede kullanmak icin kullanilan islemcilerdir. MCU'lar
genel amacli mikrodenetleyicilerdir.
1Mbyte hafiza**(Flash Memory)-**--> Kalici bellek, yani elektrik enerjisi kesilince de veri silinmiyor.
Program kodlari Flash da olur. ST Link Programlayicisi ile flash' lama yapilir. Bizim mikrodenetleyici
board üzerinde hazir var.
SRAM: Statik RAM: Yazilabilir silinebilir RAM. Degiskenler RAM de tutulur Energi kesildiginde
icindeki veriler silinir!!
32 kHz kristal osilatöre sahip. Özel amaclar icin kullanilir. WDT, Real Time Clock
PLL; frekansi istenilen degeri getirmek icin kullanilir.
Low Power Operation: Düsük güc harcama özelligine sahip. Sleep, Stop, Standby modlarina
sahip.
Sleep Modu: islemcinin saat isareti ve cevresel birimler aktif. islemcinin cekirdek(Core) kismi durur.
Tekrar calismaya hizli gecer.
Stop Mode: Islemcinin saat isareti, cekirdek kismi ve cevresel birimler durur. Islemci daha az güc
tüketir bur durumda.
Standby Mode: Islemciyi yazilimsal oalrak kapatmak. Software off.
----> Milisaniyelerin önemli olmadigi, güc tüketiminin önde oldugu durumlarda Sleep Mode kullanilabilir.
Vbat: Real Time Clock(RTC) icin disardan birgüc baglanabilir. Islemcinin gücü kesilse dahi saat
calismaya devam eder.
3 adet 12 bit cözünürlükte ADC var.
BLOCK DIAGRAM
Arm Cortex Islemcileri:
Micro Architecture:Bular biribirine nasil baglanacak, verielr nasil tasinacak, kontrol mekanizmasi
islemcinin elektronik arayüzü
Instruction Set Architecture (ISA) :Yazilimsal arayüzü
Register: islemcinin cekirdek kisminda yer alan bellek bölgesine denir. Register olabilmesi icin hizli bir
sekilde yazilip ve silinebiliyor olmasi ve islemcinin cekirdek kismiyla baglatili olmali.
Registerlar bir sayi ile adreslenir yada özel bir isim ile de isimlendirilir. GPIOA gibi..
Absolute Adres: Bir yerin baslangic adresinden gittigi yere kadar olan adresi ifade ediyor. 2000 ---> X
Noktasi
Relative Adres: Bir yeri referans alarak ifade edilen adres. Y=X+400
mili->10^-3
micro->>10^-6
nano->10^-9
piko->10^-12
MEMORY MAPPING
Cevresel birimleri kullanabilmek icin burdaki adres bloklarini kullanacagiz. Biz burdaki adres belleklerini
010101... yazarak programlama yapacagiz. Register seviyesinde programlama buna denir. Yada teknik
anlamda Bare Matel Programming denir.
BOOT Pins: Programiniz nereden baslasin. Flash memory, System Memory, SRAM bunlardan
hangisinden baslasin sisteme güc verildiginde. BOOT pinlerinin durumuna göre.
Boot Loader: Islemcinin icindeki programi degistirmek icin kullanilir. Mesela bir cihaz ürettik 20 bin
kisiye sattik fakat yazilimsal hata var. Bunu düzeltmenin yolu Boot Loader.
Bizim islemcimiz 32 bitlik bir islemci. Yani bir cycle'da 32 bit büyüklügünde veri isleyebilir. 64 bitlik bir
veri alip yada göndermek icin 2 cycle göndermeli.
uint32_t k;
Osilatörler:
HSI(High Speed Internal)