STM32 Bluepill kurulumu ve deneyler

taydin

Timur Aydın
Staff member
Katılım
24 Şubat 2018
Mesajlar
21,813
Bugün STM32 Bluepill kartları elime ulaştı. STLink V2 de aldım. İnternette sipariş ederken altın renk olanı sipariş etmiştim mavi renk geldi. Muhtemelen bunların hepsinin devresi aynıdır, sadece kimin çaktığı farklı. Ama sonra içini de açıp karşılaştırma yaparız.

DSC00095.JPG


DSC00093.JPG
 
İki farklı işlemci seçeneği var bunlarda. Birisi STM32F103C8 diğer STM32F103C6. Aralarındaki fark, dahili flash ve RAM bellek miktarı.
 
Kartı aynen paketinden çıktığı gibi USB porta bağlayınca üzerindeki kırmızı LED yanıyor.

DSC00096.JPG
 
  • Beğen
Reactions: nt
Bu kartı Arduino IDE ile kullanabilmek için yapılması gerekenler ile ilgili internette bolca yönerge var. Ama önce kartı Arduino IDE içerisinde tanımlayalım ve ne oluyor ona bakalım.

Bunun için kartın Board Support Package URL ini IDE ayarlarına giriyoruz

1699632053504.png
 
  • Beğen
Reactions: nt
Sonra Board Manager menüsünden "STM32 MCU based boards" desteğini kuruyoruz

1699632101565.png
 
Son düzenleme:
  • Beğen
Reactions: nt
Sonra da kullanacağımız işlemci kategorisini seçiyoruz

1699632635370.png
 
Board olarak da bluepill'i seçiyoruz. Ben STM32F103C8 olan kartı kullanacağım

1699632701233.png
 
  • Beğen
Reactions: nt
Sonraki aşamada STM32CubeProgrammer'i kurdum. Tabi birşeyi Linux'ta kurup da öyle hemen çalışmasını beklemek biraz fazla optimist oluyor. STLink'i takınca tanımadı. STM32CubeProgrammer kurulum dizininin altında udev kurallarının olduğu dosyalar var, onları /etc/udev/rules.d/ altına kopyaladım. Sonrasında STM32CubeProgrammer STLink'i gördü.

Ama burada devam etmeden önce Blue Pill in satıldığı şekliyle üzerindeki program nedir biraz daha araştırdım. Aşağıdaki sayfaya göre zaten Arduino boot loader ile geliyormuş bu.


Bu durumda STM32CubeProgrammer i bir kenara bıraktım, yukarıdaki ayarları yaptım, ama programı karta yükleyemiyorum. Zaten sistem loglarına bakınca da Linux sistemi bunu bir USB aygıt olarak da haberleşemiyor

Kod:
Nov 10 20:23:33 bonsai kernel: usb 1-2: new full-speed USB device number 67 using xhci_hcd
Nov 10 20:23:33 bonsai kernel: usb 1-2: device descriptor read/64, error -71
Nov 10 20:23:34 bonsai kernel: usb 1-2: device descriptor read/64, error -71
Nov 10 20:23:34 bonsai kernel: usb 1-2: new full-speed USB device number 68 using xhci_hcd
Nov 10 20:23:34 bonsai kernel: usb 1-2: device descriptor read/64, error -71
Nov 10 20:23:34 bonsai kernel: usb 1-2: device descriptor read/64, error -71
Nov 10 20:23:34 bonsai kernel: usb usb1-port2: attempt power cycle
Nov 10 20:23:35 bonsai kernel: usb 1-2: new full-speed USB device number 69 using xhci_hcd
Nov 10 20:23:35 bonsai kernel: usb 1-2: Device not responding to setup address.
Nov 10 20:23:35 bonsai kernel: usb 1-2: Device not responding to setup address.
Nov 10 20:23:35 bonsai kernel: usb 1-2: device not accepting address 69, error -71
Nov 10 20:23:35 bonsai kernel: usb 1-2: new full-speed USB device number 70 using xhci_hcd
Nov 10 20:23:35 bonsai kernel: usb 1-2: Device not responding to setup address.
Nov 10 20:23:36 bonsai kernel: usb 1-2: Device not responding to setup address.
Nov 10 20:23:36 bonsai kernel: usb 1-2: device not accepting address 70, error -71
Nov 10 20:23:36 bonsai kernel: usb usb1-port2: unable to enumerate USB device
 
  • Haha
