Buradasın
STM32 Gömülü Sistemlerde C Kod Analizi ve Programlama Eğitimi
youtube.com/watch?v=YhDFNu4-jO8Yapay zekadan makale özeti
- Kısa
- Ayrıntılı
- Bu video, bir eğitmen tarafından sunulan STM32 mikrodenetleyicilerinde C kod analizi ve programlama konulu teknik bir eğitim içeriğidir.
- Video, Makrovision programı üzerinden STM32 kart üzerinde LED yanıp söndürme projesinin kod analizini içermektedir. Eğitmen, işlemci resetleme, sistem ayarları, frekans yapılandırması ve register işlemleri gibi konuları adım adım açıklamaktadır. Ayrıca mikrodenetleyicilerde bellek adresleri, register'lar, çevre birimleri, memory map'ler, offset kavramı, pointer'lar ve bit işlemleri gibi temel kavramlar da ele alınmaktadır.
- Eğitim, gömülü sistemler için C bilgisinin temel kavramlarını (for, while, kontrol yapıları, mantık ifadeleri, bit işlemleri, type def, struct, union) vurgulamakta ve STM32 için hazırlanmış header dosyaları ile ARM'ın CMC (Cortex Microcontroller System Interface) kütüphanesi hakkında bilgiler sunmaktadır. Video, bir LED ve buton kontrolü örneği üzerinden mikrodenetleyici programlamasının temel prensiplerini göstermekte ve daha detaylı bilgilerin gelecek bölümlerde anlatılacağını belirtmektedir.
- 00:01Makrovision Paket Yöneticisi ve Örnek Projeler
- Makrovision paket yöneticisinde kartla ilgili örnekler bulunabilir, örneğin STM3272 kartı için paketler mevcuttur.
- Paket yöneticisinde "update" yazan paketler indirilebilir, "install" yazan paketler ise zaten yüklüdür.
- Examples kısmında bulunan blink projesi, kart üzerindeki LED'i yakıp söndüren basit bir kod örneğidir.
- 01:18Gömülü Sistemlerde Kod Çalıştırma Mantığı
- Gömülü sistemlerde kod yazarken her şey "main" fonksiyonundan başlar, ancak işlem başlamadan önce bazı hazırlıklar yapılır.
- İşlemci çalışmaya başladığında "resettender" adı verilen bir kısımdan başlar ve belli işlemler yapıldıktan sonra "main" fonksiyonuna gelir.
- İşlemci ayağa kalktıktan sonra "systeminit" fonksiyonu çağrılır ve burada saat ayarları gibi temel ayarlar yapılır.
- 03:31İşlemci Ayarları ve Frekans Yapılandırması
- İşlemci ayarlarında frekans çarpma işlemleri (prescaler) ve bölücüler (divider) ile ilgili işlemler yapılır.
- Sistem, "sea library" içindeki standart main fonksiyonunu çağırarak asıl main fonksiyonuna ulaşır.
- "System core clock configure" fonksiyonu çağrılır ve işlemci ayağa kalktıktan sonra frekans ayarları yapılır.
- 05:30Gömülü Sistemlerde C Programlama Bilgisi
- Gömülü sistemlerde C programlama bilgisinin tam olması için temel C konuları (for, while, kontrol yapıları, mantık ifadeleri) bilinmesi gerekir.
- Lojik mantık kurma, işaretciler, fonksiyonlar, bit işlemleri ve type def, struct, union gibi kavramlar da önemlidir.
- Gömülü sistemlerde kullanılan register'lar ve çevre birimleri için özel adresler vardır ve bunları anlamak için C bilgisi gereklidir.
- 10:09Bellek Adresleri ve Pointer Kavramı
- Memory map'te her şeyin adresleri belli olup, AHB PRF'ların adresleri ve çevre birimlerinin adresleri bu haritada yer alır.
- Offset, bir şeye göreceli mesafesini vererek belirtmeyi ifade eder; örneğin bir adresi verirken doğrudan kapı numarası yerine mahalle, sokak ve daire gibi dolaylı bir yoldan belirtmek gibi.
- Pointer, bellekte bir adresi gösterir ve defrancing operatörü ile gösterdiği yere erişim sağlanır.
- 12:19Mikrodenetleyici Programlama Temelleri
- Mikrodenetleyici programlamasında temelde belli adreslere bir şey yazma veya belli aralıklarda okuma işlemleri yapılır.
- ARM gibi memory maps olan işlemcilerde, bellek haritalı sistemlerde her şey bir adres üzerinden erişilir; RAM, flash bellek ve çevre birimleri arasında erişimde fark yoktur.
- Define edilmiş dosyalar sayesinde çevre biriminin register'ını seçip istediğimiz değeri atayabiliriz ve bu değerleri atama yöntemleri eşittir işareti ile doğrudan değer atama veya bit işlemleri ile bitleri değiştirme olabilir.
- 14:17Hazır Kod Kütüphaneleri
- İşlemcinin ismiyle anılan başlık dosyaları (örneğin STM32) çevre birimlerinin isimleri ve adreslerini içerir, bu sayede her seferinde çevre birimleri adreslerini elle yazmak gerekmez.
- ARM firması CMC (Cortex Macro Controller System Interface Standard) adlı bir kütüphane yayınlar, bu kütüphane farklı firmaların aynı Cortex-M çekirdeğini kullanırken ortak bir arayüz sunar.
- CMC dosyalarında registerlar, çevre birimlerinin registerların adresleri ve kesmelerle ilgili fonksiyonlar bulunur.
- 16:36Çevre Birimlerinin Programlanması
- Sistem saat ayarları yapıldıktan sonra çevre birimlerini programlamaya geçilir; örneğin kart üzerindeki LED ve buton gibi.
- LED başlatma işlemi (initialize) sırasında enable clock açılır, register'lara bit işlemleriyle değerler atanır ve LED'in bağlı olduğu pin çalışır duruma getirilir.
- System tick timer, bir mili saniyede bir kesme üretip fonksiyonu çağırır ve bu kesme fonksiyonu LED'in yanıp sönmesini ve butonun state'ini okumayı sağlar.