info@kodmek.com
Kodmek
  • Anasayfa
  • Blog
  • Araçlar
Kodmek
  • Anasayfa
  • Blog
  • Araçlar
  • Anasayfa
  • Blog
  • Araçlar
  • Anasayfa
  • Blog
  • Araçlar
STM
Home Elektronik Archive by Category "STM"

Category: STM

ARM örnekleri ve programlama
STM

STM32F103C8 Kartının USB Portunu Kullanarak Programlama

STM32F103C8 Arm tabanlı mikroişlemci barındıran STM32 Geliştirme Kartı, ARM Cortex M3 mimarisi sayesinde gittikçe daha popüler hale geliyor, yüksek çalışma hızı ve daha fazla çevre seçeneğine sahip. Ayrıca bu kart Arduino IDE kullanılarak kolayca programlanabileceğinden hızlı prototipleme için birçok hobi ve mühendis için tercih seçeneği haline gelmiştir.

Önceki dersimizde STM32 Geliştirme Kartının temellerini öğrendik ve bir basit bir uygulama programladık. Fakat programlamak için bir programlayıcı modülü kullandık ve aynı zamanda bir kod yüklerken ve test ederken önyükleme 0 jumper’ı ile 1 pozisyonu arasında geçiş yapmak zorunda kaldık. Bu kesinlikle uğraştırıcı ve pratik değil. Ayrıca Geliştirme kartındaki mini USB bağlantı noktası programlama için kullanılmamaktaydı. Bunun nedeni, STM32 geliştirme kartını satın aldığınızda, bir Arduino hazır ön yükleyici ile birlikte gelmez ve dolayısıyla USB üzerinden bilgisayarınıza bağladığınızda bilgisayarınız görmüyecektir.

Ancak yine de Maple mini anakartlar için LeafLabs tarafından geliştirilen bir ön yükleyici bulunmaktadır. Bu önyükleyici STM32’ye bir kez yüklenir ve daha sonra diğer herhangi bir Arduino kartında olduğu gibi programları yüklemek için doğrudan STM32 kartının USB portunu kullanabiliriz. Ancak bu önyükleyicinin beta aşamasında olduğunu söylemek isterim.

Gerekli malzemeler

 

STM32 – (BluePill) Geliştirme Kartı (STM32F103C8)
FTDI Programcısı

Devre şeması

Programlayıcı ve stm32 kartımız aşağıda gösterildiği gibi STM32’nin Rx ve Tx pinine bağlanır.

STM32 Geliştirme Kartı

STM32 Geliştirme Kartı

 

Stm kartımız aşağıda gösterildiği gibi programlama moduna alınır.

STM32 Geliştirme Kartı

STM32 Geliştirme Kartı

Önyükleyiciyi Karta Yükleme :

Yukarıdaki bağlantıyı yaptıktan sonra FTDI kartını bilgisayarınıza bağlayınız ve bootloader’ı STM32’ye yüklemek  için adımları takip ediniz.

  1. Adım : Önyükleyici dosyasını indiriniz
Icon

STM32duino-bootloader 10.97 KB 184 downloads

STM32duino bootloader ...
Please login to download

2. Adım: Daha sonra indirilen bin dosyasını STM32’ye aktarmak için STM Flash yükleyici yazılımını indirip kurmamız gerekiyor.

3. Adım: Yazılımı indirmek için E-posta adresinizi girmeniz gerekmektedir ve indirme linki E-postanıza gönderilecektir. Ardından bağlantıya tıklayarak yazılımı tekrar al seçeneğine tıklayın. İndirme işlemi başlayacaktır. Evet biraz sinir bozucu bir işlem gerektiriyor. E-posta için spam klasörünüzü kontrol etmeyi unutmayın, bazen E-postanın gelmesi birkaç dakika alır.

4. Adım: İndirildikten sonra yazılımı kurun, STM32 kartınızın seriport dönüştürücü kartının bilgisayarınıza bağlı olduğundan emin olun ve yazılımı başlatın. Yazılım, COM bağlantı noktasını otomatik olarak algılar ve doğru COM bağlantı noktası numarasını seçtiğinizden emin olun. Benim portum COM4. Ayarın geri kalanını aşağıda gösterildiği gibi bırakın.

stm32 kartı önyükleyici

stm32 kartı önyükleyici

5. Adım: Next butonuna iki kez tıklayın ve yazılım yine kartı otomatik olarak algılar ve aşağıda gösterildiği gibi görüntülenir. Kullandığımız kart 128K flash belleğe sahip STM32F1.