Reactions: nt
USB den kullanabilmek için ayrı bir bootloader
yüklemek gerekli.
Bu hali ile usb-seriport dönüştürücüsü ile
kullanabilirsiniz. Ya da, Arduino ile oluşturulan
.bin, .hex dosyasını ST-Link ile yükleyebilirsiniz.
 
Bu hali ile usb-seriport dönüştürücüsü ile
kullanabilirsiniz.

Kullanılamıyor çünkü USB enumeration tamamlanmıyor. Yani linux bunu bir USB aygıt olarak görmüyor.

Neyse, biraz internette araştırınca bu tip çakma, jenerik blue pill'lerdeki firmware'in sorunlu olduğu anlaşılıyor.

Aşağıdaki EEVBlog konusunda bir firmware linki verilmiş


Firmware linki de şu


Bakalım bunu STLink ile programlayayım
 
STLink ile blue pill arasındaki bağlantıları yaptım. Hem blue pill üzerinde hem de STLink üzerinde sinyal isimleri yazıyor, o yüzden burada tekrar koymaya gerek görmüyorum.

DSC00097.JPG
 
  • Beğen
Reactions: nt
binary firmware'i STM32CubeProgrammer'a yükledim ve programlama sorunsuz tamamlandı

1699639379989.png
 
  • Beğen
Reactions: nt
Tekrar deneyince USB enumeration çalıştığı görülüyor

Kod:
Nov 10 21:26:36 bonsai kernel: usb 1-2: new full-speed USB device number 109 using xhci_hcd
Nov 10 21:26:37 bonsai kernel: usb 1-2: New USB device found, idVendor=1eaf, idProduct=0003, bcdDevice= 2.01
Nov 10 21:26:37 bonsai kernel: usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Nov 10 21:26:37 bonsai kernel: usb 1-2: Product: Maple 003
Nov 10 21:26:37 bonsai kernel: usb 1-2: Manufacturer: LeafLabs
Nov 10 21:26:37 bonsai kernel: usb 1-2: SerialNumber: LLM 003
Nov 10 21:26:37 bonsai mtp-probe[620165]: checking bus 1, device 109: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-2"
Nov 10 21:26:37 bonsai mtp-probe[620165]: bus: 1, device: 109 was not an MTP device
Nov 10 21:26:37 bonsai mtp-probe[620168]: checking bus 1, device 109: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-2"
Nov 10 21:26:37 bonsai mtp-probe[620168]: bus: 1, device: 109 was not an MTP device
Nov 10 21:26:37 bonsai kernel: usb 1-2: USB disconnect, device number 109
Nov 10 21:26:38 bonsai kernel: usb 1-2: new full-speed USB device number 110 using xhci_hcd
Nov 10 21:26:38 bonsai kernel: usb 1-2: New USB device found, idVendor=1eaf, idProduct=0004, bcdDevice= 2.00
Nov 10 21:26:38 bonsai kernel: usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Nov 10 21:26:38 bonsai kernel: usb 1-2: Product: Maple
Nov 10 21:26:38 bonsai kernel: usb 1-2: Manufacturer: LeafLabs
Nov 10 21:26:38 bonsai kernel: cdc_acm 1-2:1.0: ttyACM1: USB ACM device
Nov 10 21:26:38 bonsai mtp-probe[620181]: checking bus 1, device 110: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-2"
Nov 10 21:26:38 bonsai mtp-probe[620181]: bus: 1, device: 110 was not an MTP device
Nov 10 21:26:38 bonsai mtp-probe[620188]: checking bus 1, device 110: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-2"
Nov 10 21:26:38 bonsai mtp-probe[620188]: bus: 1, device: 110 was not an MTP device
Nov 10 21:26:40 bonsai ModemManager[932]: <info>  [base-manager] couldn't check support for device '/sys/devices/pci0000:00/0000:00:14.0/usb1/1-2': not supported by any plugin
 
Son düzenleme:
  • Beğen
Reactions: nt
Seri port olarak tanınıyor kart, ama programlama gene çalışmıyor.

