- Donanım ve Yazılım Geliştirme Araçlarını Seçme
- STM8S103F3P6 Geliştirme
- STM8S103F3P6 Programcı
- STM8S103F3P6 IDE ve Derleyici
- Sduino kullanan Arduino ile STM8S
- Gerekli Yazılımları İndirme
- STVD ve Cosmic C Derleyicisini Kurmak
- STM8S103F3P6 için Standart Çevre Birimi Kitaplığı
- İlk Programı Derlemek
- ST-Link V2 kullanarak Kodun STVD'den STM8S Geliştirme kartına yüklenmesi
STM8 bir dizi 8 bitlik Microcontrollers gelen STMicroelectronics maliyet duyarlı ürün geliştirme için Mikrodenetleyici ortak tercihi haline gelmiştir. Daha önce AVR, PIC ve birkaç başka ARM Cortex Mikrodenetleyici ile çalıştım, ancak bazı uygulamalarda kesinlikle aşırı hale geliyorlar ve BOM maliyetini önemli ölçüde artırıyorlar. Son zamanlarda, birkaç ucuz Çin ürününü parçaladıktan sonra, çoğunun içinde bir STM8 mikrodenetleyicisi olduğunu buldum. IC sadece ucuz değil, aynı zamanda onu birçok farklı uygulamada kullanılmaya uygun hale getiren birçok özellik ve seçenekle dolu. Örneğin, STM8S kontrolör serisi (bu eğitim serisinde öğreneceğiz) genel amaçlı bir kontrolördür, ancak Otomotiv Tasarımları için STM8A ve bu kontrolörlerin uygulamasını genişleten Düşük Güçlü pille çalışan tasarımlar için STM8L gibi başka seriler de vardır.
Bu eğitim dizisinde, STM8S mikro denetleyicilerini, daha özel olarak STM8S103F3P6'yı nasıl programlayacağımızı öğreneceğiz.. Bu özel parça numarasına başlamanın nedeni sadece fiyat / performans faktörü içindir. Sevmek!! sadece 0.25 $ (yaklaşık 20 Rupi) için bakın, 16Mhz Dahili Osilatör, 8kB Flash, 10-bit ADC, UART, SPI ve I2C ile 8 bitlik bir mikro denetleyici elde ediyoruz. Kimin ilgisini çekmez ki? Ayrıca, STM8S103F3P6 oldukça popülerdir ve bu nedenle yeni başlayan biri olarak eğitimlerin dışında yardıma ihtiyacınız olursa yeterli desteği bulacaksınız. Bundan başlayarak, PIC Programlama Öğreticilerine benzer şekilde, bu denetleyiciyi basit bir göz kırpmadan çeşitli ekran ve sensör arayüzlerine nasıl programlayacağımızı öğreneceğimiz bir dizi öğreticimiz olacak. 32-bit STM Mikrodenetleyicilerle ilgileniyorsanız STM32F103C8 Eğitimine ve projelerine de göz atabilirsiniz.
Donanım ve Yazılım Geliştirme Araçlarını Seçme
Artık mikro denetleyiciyi ortadan kaldırdığımıza göre, öğrenme sürecimize başlamak için donanım ve yazılım geliştirme araçlarını seçmemiz gerekecek. Pek çok seçenek var, burada kullanımı ücretsiz ve herkes tarafından kolayca erişilebilir olanları seçtim.
STM8S103F3P6 Geliştirme
ST'nin 8-bit Mikroişlemcisi için resmi geliştirme panosuna STM8 Keşif kiti denir, ancak yerel bir tedarikçiden veya çevrimiçi mağazadan kolayca bulabileceğiniz başka bir düşük maliyetli geliştirme kartı kullanacağız. Bu eğitimde kullanacağımız STM8S103F3P6 Geliştirme panosunun görüntüsü aşağıda gösterilmiştir.
Anakart, yalnızca geliştirmeye başlamak için gereken minimum bileşenlerden oluşur. Breadboard dostudur ve kompakt uygulamalar için uygundur. Geliştirme panosu için dahili devre şeması aşağıda gösterilmiştir.
Daha yakından baktığınızda, STM8S103F3p6 denetleyicinin yanı sıra denetleyiciyi sıfırlamak için bir sıfırlama düğmemiz olduğunu fark edeceksiniz. PB5'e (Port B pin 5) bağlı bir güç ledi ve bir test ledi ve 5V'yi bir USB bağlantı noktasından 3,3V'a dönüştüren bir AMS1117 Voltaj regülatörü. Kontrolör ayrıca gerekirse 5V ile çalıştırılabilir. Denetleyicideki farklı parçalar aşağıda işaretlenmiştir. Ayrıca, mikrodenetleyicimizi kolayca programlamak ve hata ayıklamak için kullanılabilen 3.3V, GND, SWIM ve NRST adında 4 programcı pinimiz var.
STM8S103F3P6 Programcı
Denetleyicimizi programlamak için, ucuz ve çevrimiçi olarak kolayca bulunabilen ST-LINK v2'yi kullanacağız. Bu ST-LINK v2 kartının birçok çeşidi (metal, plastik, altın, pembe, çıplak tahta) vardır ve hepsi aynı amaca hizmet eder. Benimki aşağıda gösterilmiştir, ancak herhangi bir ST-LINK programlayıcı kullanabilirsiniz, pin çıkışı farklı olacaktır, bu yüzden kasadaki pinleri doğru okuduğunuzdan emin olun. ST-Microelectronics'in kendisinden bazı ciddi hata ayıklama için kullanılabilen ST-LINK V3 de vardır. Biraz pahalı olduğu için şimdilik kullanmayacağız, gelecek için saklayacağız.
STM8S103F3P6 IDE ve Derleyici
STM8S103F3P6 için doğru IDE'yi ve Derleyiciyi seçmek kafa karıştırıcıdır, çünkü seçim yapabileceğiniz birçok seçenek vardır. STM8 Mikroişlemci için mevcut resmi araçlar aşağıdaki resimde gösterilmektedir.
Konfigürasyon tarafında, STM8CubeMx var, yazılımı denedim ve benim için tam bir hayal kırıklığı oldu. STM32Cube'den farklı olarak, STM8Cube kodu otomatik olarak oluşturamaz. Yalnızca görselleştirme amacıyla pin eşlemesi oluşturabilir ve kodunuzu bir denetleyiciden diğerine taşıyorsanız kullanışlı olabilir. Onun dışında kullanmazdım. Yani bu eğitim dizisinde bunu kullanmayacağız.
IDE ve Derleyici için seçim yapabileceğimiz birçok seçeneğimiz var. IDE için en iyi iki seçenek, IAR çalışma tezgahı ve ST Görsel Geliştirme (STVD), her ikisi de yazılım 90'lı yıllardan kalma gibi geliyor, ancak bir süre onunla oynadıktan sonra, STVD'nin yalnızca tamamen ücretsiz olduğu için iyi bir seçim olduğunu buldum. Benzer şekilde, Derleyici için, yine sadece tamamen ücretsiz olduğu için Cosmic C Derleyicisini kullanacağız. Bu IDE ve Derleyiciyi seçmenin bir başka nedeni de, ortama alıştıktan sonra, ST'nin diğer 8 bitlik Mikrodenetleyicisini çok fazla çaba harcamadan kullanmanın kolay olmasıdır. STVD'yi Cosmic C derleyicisi ile nasıl kurup kuracağımızı bu makalenin ilerleyen bölümlerinde ele alacağız.
Flashing için ST Visual Programmer (STVP) kullanacağız, bu araç STVD'yi kurduğumuzda otomatik olarak kurulacaktır. IDE'nin kendisine entegre edilecek ve hızlı bir şekilde programlamamıza ve hata ayıklamamıza yardımcı olacaktır. Nihai yazılım bir STM8 İzleme yazılımı olan STMStudio olacaktır. Yazılım, STM8'in gerçek zamanlı hata ayıklamasına yardımcı olabilir ve değişken değeri izleme, grafiği çizme vb. Gibi bazı harika özelliklere sahiptir. Bu yazılımla yeterince denemedim. Ve en azından ilk birkaç öğreticide, büyük hata ayıklama gereksinimlerine ihtiyacımız olmayacağından bu yazılımı kullanmayacağız.
STM8S Standart Çevre Birimi Kitaplığı: ST Mikroelektronik, STM8S Mikrodenetleyiciler için kod geliştirmeyi kolaylaştırmak için bir dizi kitaplık sağlar, bu kitaplığa kısaca " Standart Çevre Birimi Kitaplığı " veya SPL denir. Kitaplık, sadece kullanacağımız STM8S103F3P6 denetleyicisini değil, STM8S / A 8-bit ailesindeki olası tüm denetleyicileri akılda tutarak yazılması dışında harikadır. Bu nedenle, çalışmasını sağlamak için burada burada bazı ince ayarlar yapmalıyız (bunu daha sonra paylaşacağım). Ama yine de, denemeye değer olduğuna inanıyorum çünkü geliştirmeyi çok hızlı yapabilir ve bu nedenle, onu eğitimimizde kullanacağız.
Kitaplığı kullanmak istemiyorsanız, denetleyicinin Kayıtlarına doğrudan erişmeniz veya çıplak metal montaj programlaması yapmanız gerekir. Her ikisi de öğrenmek ve kullanmak için zamanınız olması koşuluyla eğlencelidir. Benim fikrim, SPL kitaplığını iyi çalıştığı her yerde kullanmak ve ardından gerekirse kayıt ve montaj seviyesinde çalışmaktır. Tekerleği yeniden icat etmemeye çalışalım!
Sduino kullanan Arduino ile STM8S
Arduino IDE desteği STM8S'den bahsetmezsem yazılım seçeneklerinin tartışılması asla tamamlanmayacaktır. Evet, aynı STM8S103F3P6 kartı, Michael Mayer sayesinde Sduino kullanılarak doğrudan Arduino IDE'den programlanabilir. Ancak, proje hala geliştirme aşamasındadır ve Sduino'nun tam platform desteği sağlaması için biraz zaman ve topluluk desteği gerekecektir. Ancak, Sduino ile oynadıktan birkaç dakika sonra, onu sevmeye başladım ve bu nedenle STM8S Mikrodenetleyiciyi Arduino ile nasıl programlayacağıma dair ayrı bir makale yazmaya karar verdim. Makaleyi hazır olduğunda buraya bağlayacağım. Bu makale, STM8S Mikrodenetleyicilerinizi programlamak için Arduino IDE'yi neden ve neden kullanmamanız gerektiğini tartışacaktır.
Öyleyse, bunlar Yazılım ve Donanım için seçimlerim, başka bir yazılımın daha iyi bir seçim olacağını düşünüyorsanız, yorum bölümünde bana bildirin. Diğer seçenekleri de araştırmak isterim.
Gerekli Yazılımları İndirme
Şimdi bu eğitim için kullanacağımız yazılıma karar verdiğimize göre, devam edip aşağıdaki bağlantıyı kullanarak indirelim. Tüm yazılımları indirmek ve kullanmak ücretsizdir, henüz yapmadıysanız, sadece ST ve Cosmic'e ücretsiz bir hesap açmanız gerekir.
- ST Görsel Geliştirme (STVD)
- Cosmic C Derleyici
- Standart Çevre Birimi Kitaplığı
- STM8Cube Mx (İsteğe Bağlı)
- STMStudio for STM8 (İsteğe Bağlı)
STVD ve Cosmic C Derleyicisini Kurmak
Her iki yazılımı da indirdikten sonra, yüklemek için ekrandaki talimatları izleyin. Daha sonra karışıklığı önlemek için bunları varsayılan dizinlerde bırakmanızı tavsiye ederim. STVD IDE herhangi bir çaba harcamadan kurulacaktır. Cosmic C derleyicisi için, kurulum işlemleri sırasında ücretsiz bir lisans anahtarı almanız gerekir. E-posta kimliğiyle şirket bilgilerini vermeniz yeterlidir, eğer öğrenciyseniz, bunu belirtmeniz yeterlidir. Lisans anahtarını alma süreçleri anlık ve otomatiktir, ancak kurulum talimatları bir veya iki gün sürebileceğini söylese de, lisans anahtarını e-posta kimliğime gönderir göndermez otomatik olarak aldım, sadece emin olun SPAM'ı kontrol edin. Onay E-Postam aşağıda gösterilmektedir.
E-posta talimatına göre, sadece license.lic dosyasını kopyalayın ve kurulum klasörünüzdeki “license” alt klasörüne yapıştırın. Benim için yol "C: \ Program Files (x86) COSMIC \ FSE_Compilers \ CXSTM8 \ License" idi . Dosyayı aşağıda gösterildiği gibi konuma yapıştırmanız yeterlidir.
STM8S103F3P6 için Standart Çevre Birimi Kitaplığı
Daha önce de belirtildiği gibi, ST Microelectronics, tüm 8-bit STM8S / A Microcontrollers için kullanılabilen SPL adı verilen Kitaplıklar sağlar. Orijinal SPL'yi ST Microelectronics'ten indirebilir ve gerekli değişiklikleri yapabilir veya STM8S103F3P6 SPL kütüphanelerimi indirebilir ve bu şekilde kullanabilirsiniz. Sonrasını tavsiye ederim.
ST Microelectronics'ten orijinal SPL
STM8S103F3P6 SPL
Oradayken, denetleyiciyi programlarken çok kullanışlı olacak olan SPL Kullanım Kılavuzunu da indirdiğinizden emin olun.
İlk Programı Derlemek
Artık her şey hazır olduğuna göre, IDE, Derleyici ve Kitaplığın olması gerektiği gibi çalışıp çalışmadığını kontrol etmek için ilk programımızı derlemeyi deneyelim. Ayrıntılı talimatlar için sayfanın altındaki videoyu da kontrol edebilirsiniz.
STVD'yi açarak başlayın ve açılır pencerede Dosya -> Çalışma Alanı'nı seçin, “Yeni Çalışma Alanı” nı seçin ve Programın kaydedileceği Proje adını ve yolunu girin. Programıma BareMinimum adını veriyorum ve masaüstünde bir klasöre kaydediyorum. Tamam'a tıklayın ve aşağıda gösterildiği gibi Yeni Proje iletişim kutusunu alacaksınız.
Projeyi tekrar bareminimum olarak adlandırıyorum ve araç zinciri altında STM8 Cosmic derleyicisinin kurulduğu yola giden araç zinciri kökünü belirtmemiz gerekiyor. Varsayılan yol adresi "C: \ Program Files (x86) COSMIC \ FSE_Compilers \ CXSTM8" şeklindedir . Bundan sonra "MCU Seçimi" penceresini açmak için Tamam'a tıklayın.
STM8S103F3P'yi arayın ve seçin ve Tamam'a tıklayın. Bu, STVD üzerinde STM8S103F3P için yeni bir proje açacaktır, pencereler bittiğinde böyle görünmelidir.
SPL kitaplığımızdaki tüm c dosyalarını dahil etmek için "kaynak dosya" üzerine sağ tıklayın ve "Dosyaları klasöre ekle" seçeneğini seçin, benzer şekilde tüm başlık dosyalarını dahil etmek için Dosyaları dahil et seçeneğine sağ tıklayın. Herhangi bir sorunuz varsa, aşağıdaki videoya başvurabilirsiniz. Tüm dosyalar eklendikten sonra, Derleyici ve SPL'nin beklendiği gibi çalışıp çalışmadığını kontrol etmek için Oluştur -> tümünü yeniden oluştur'u ve ardından Derle'yi tıklayın. Her şey yolunda giderse, yapı sonucu 0 hatası ve 0 uyarısıyla aşağıdaki ekranı görmelisiniz.
Bunu yaptıktan sonra, artık tüm SPL kitaplıklarımızın Cosmic derleyici ve STVD ile çalıştığından emin olabiliriz. Bu, her yeni proje için izleyeceğimiz standart prosedürdür. Ayrıca, gerektiğinde derleme süresini azaltmak için yalnızca proje için gerekli olan gerekli üstbilgi ve kaynak dosyalarını da dahil edebilirsiniz.
ST-Link V2 kullanarak Kodun STVD'den STM8S Geliştirme kartına yüklenmesi
ST-Link V2'yi geliştirme kartına aşağıda gösterildiği gibi bağlayın.
Bağlantılar oldukça basittir ve en iyi yanı, harici bileşenlere ihtiyacınız olmamasıdır. Programlama için donanım kurulumum aşağıda gösterilmektedir, bağlantımı yapmak için sadece dişi başlık kablolarını kullandım. Ancak, ST-Link'inizin pinout'unun benimkinden farklı olabileceğini unutmayın, bağlantıları yapmadan önce cihazdaki pinout'u takip ettiğinizden emin olun.
Bağlantıyı yapın ve cihazı bilgisayarınıza bağlayın, sürücü kurulumu otomatik olarak başlamalıdır. Bilgisayarınızın ST-LINK V2'yi doğru bulup bulmadığından emin olmak için aygıt yöneticisini kullanabilirsiniz. Karta ilk kez güç veriyorsa, kart üzerindeki test LED'inin yanıp söndüğünü de fark edeceksiniz. STVD'de kodu başarıyla derlediğimiz anda, proje klasörünün hata ayıklama dizini altında bir "S19" Uzantı dosyası alacağız. S19 dosyam aşağıda gösterilmektedir.
Bu S19, kontrol cihazına yüklenmesi gereken Hex dosyası gibidir. Programı yüklemek için, STVD ile birlikte kurulmuş olması gereken ST Görsel Programlayıcı'yı (STVP) açın. Ardından konfigürasyon penceresinde, aşağıdaki resimde gösterildiği gibi seçin ve Tamam'a tıklayın.
Ardından Dosya-> Aç'a tıklayın ve daha önce gösterdiğimiz S19 dosyasına gidin. Ardından cihazı flaşlamak için Program -> Geçerli Sekme'yi izleyin. Yanıp sönme başarılı olduysa, aşağıdaki çıktıyı görmelisiniz.
Varsayılan olarak, STM8S'yi satın aldığınızda, test LED'ini yanıp sönen bir yanıp sönen programa sahip olacaktır. Şimdi bu boş kodu yükledikten sonra, LED artık yanıp sönmeyecektir.
Önemli: ST-Link'imin programlamadan sonra panoyu otomatik olarak sıfırlamadığını buldum. Programımın çıktısını kontrol etmek için bağlantısını kesip yeniden bağlamam gerekti. Bunun herkes için bir sorun olup olmadığından emin değilim, yorum bölümünde bana bildirin. Ayrıca, bunun çözümünü açıklayan alttaki videoyu izleyin.
Bununla birlikte, bu öğreticiyi bitirelim, donanımın temellerini öğrendik, geliştirme ortamını kurduk ve kodun nasıl derlenip yükleneceğini öğrendik. Artık ilerlemeye hazırız ve bunu gelecekteki tüm eğitimlerimizde kullanacağız. Herhangi bir sorunuz varsa, lütfen bunları forumlarımızda yayınlayın ve daha fazlası için bizi izlemeye devam edin !!