stm32 kartı önyükleyici

stm32 kartı önyükleyici

6. Adım: Bir sonraki adımda, Cihaza yükleyi seçin ve 1. adımda bin dosyamızı indirdiğimiz yere göz atın ve onu seçin. Sonraki adıma geçin

stm32 kartı önyükleyici

stm32 kartı önyükleyici

7. Adım: Yazılım, aşağıda gösterildiği gibi bazı gerekli dosyaları indirecek ve ardından yükleme sürecine başlayacaktır.

stm32 kartı önyükleyici

stm32

8. Adım: Yükleme işlemi başarıyla tamamlandığında, aşağıdaki ekranı göreceğiz. Kapat’a tıklayın ve uygulamadan çıkın. STM32 için önyükleyiciyi başarı ile yüklemiş bulunmaktayız. Şimdi, STM32 kartını programlayabilmek için Arduino IDE’yi hazırlamalı ve sürücüleri kurmalıyız.

STM32 Satın Almak İçin :

STM32F103C8 Kartının USB Portunu Kullanarak Programlama 1En Uygun Fiyata STM32F103 – stm32f103c8t6 stm32f103 stm32f1 stm32 system board learning board evaluation kit development board

Read More
MeK 15 Aralık 2018 0 Comments
112
STM

Keil uVision kullanarak STM32F103C8 Programlama

ARM Cortex M mimarisini kullanan STM32 Mikrodenetleyiciler artık yaygınlaşıyor özelliği, maliyeti ve performansı nedeniyle birçok uygulamada kullanılıyor. Önceki derslerimizde Arduino IDE kullanarak STM32F103C8’i programladık. Arduino IDE ile programlama STM32 basittir, çünkü herhangi bir görevi yerine getirmek için çeşitli sensörler için birçok kütüphane mevcut olduğundan, sadece bu kütüphaneleri programa eklememiz yetiyordu. Bu kolay bir işlemdir ve ARM işlemcileri hakkında derinlemesine öğrenmenizi engelliyecektir. Şimdi, ARM programlama adı verilen bir sonraki programlama seviyesine geçiyoruz. Bununla sadece kod yapımızı geliştirmekle kalmaz, aynı zamanda gereksiz kütüphaneleri kullanmadan da hafıza alanını koruyabiliriz.

Bu yazımızda, STM32F103C8’i, Keil uVision & STM32CubeMX kullanarak basit bir led örneğini nasıl programlayacağımızı öğreneceğiz. Kodu STM32Cube MX kullanarak oluşturacağız ve daha sonra kodu Keil uVision kullanarak STM32F103C8’e düzenleyip yükleyeceğiz.

ST-LINK V2

ST-LINK / V2, STM8 ve STM32 mikrodenetleyici aileler için bir debugger ve programcıdır. Bu ST-LINK kullanarak STM32F103C8 ve diğer STM8 & STM32 mikrodenetleyicilere kod yükleyebiliriz. STM32 uygulamaları Atollic, IAR, Keil veya TASKING entegre geliştirme ortamları ile iletişim kurmak için USB arabirimini kullandıklarından, bu donanımı STM 8 ve STM32 mikro denetleyicileri programlamak için kullanabiliriz.

ST-LINK-V2-in-Circuit-Debugger-and-Programmer[1]

STM32CubeMX

STM32CubeMX aracı, STMicroelectronics STMCube’un bir parçasıdır. Bu yazılım aracı, kodlamayı ve zamanı azaltarak kolaylaştırır. STM32Cube, grafik sihirbazlarını kullanarak C başlatma kodunun oluşturulmasını sağlayan grafiksel bir yazılım yapılandırma aracı olan STM32CubeMX’i içerir. Bu kod, keil uVision, GCC, IAR gibi çeşitli geliştirme ortamlarında kullanılabilir. Bu aracı linkten indirebilirsiniz.

Devre Şeması ve Bağlantıları

Aşağıda, bir buton kullanılarak STM32 kartlı bir LED’in bağlanması için devre şeması verilmiştir.

Circuit-Diagram-for-Programming-STM32F103C8-using-Keil-uVision-and-STM32CubeMX[1]

Burada STM32 Blue Pill board, bilgisayarın USB portuna bağlı ST-LINK’den güç alır. Bu yüzden STM32’ye ayrı ayrı güç vermemize gerek yok. 

STM32F103C8

ST-Link V2

GND

GND

SWCLK

SWCLK