Kod:
+-----------------------------------------------------------------------+
|         HID-Flash v2.2.1 - STM32 HID Bootloader Flash Tool            |
|     (c)      2018 - Bruno Freitas       http://www.brunofreitas.com   |
|     (c) 2018-2019 - Vassilis Serasidis  https://www.serasidis.gr      |
|   Customized for STM32duino ecosystem   https://www.stm32duino.com    |
+-----------------------------------------------------------------------+

> Trying to open the [ttyACM1]...
> Toggling DTR...
unable to set portstatus: Protocol error
unable to set portstatus: Protocol error
unable to set portstatus: Protocol error
unable to set portstatus: Protocol error
> Searching for [1209:BEBA] device...
##########
the selected serial port
 does not exist or your board is not connected
Error - [1209:BEBA] device is not found :(> Searching for [ttyACM1] ...
> [ttyACM1] is found !
> Finish
 
Programlayıcı olarak STLink'i kullan dedim Arduino IDE ayarlarında, şimdi çalıştı.

Madem STLink'i kullanıyor, o zaman boot loader'a ne gerek var diyerek işlemciyi erase ettim. Full chip erase. Sonra tekrar denedim ve bu şekilde Arduino IDE programlayamıyor. İlla boot loader'i istiyor. Bu çok saçma geldi bana ...

Ama neyse, bu şekilde programlayabiliyorum. En temel blink kodunu çalıştırdım ve blink yapıyor şu anda

C++:
void setup()
{
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop()
{
  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                       // wait for a second
}
 
  • Beğen
Reactions: nt
.hex dosyanızıda paylaşırmısınız rica etsek :tamam2:
 
Bugün STM32 Bluepill kartları elime ulaştı. STLink V2 de aldım. İnternette sipariş ederken altın renk olanı sipariş etmiştim mavi renk geldi. Muhtemelen bunların hepsinin devresi aynıdır, sadece kimin çaktığı farklı. Ama sonra içini de açıp karşılaştırma yaparız.

26516 eklentisine bak

26517 eklentisine bak
Hocam 2018 de aldığım pembe st-linkin fotoğraflarını ekliyorum sarı ışık altında çektiğim için biraz karanlık olmuşlar ama daha detaylı isterseniz işyerinde mikroskop altında çekebilirim.

1699644073621.png

1699644116345.png

1699644148766.png


bu da nucleo kartındaki stlink çıplak göz ile baktığımda denetleyicilerin kesinlikle farklı olduğunu söyleyebilirim ama aralarında 3 4 yıl fark ta var stlinki komple 1,98 dolara almışım yani muhtemelen sahte bir stm32 kullanmışlar.
1699644423058.png
1699644490388-png.26536
 

Ekler

  • 1699644383031.png
    1699644383031.png
    275.8 KB · Görüntüleme: 33
  • 1699644490388.png
    1699644490388.png
    161.7 KB · Görüntüleme: 229
  • Beğen
Reactions: nt
Bendekinin resimleri. Ne idüğü belirsiz bir işlemci kullanılmış benimkinde

DSC00099.JPG


DSC00110.JPG
 
Geehy APM32F103C8T6


Yani STM32F103C8T6 nın fasonu mudur nedir?
 

Forum istatistikleri

Konular
5,844
Mesajlar
99,702
Üyeler
2,481
Son üye
rfdog12

Son kaynaklar

Son profil mesajları

gruptaki arkadaşlara selamlar. sıteyi bu gün fark ettim. Asansör için 2x7 segment LCD gösterge üretmek istiyorum. acaba bu sayfadaki arkadaşlardan destek alabilirmiyim. LCD nin mantık açılımı ektedir.
deneyci wrote on TA3UIS's profile.
Selam.
Amatör telsiz lisansı nasıl alınıyor?
Lisansı olmayanı forumlarına almıyorlar. :)
Bilgi alamıyoruz.
cemalettin keçeci wrote on HaydarBaris's profile.
barış kardeşim bende bu sene akıllı denizaltı projesine girdim ve sensörleri arastırıyorum tam olarak hangi sensör ve markaları kullandınız yardımcı olabilir misin?
m.white wrote on Altair's profile.
İyi akşamlar.Arabanız ne marka ve sorunu nedir.Ben araba tamircisi değilim ama tamirden anlarım.
* En mühim ve feyizli vazifelerimiz millî eğitim işleridir. Millî eğitim işlerinde mutlaka muzaffer olmak lâzımdır. Bir milletin hakikî kurtuluşu ancak bu suretle olur. (1922)
Back
Top