SWDIO

SWDIO

3V3

3.3V

 

Circuit-Hardware-for-Programming-STM32F103C8-using-Keil-uVision-and-STM32CubeMX[1]

Keil uVision ve ST-Link kullanarak STM32’ye bir program oluşturma ve yükleme

Adım 1:  Önce ST-LINK V2 için tüm aygıt sürücülerini, STM32Cube MX & Keil uVision yazılım araçlarını kurun ve STM32F103C8 için gerekli paketleri kurun.

Adım 2: İkinci adım >> STM32Cube MX çalıştırın

Adım 3: Sonra Yeni Projeye tıklayın

Open-STM32Cube-MX[1]

Adım 4: – STM32F103C8’yi seçin

Choose-STM32F103C8-for-Programming[1]

Adım 5: – Şimdi STM32F103C8’in pin-out çizimi belirir, burada pin konfigürasyonlarını ayarlayabiliriz. Projelerimize göre çevre birimlerimizdeki pimlerimizi de seçebiliriz.

STM32F103C8-Pinout[1]

Adım 6: – Ayrıca pimi doğrudan tıklatabilirsiniz ve bir liste belirir, şimdi gerekli pin konfigürasyonunu seçin.

Select-Pin-Configuration-for-STM32F103C8-in-STM32CubeMX[1]

Adım 7: – Projemiz için PA1’i GPIO GİRİŞİ olarak, PC13’ü SERİ olarak GPIO ÇIKIŞI ve SYS hata ayıklaması olarak seçtik, burada sadece ST-LINK SWCLK & SWDIO pinlerini bağlarız. Seçilen ve yapılandırılmış pimler YEŞİL renkte görünür. Aşağıdaki resimde görülebilir.

Selected-IO-Configuration-for-STM32F103C8-in-STM32CubeMX[1]

Adım 8: – Konfigürasyon sekmesi altında, seçtiğiniz pinler için GPIO pin konfigürasyonlarını ayarlamak için GPIO’yu seçin.

Select-the-Selected-Pins-in-Configuration-tab-of-STM32CubeMX[1]

Adım 9: – Bu pin yapılandırma kutusunda, kullanıcı etiketini kullandığımız pimler için, yani kullanıcı tanımlı pin isimleri için yapılandırabiliriz.

Configure-User-Label-in-STM32CubeMX[1]

Adım 10: – Bundan sonra Proje >> Kodu Oluştur’a tıklayın.

Generate-Code-for-Programming-STM32F103C8-using-STM32CubeMX[1]

Adım 11: – Şimdi proje ayarları iletişim kutusu belirir. Bu kutuda proje adınızı ve yerinizi seçin ve geliştirme ortamını seçin. Keil’i kullanıyoruz, bu yüzden IDE olarak MDK-ARMv5’i seçin.

Select-MDK-ARMv5-a-IDE-in-Keiluvision[1]

Adım 12: – Kod Oluşturucu sekmesi altında İleri’yi, yalnızca gerekli kitaplık dosyalarını kopyala’yı ve ardından Tamam’ı tıklatın.

Copy-necessary-Library-files-for-Programming-STM32F103C8[1]

Adım 13: – Şimdi kod oluşturma iletişim kutusu belirir. Keil uvsion’da oluşturulan kodu otomatik olarak açmak için Projeyi Aç’ı seçin.

Open-the-Generated-code-for-Programming-STM32F103C8_0[1]

Adım 14: – Şimdi Keil uVision aracı, STM32CubeMx’te oluşturduğumuz kod ile, seçilen proje için yapılandırılmış gerekli kütüphane ve kodlarla aynı proje adı ile açılır.

Generated-Code-in-Keiluvision-for-Programming-STM32F103C[1]

Adım 15: – Led yakma programımız için main.c dosyası açılır ve düzenlenir.

Edit-main-Code-for-Programming-STM32F103C8[1]

Adım 16: – Şimdi while (1) döngüsüne kodu ekleyin, kodu sürekli olarak çalıştırmak için o bölümün altını çizdiğim aşağıdaki resme bakın.

while (1)
{
  if(HAL_GPIO_ReadPin(BUTN_GPIO_Port,BUTN_Pin)==0) //=> DETECTS Button is Pressed
{          
    HAL_GPIO_WritePin(LEDOUT_GPIO_Port,LEDOUT_Pin,1); //To make output high when button pressesd
}

else
{
    HAL_GPIO_WritePin(LEDOUT_GPIO_Port,LEDOUT_Pin,0); //To make output Low when button de pressed
}
}

Edit-Code-for-GPIO-pin-of-STM32F103C8[1]

Adım 17: – Kodu düzenlemeyi bitirdikten sonra, hata ayıklama sekmesi altındaki ST-LINK Debugger’ı seçin.

Select-ST-Link-Debugger[1]

Ayrıca, Ayarlar düğmesini tıklayın ve ardından Flash İndirme sekmesinin altında Sıfırla ve Çalıştır onay kutusunu işaretleyin ve ‘ok’ seçeneğini tıklayın.

Set-up-for-Programming-STM32F103C8-using-KeiluVision[1]

Adım 18: – Şimdi tüm hedef dosyaları yeniden oluşturmak için Rebuild simgesine tıklayın.

Rebuild-all-target-files-for-Programming-STM32F103C8[1]

Adım 19: – Şimdi ST-LINK’ı devre bağlantılarını hazır olarak bilgisayara bağlayabilir ve Yükleme simgesine tıklayabilir veya STM32F103C8’i oluşturduğunuz ve düzenlediğiniz kodları yükleyebilirsiniz.

Flash-STM32F103C8[1]

Adım 20: – keil uVision penceresinin altındaki işlemleri görebilirsiniz.

Flashing-STM32F103C8-using-KeiluVision[1]

Testing-Keil-Programmed-STM32-Board[1]

Icon

STM32 Led

1 file(s) 7.76 KB
Please login to download

 

 

Read More
MeK 28 Kasım 2018 0 Comments
147
STM

STM32F103 1602A LCD Bağlantısı

Bugün sizlere STM32F103 32 bit arm işlemcili kartımız ile LCD ekrana nasıl bağlantı kurulur ve yazı yazılır onu inceliyeceğiz.

Stm32 kartımızı nasıl arduino ide ile bağlantı kurup programladığımızı diğer yazılarımızda ayrıntılı olarak paylaştık. Bu kısımda sorun yaşıyanlar önceki yazılarımıza bakarak sorunları çözebilirsiniz.

STM32F103 1602A LCD Bağlantısı 2

Öncelikle LCD mizin pinlerini bağlamak ile başıyalım :

  1. LCD Rs ->A1
  2. LCD E (en) -> A2
  3. LCD D4 -> A3
  4. LCD D5 -> A4
  5. LCD D6 -> A5
  6. LCD D7 -> A6
  7. LCD RW -> GND
  8. LCD A -> +5V
  9. LCD K -> GND
  10. LCD Vss -> GND
  11. LCD Vdd -> +5V
  12. LCD V0/Vee -> Potansiyometre (Ekran Kontrastı İçin )

STM32F103 1602A LCD Bağlantısı 3

Gerekli Bağlantıları yaptıktan sonra Arduino ide mizi açarak aşağıdaki kodları derleyebilirsiniz.

/* 
 *  Konu  : LCD - 1602 serisi pin çözümü
 *  Tarih : 18/01/2018
 *  M. Enes KALE
 *  info@kodmek.com
*/
 
// Kütüphane
#include <LiquidCrystal.h>
 
// Arayüz ilişkisi için pinlerimiz
LiquidCrystal lcd(1,2,3,4,5,6);
 

 
void setup() {

 

   
}
 
void loop() {
    // LCD Başlangıç ayarları
  lcd.begin(16, 2);
  lcd.setCursor(6,0);         // 1.satır
  lcd.print("Kodmek"); // 1.satır metin
  lcd.setCursor(6,1);         // 2.satır
  lcd.print("MueN");       // 2.satır metin
  lcd.noDisplay();  // LCD Ekranı Sil
  delay(500);
  lcd.display();    // LCD Ekranı Göster
  delay(1000);

}

İşlem bukadar yukardaki kodları derliyerek kartımıza atalım kartımıza nasıl yükleyeceğimizi ve bağlantıları önceki yazımızda ele almıştık.

STM32F103 Kod Yükleme Bağlantı Şeması için Tıklayınız.
STM32F103 Arduino İDE tanımlama için Tıklayınız .

Arduino haric C dili ile programa için Mped compiler kodları :

#include "TextLCD.h"
DigitalOut myled(LED1);
TextLCD ark(PA_1,PA_2,PA_3,PA_4,PA_5,PA_6);
int main()
{
    ark.printf("Kodmek");
    float i=0.0;
    while(1) {
        ark.locate(0,1);
        ark.printf("%f",i);
        i=i+0.5;
    }
}

 

Read More
MeK 18 Ocak 2018 7 Comments
110
STM

STM32F103 Kod Atma İşlemi

Kartlarımızı da tanıttıktan sonra sıra geldi geliştirme kartımıza program atmaya. Bunun için ben STM32duino bootloader seçeneği kullanarak program atma işlemini gerçekleştirdim. Denemek amaçlı örnekler menüsünden blink adlı kodu açalım. Com portun doğru seçili olduğundan emin olmalısınız. Bendeki görüntü aşağıdaki gibi.

STM32F103 Kod Atma İşlemi 4

 

 

STM32F103 Kod Atma İşlemi 5

Kodumuz :

void setup() {

 

  pinMode(PC13, OUTPUT);

}

 

void loop() {

  digitalWrite(PC13, HIGH);  

  delay(1000);                       

  digitalWrite(PC13, LOW);    

  delay(1000);                       

}

Sonrasında da yükle diyerek kodu atıyoruz. Artık STM32 kartımızı Arduino id programımıza tanıtık bundan sonra bu kartımız için bir çok örnek ile sizlerle paylaşacağım .

Yazımız için yıldız vermeyi takıldığınız yerde yorum yazarak bizlere ulaşabilirsiniz.

Read More
MeK 17 Ocak 2018 2 Comments
83
STM

STM32F103 Arduino ide ile programlama

STM32F103 kartımızı Arduino ide ile programlayabilirsiniz.Arduino IDE programının kurulu olduğunu varsayıyorum. Eğer değilse arduino.cc adresinden download kısmından indirip bilgisayarınıza kurunuz.

Şimdi kartımızı Arduino IDE programına tanıtmamız gerekli. Bunun içinde birden fazla yol mevcut.

1.Yol:

Programı açtıktan sonra Dosya menüsü–>Tercihler menüsüne tıklıyoruz.

STM32F103 Arduino ide ile programlama 6

Aşağıda kırmızı dikdörtgen içine aldığımız yere http://dan.drown.org/stm32duino/package_STM32duino_index.json linkini ekliyoruz.

STM32F103 Arduino ide ile programlama 7

2. Yol: Araçlar menüsü—->Kartlar—>Kart Yöneticisine tıklıyoruz.

STM32F103 Arduino ide ile programlama 8

Karşımıza gelecek iletişim penceresine Due yazıyoruz. Gelen sonuçlardan da 32 bit ARM Cortex M3 lü olanı install diyerek kurulumu tamamlıyoruz.

Daha sonra buradan Arduino STM32 dosyalarını indiriyoruz. Gelen zipli dosyayı açtıktan sonra da klasörü Program Files(86)/Arduino/Hardware klasörünün içine kopyalıyoruz.

Artık stm32 kartımızı Arduino id programımıza tanıtmış olduk . Artık örneklermize geçebiliriz.

Read More
MeK 17 Ocak 2018 2 Comments
125
STM

STM32F103 Bootloader Yükleme İşlemi

Stm32F103 olan ARM tabanlı bir işlemcisi bulunan benmimde kullandığım bu kartı programlamaya başlıyalım birlikte öncelikle Bootloader yükleme ile başlıyalım :

Kartın özellikleri:

  • ARM Cortex M3
  • 72Mhz
  • 64KB/128KB Flash
  • 20KB RAM
  • Reset button
  • LED on PIN PC13
  • 32kHz Real time clock crystal
  • Jump links on Boot0 and Boot1
  • Micro USB connector for power and data
  • ST-Link header on the top of the board.

Şimdi bazı kartların bootloader olmadan gönderildiği gibi bilgiler gördüm araştırmalarım esnasında. Önce bu işlemin nasıl yapıldığını anlatmak istiyorum. 2 seçenek var önümüzde. Biri USB TTL dönüştürücü kullanmak diğeri ise ST-Link (SWD) kullanmak. FTDI bir usb ttl dönüştürücüm olduğu için ben ilk yol ile gerçekleştirdim. Aşağıdaki resimde görüldüğü gibi ftdi usb ttl dönüştürücünün üzerinde bir anahtar var. 5v ve 3.3v seçmek için. Ben 3.3 v olacak şekilde ayarladım.

1.Adım: Bağlantı Şekli: VCC ve GND’yi bağladıktan sonra dönüştürücünün RX ucunu A9 pinine, TX ucunu A10 pinine bağlıyoruz. VCC ve GND bağlandığı zaman karttaki power ledi (yeşil)ve user ledi (kırmızı) yanmaya başlayacak. Üst üste BOOT0 ve BOOT1 olarak iki jumper var. BOOT0 ‘ı 1konumuza almamız gerekiyor yani jumperı diğer tarafa takıyoruz. Bu değişikliği yaptıktan sonra reset butonuna bastığınızda user ledin sönmesi gerekli. Eğer led söndü ise 2. adıma geçebiliriz.

STM32F103 Bootloader Yükleme İşlemi 9

2.Adım: Flashlama işlemi için kullanacağımız programı indirmemiz gerek.

Bu linke tıklayarak FLASHER-STM32 adlı programı indirip kuruyoruz.

3.Adım: Bootloader dosyasını indiriyoruz. Dosyamızın adı  generic_boot20_pc13.bin ve linki. Dosyayı bilgisayarımıza kaydediyoruz.

4.Adım: Ekran görüntülerini aşağıda verdim. Sırası ile işlemleri gerçekleştiriyoruz. Ancak port name kısmı önemli. Sizde kaç nolu porta bağlı ise o değerin orada yazması gerekli.Her adımı next diyerek geçiyoruz. Ancak 3 adımda 128k ve 64k ilgili bir seçenek var. Ben 64K olarak yoluma devam ettim.

STM32F103 Bootloader Yükleme İşlemi 10 STM32F103 Bootloader Yükleme İşlemi 11 STM32F103 Bootloader Yükleme İşlemi 12 STM32F103 Bootloader Yükleme İşlemi 13

5.Adım: Yeşil renkli ifadeyi gördüyseniz işlemleri başarılı bir biçimde tamamlamışsınızdır.

Şimdi Programlamaya geçebiliriz diğer yazımızda programlamaya değineceğiz

Read More
MeK 17 Ocak 2018 0 Comments
105
STM

ARM Nedir? ARM Mimarisi

ARM Holding, kısaca ARM firması önde gelen ARM işlemci mimarisinin tasarımcısı olan firmadır. Firma tasarladığı işlemci mimarilerini lisanslama yoluyla satmaktadır. Günümüzde kullanılan hemen hemen tüm mobil cihazlarda ARM tabanlı işlemciler kullanılmaktadır.

Piyasadaki birçok ürün için ARM işlemcili denilse de aslında doğru ifade “ARM tabanlı işlemci” dir. Çünkü aslında kendi başına ARM işlemci diye bir ürün bulunmuyor. ARM firması çeşitli mimariler tasarlıyor ve bu tasarımlarını işlemci üreticisi firmalara “lisanslıyor.”. ARM firması işlemcilerin fiziki olarak üretimi yapmıyor.

ARM Ailesi:
ARM mimarisi ailesini tanıyalım. ARM’ın kendi web sitesindeki tabloya bakacak olursak:

ARM Nedir? ARM Mimarisi 14

ARM mimarisi ailesi (Kaynak: ARM Inc)  http://arm.com/products/processors/index.php

ARM mimarisinde 3 temel grup bulunmaktadır:

  1. Klasik ARM işlemciler: ARM7, ARM9, ARM11
  2. Gömülü sistemlere yönelik ARM işlemciler: Cortex-M0, Cortex-M1,  Cortex-M3,  Cortex-M4
  3. Uygulama seviyesindeki ARM işlemciler: Cortex-A5,  Cortex-A8,  Cortex-A9,  Cortex-A15

1- Klasik ARM işlemciler: 

Bu gruptaki Cortex serisi öncesi grubu oluşturuyor. ARM7 serisi daha çok Motor kontrolü, sinyal işleme gibi mikrodenetleyici uygulamalarında kullanılan mikrodenetleyicilerin çekirdeğini oluştururken, ARM9 ve ARM11 serileri uygulama seviyesinde ve daha çok mobil cihazlarda kullanılıyor. Klasik ARM çekirdekleri görece daha eski ARM ürünlerinden ve kullanımları giderek azalıyor. Bunların yerine Cortex M, R  ve A serisi ARM çekirdeklerinin kullanımı tavsiye ediliyor.

2 – ARM Cortex Embedded İşlemciler:

Cortex M ve R serileri: Bu seri, deterministik bir şekilde çalışması gereken gerçek zamanlı ve düşük güç tüketimi gerektiren uygulamalarda kullanılıyor. NXP Semiconductors, STMicroelectronics, Texas Instruments, ve Toshiba gibi işlemci üreticileri bu çekirdeğe sahip mikrodenetleyici ürünleri sunuyorlar.

3 – ARM Cortex Uygulama İşlemcileri:

Cortex –A Serisi uygulama işlemcileri
Son dönemde hayatımızda oldukça büyük yer tutan akıllı telefonlar, tablet bilgisayarlar gibi son kullanıcı ürünlerinin birçoğunda bu serideki çekirdeklere sahip işlemciler bulunuyor. Örnek vermek gerekirse iPhone, iPad, Samgung Galaxy Tablet, RIM Playbook gibi ürünlerde Cortex-A serisi ARM tabanlı mikroişlemciler bulunuyor. Bu seri daha çok yüksek performans gerektiren son kullanıcı uygulamalarının üzerinde çalışacağı platformlarda kullanılıyor.

Read More
MeK 10 Ocak 2018 0 Comments
89
STM

STM32F103 Geliştirme Kartı Flash Loader

STM32F103 Geliştirme Kartı Flash Loader nasıl yapılır şimdi sırası ile birlikte inceleyelim

STM32F kartına da program yüklemek için bir uygulama gerekiyor. Burada iyi olan STM32 lerin programı ‘serial bootloader’ (seri yükleyici) ile kabul etmesidir. Aslında Arduino da, ESP8266 da benzer (seri) bootlader mantığıyla programlanmaktadır. Esas fark Arduino da bu işlemin -otomatik- olmasıdır. Her ne kadar bu kartta bulunan seri dönüştürücü entegresinin (CH340) RTS ve DTR uçları transistör aracılığıyla STM32F103 ün BOOT0 ve RESET uçlarına bağlanmış olsa da programlamak için el ile müdahale gerekiyor.

Kartı programlamak için gerekli adımları Windows işletim sistemi için sırasıyla ele alalım.
  1. Öncelikle kartımızın üzerinde bulunan USB – SERİ dönüştürücü entegresinin driver larını indirip bilgisayarımıza kurmamız gerekiyor. Bendeki dönüştürücü CH340. Google’a “CH340 driver” yazıp işletim sistemimiz için uygun olanı bulup indiriyor ve kuruyoruz.
  2. USB kablomuzu yukarıda görüldüğü gibi sağ üstteki usb portuna bağlıyoruz ve ardından bende mavi – beyaz görülen açma/kapama butonunu aktif hale getiriyoruz. Bu işlemi takiben butonun hemen yanındaki ledin (güç ledi) yandığını görüyor ve bilgisayarımızda yeni bir usb aygıtı takıldı sesini duyuyoruz.
  3. Bilgisayar sekmesine sağ tıklayıp Yönet e tıklıyoruz. Buradan ulaştığımız Aygıt Yöneticisindeki Bağlantı Noktalarına (COM ve LPT) tıklayıp kartımızın bilgisayarımız tarafından tanındığından emin olup bilgisayarımızın bize hangi seri port numarası atadığını yazıyoruz (aşağıdaki şekilde COM7 gibi).STM32F103 Geliştirme Kartı Flash Loader 15
  4. .STM32F sitesinde verilen ve STM tarafından ücretsiz olarak dağıtılan bootlader programını indiriyoruz.  (indirmek için mail adresi gerekiyor.)
  5. Flash loader programını bilgisayarımıza kurup başlatıyoruz. Şekil 2 de görüldüğü gibi ayarları yapıp 3. adımda elde ettiğimiz Com Port u  seçiyoruz (örneğimizde COM7).STM32F103 Geliştirme Kartı Flash Loader 16
  6. Açılan ekranda altta bulunan next butonuna tıklamadan önce STM32F kartımızda gördüğümüz BOOT0 jumper ını 0V konumundan VCC konumuna alıyoruz. (kartın fotoğrafında sol orta tarafta görünen GND – BT0 – 3V3 pinlerindeki jumperı BT0-3V3 konumuna alıyoruz.) Ardından kartımızdaki RESET butonuna bir kere basıyoruz.
  7. Bilgisayarımızdaki ekranda Next seçeneğini tıklıyoruz ve “target is readable” uyarısını görüp tekrar Next seçeneğine tıklıyoruz.
  8. Sonraki ekranda entegremizin hafıza blokları ve PID numarası gibi bilgileri içeren ekran geliyor. Target kutusunun “STM32F1” ile başladığından emin olup bir daha Next e tıklıyoruz.
  9. Gelen ekranda (Şekil 3) önce “download to device” a tıklayıp sonrasında sağ tarafta bulunan “…” butonu ile .hex ya da .bin uzantılı programımızın olduğu yere gidip dosyamızı seçiyoruz.
  10. Sonra Next seçeneğini seçiyoruz ve program dosyamız yükleniyor. Dosyamız kısa bir sürede yüklendikten sonra  başarılı yükleme sayfasını görüyoruz. Bundan sonra yapmamız gereken 6. adımda VCC ye çektiğimiz BT0 (Boot0) pinini GND ye geri çekiyoruz ve RESET i tıklıyoruz. Programımız çalışmaya başladı!
Tüm kartlarda dahili halde USB – SERİ dönüştürücü olmayabilir. Bu durumda harici bir usb – seri dönüştürücü ile programı yüklememiz gereklidir. Burada yazılan tüm işlemler geçerli olup, fazladan tek yapmamız gereken dönüştürücünün RX – TX uçlarını çapraz şekilde STM32F kartının pinlerine bağlamaktır. Aynı zamanda programı STM nin geliştirdiği ST – LINK ile de yükleyebiliriz. Bunun için SWD bağlantısı ya da JTAG bağlantısı yapmamız yeterlidir.

İlerleyen zamanlarda vakit bulduğumda videolu anlatım hazırlamaya çalışacağım. Aşağıdan yazımıza yıldız vermeyi unutmayınız.

 

Read More
MeK 10 Ocak 2018 0 Comments
67
STM

STM32f103 geliştirme kartı

STM32f103 geliştirme kartı 32 bit bir işlemci mimarisine sahip olan stm32f103 geliştirme kartı ile uygun fiyata arm dünyasına girebilceğiniz bir geliştirme kartıdır. ST firmasının üretimi olan STM32 son yılların en çok tercih edilen arm cortex m3 işlemcisidir. Özellikle endüstriyel alanda çok tercih ediliyor. Bunun en önemli sebeplerinden biri tabii ki fiyat – performans oranıdır. Fakat onun haricinde güvenilirlik, dayanıklılık, fleksible olmasıyla diğer microcontroller üreticileri tarafından örnek alınan bir konumda olmasıdır. Kartın özelliklerine bakacak olursak :

STM32F103C8T6 Genel Teknik Özellikleri

Core:ARM 32 Cortex-M3 CPU.
Debug mode: SWD.
72MHz work frequency.
64K flash memory, 20K SRAM.
2.0-3.6V power, I/O.
Reset(POR/PDR).
4-16MHz crystal.
On-board Mini USB interface, you can give the board power supply and USB communication.
Size:5.3cm x 2.2cm.

Microcontroller Features

STM32F103C8T6 in LQFP48 package
ARM®32-bit Cortex®-M3 CPU
72 MHz max CPU frequency
VDD from 2.0 V to 3.6 V
64 KB Flash
20 KB SRAM
GPIO (32) with external interrupt capability
12-bit ADC (2) with 10 channels
RTC
Timers (4)
I2C (2)
USART (3)
SPI (2)
USB 2.0 full-speed
CA

İşlemcinin dökümanları oldukça uzun ve karmaşık gibi görünebilir. Ama başta da söylediğim gibi en basitten başlayıp adım adım gitmekte fayda var.

Bu kartı piyasa değeri Türkiye de 30 TL civarı bulabilirsiniz. Aliexpressden de Çinden 10 TL – 20 TL arasında getirtebilirsiniz. 20 gün gibi bir süreye Çinden gelmektedir. Bu süreyi beklemek istemeyenler için ülkemizde bir çok elektronik devre satan alışveriş web sitelerinde bulunmaktadır.

Fiyat olarak uygun olan STM32f103 geliştirme kartı benimde kullandığım bir geliştirme kartıdır. Arm dünyasına bu kart ile giriş yaptım şimdi web sitemde diğer yazılarımızda STM32f103 ile programlamaya başlıyacağız. Lütfen yorumlarınızı eksik etmeyiniz.

 

Read More
MeK 28 Kasım 2017 0 Comments
124
New Comments
  • SP Flash Tool için veysel25
  • DZ09 Smartwatch Saat modelleri ekleme için MeK
  • DZ09 Smartwatch Saat modelleri ekleme için furkan öztoprak
  • STM32F103 1602A LCD Bağlantısı için MeK

Kodmek güncel teknoloji ve programlama platformu
Bültene kayıt ol

[mc4wp_form id="357"]

Kullanım koşulları | Gizlilik Çevreve politikası

Copyright © 2023 kodmek.com. All Rights Reserved.