STM32F103C USB BOOTLOADER

Ahmet

S38>S85
Katılım
31 Mayıs 2021
Mesajlar
6,052
Bu konuda 103C için usb'den program yüklemeye müsade eden bootloaderin nasıl yazıldığını anlatacağım.
İhtiyacımız olanlar;

1 Adet USB-UART dönüştürücü.

Bağlantı;
RX---PA9(MARKING A9)
TX---PA10(MARKING A10)

Öncelikle kartımızın üstünde bağlı olan ledin kaç numaraya bağlı olduğunu bilmeliyiz bu genelde ledin yanında sağında solunda yazar ve çoğunlukla PC13'e bağlıdır.

Kullancağımız programın adı 'ST Flash Loader'.

Com seçin,
Baud 115200
8 Bit
Parity: Even
Echo Diasble
Timeout 10

Bu adımdan sonra BOOT0 jumperini 1 konumuna kaydırmanız lazım ve resete basacağız yoksa bl yazma moduna geçmiyor.
sonraki adımda bize yeşil ışık yakması lazım yeşil yanmıyorsa konuyu baştan okuyun.

bir sonraki adımda hiçbirşeye basmayın ve next deyin.

Download to device seçiyoruz
@ (h) içeriğini 8000000 yapıyoruz.
Download from file kısmına verdiğim linkteki .bin dosyalarından;
generic_boot_pc13.bin olanı seçiyoruz.

tekrar next dediğimizde yazma işlemi başlıyor bu kısımda elektriğin kesilmemesi için dua edin yoksa herşeyi baştan almak yetmiyor erase yapmak lazım.

en son yazı maviden yeşile döndüğünde close diyip kapatıyoruz BOOT0 jumper'ını eski konumuna alıp resete basıyoruz ve bootloaderimiz yazıldı.

Arduino ide'ye nasıl kuracağız?

Arduino IDE/Tercihler/Ek Devre Kartları;
https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json

bu linki yapıştırıp tamam diyin.

Arduino IDE/Araçlar/Kart Yöneticisi;
arama yerine stm32 yazıp kurulmasını bekleyin.

Bu kadardı.
 

Ekler

  • generic_boot20_pc13.rar
    11.7 KB · Görüntüleme: 74
Bu konuda 103C için usb'den program yüklemeye müsade eden bootloaderin nasıl yazıldığını anlatacağım.
İhtiyacımız olanlar;

1 Adet USB-UART dönüştürücü.

Bağlantı;
RX---PA9(MARKING A9)
TX---PA10(MARKING A10)

Öncelikle kartımızın üstünde bağlı olan ledin kaç numaraya bağlı olduğunu bilmeliyiz bu genelde ledin yanında sağında solunda yazar ve çoğunlukla PC13'e bağlıdır.

Kullancağımız programın adı 'ST Flash Loader'.

Com seçin,
Baud 115200
8 Bit
Parity: Even
Echo Diasble
Timeout 10

Bu adımdan sonra BOOT0 jumperini 1 konumuna kaydırmanız lazım ve resete basacağız yoksa bl yazma moduna geçmiyor.
sonraki adımda bize yeşil ışık yakması lazım yeşil yanmıyorsa konuyu baştan okuyun.

bir sonraki adımda hiçbirşeye basmayın ve next deyin.

Download to device seçiyoruz
@ (h) içeriğini 8000000 yapıyoruz.
Download from file kısmına verdiğim linkteki .bin dosyalarından;
generic_boot_pc13.bin olanı seçiyoruz.

tekrar next dediğimizde yazma işlemi başlıyor bu kısımda elektriğin kesilmemesi için dua edin yoksa herşeyi baştan almak yetmiyor erase yapmak lazım.

en son yazı maviden yeşile döndüğünde close diyip kapatıyoruz BOOT0 jumper'ını eski konumuna alıp resete basıyoruz ve bootloaderimiz yazıldı.

Arduino ide'ye nasıl kuracağız?

Arduino IDE/Tercihler/Ek Devre Kartları;
https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json

bu linki yapıştırıp tamam diyin.

Arduino IDE/Araçlar/Kart Yöneticisi;
arama yerine stm32 yazıp kurulmasını bekleyin.

Bu kadardı.
Buraya kadarını yaptım, bendeki ftdi bozuk çıktı, com port olarak görünmesine rağmen programlamayınca, tarih öncesinden kalma 5V PL2303 ile bootloaderi yükledim. A9 ve A10 5V tolerant pinlerdenmiş. Yalnız şimdi programlamak için ne yapacağımı bilmiyorum.
Bu opsiyonlarla denedim olmuyor. PL2303 ile rx-tx'ten de olmuyor. COM7 olarak çıkıyor bluepill listede..

Ekran Görüntüsü (46).png


Ekran Görüntüsü (47).png
 
DFU olarak seç abi.
103 üstündeki usbyi bağla bilgisayara.
com portlarda mapple mini olarak görünecek
jumper vs. kaydırmana gerek yok
@semih_s
 
Eğer stm32 üzerinde python kodu çalıştırmak istiyorsan, senin boot loader ile falan işin yok. Senin o işlemci ile uyumlu olan bir micropython bulup o işlemciye yazman lazım. Bunu yazdıktan sonra artık seri terminal ile bağlanıp doğrudan python kodu çalıştırabilirsin.
 
  • Beğen
Reactions: nt
selam konu hakkında bılgım yok sacma sorular olabilir ogrenmeye calısıyorum
@Omega dedenin kartı gelene kadar bir kart buldum idarelik karta mikrousbden baglanıp

hello yazdıgımda bana bootloader kurdugumu soyleyıp tebrık etti gıthubdan bır repoya yolendırıyor

bootloader sadece program yuklemek ıcınmı kartın ıcınde ne var ne yok nasıl gorebılırım

bunu python ile vs code ustunden yapıyorum
Python:
import serial
kart = serial.Serial('/dev/ttyACM0', 115200)
print(kart.bytesize)
print(kart.inter_byte_timeout)
print(kart.in_waiting)
print(kart.port)
print(kart)
cıktısı:
8
None
0
/dev/ttyACM0
Serial<id=0x7f331d9b4f40, open=True>(port='/dev/ttyACM0', baudrate=115200, bytesize=8, parity='N', stopbits=1, timeout=None, xonxoff=False, rtscts=False, dsrdtr=False)

sureklı aynı portdan baglanması ıcın nasıl programlıyabilirim ? ama bunu karta yapmak ıstıyorum bılgısayara echo ıle degıl
teşekkürlerler
Elindeki kart tam modeli nedir?
Üstünde bir dahili ST-LINK barındırıyor mu?
Kartını uPython ile mi programlamak istiyorsun yoksa sadece deneme mi yapmak istiyorsun?

Bootloader aslında iskelet gibi düşünebilirsin. Senin için işlemci içinde iskeleti oluşturur sende iskeletin üstüne eklemeler yaparsın.
Nedir bu iskelet?
Program nerede saklanacak onu belirler, belli başlı özel görevi olan dijital ve analog pinlerin özel görevlerine alt yapı oluşturur örneğin spi,i2c vs.
içinde pll bulunuyorsa bu pll'i senin ayarladığın çarpan ile çalıştırır vs. vs. ne kadar mcu hakimiyetin var bilmediğin için bunu yüzeysel geçtim detay yazabilirim.
 
mıcropyton falan karıstırmayalım abı ya bole devam :D veri akışını hızlandırma işine sonra bakarız kapıda kaldım kart konusunda :katil1:

Eğer C/C++ kodu yazacaksan ve bunu Arduino IDE altında yapacaksan, boot loader'a ihtiyacın var.
 
@Ahmet

blue pıll
st lınk de var ama kafam karıştı
karta şimdilik pythonla ulaşıyorum

kodlama yapmıcam ıcıne sımdılık ulaşmaya çalıştım bootloader programları bu bılgılerı gostermek ıcın olusturulmus cerceveler falan yanı word,exel gıbı
103 için 2 varyasyon var.(aslında 2'den fazla)
32F103C8T6
32F103C6T6
Sendeki model C6T6 ise hafızan çok küçük içine usb flash boot yazarsan sana ancak birkaç for döngüsü yazacak hafıza kalıyor :(

Karta ulaşmak'dan kastını anlamadım ulaşıp ne demesini veya ne yapmak istiyorsun.
Bence önceliğin mcu nedir? sorusuna aklına tam yatan bir cevap bulmak olsun.
İçinde firmware ve bootloader olmayan bir mcu tuğladan farksızdır sana tepki vermesi çok olası değildir.
 
st link varsa usb bootloader tamamen hafızamızı boşa kullanmaktan başka bir şey değil!
usb bootloader ile debug yapamazssın.
eğer bir hid uygulaması vs. yapmak istersen her program yükleyeceğin zaman kartı resetlemek ve program hid olarak ek sıkışmadan sen programı yüklemek zorundasın.

çok başarılı bir boot değil st link varsa programlamak ve debug yapmak için st link kullan.

önereceğim ide keil ücretsiz versiyon veya stm cube ide(hall kütüphanesi kullanma!)
 
Yani ne diyorsun @Ahmet işe yaramıyorsa göndermeyimmi?:katil2:
Bence mcu'ya ilk adımı atmak için arm mimarisi ile çalışmak ağır olacaktır ilk 3-4 adım için avr veya 24 serisi pic çok uygun.

bu 3-4 adımı atıp heee evet mcu böyle birşeymiş dedikten sonra artık gönlün neyi isterse ona geçersin.
 
@Ahmet @nt için Arduino en çok bir aylık konu, STM32 ilede sanırım 6 ayda süper programlar yazacak hale gelir.
Baksana Ide siz donanımsız neler yapıyor.Hızına yetişilemiyor. Maşallah
 
  • Beğen
Reactions: nt
@Ahmet @nt için Arduino en çok bir aylık konu, STM32 ilede sanırım 6 ayda süper programlar yazacak hale gelir.
Baksana Ide siz donanımsız neler yapıyor.Hızına yetişilemiyor. Maşallah
arduino bir ekosistemdir.
mcu öğrenmek bambaşka birşey.
1 ayda mcu evet öğrenebilirsin ama fikrin olur, 1 yılda mcu öğrendim dersin, 10 yılda hiç klavye başına oturmadan ne yazacağını nasıl çalışacağını biliyor hale gelirsin.

her konuda fikrin olacağına tek bir konuda ustalığın olsun taraftarıyım.
1 ayda mcu öğrenebilecek kimseyle tanışmadım şu zamana kadar. Yanımda 15 yılı aşkındır gömülü yazılım üstüne çalışan ustam var onun bile durup düşündüğünü denemeler yaparak sonuca ulaştığını görüyorum.

@nt 32f103'ü çok yanlış yerinden tutmuş en verimsiz uPy ile programlanır diye düşünüyorum.
 
Haklısın bende ATMEL yazacağıma arduino yazdım .Kesinlikle katııyorum cümlelerine .Öylle 6 ayda programcı olmak 1 yılda elektronikçi olmak diye bir kavram yok.

Üniversite sınavında en üstteki bilmem kaçbininci kişilerden olacaksın dört yıl okuyacaksın sonra yavaş yavaş öğreneceksin.
Haa okul bittiğinde süper olabilenler vardır ama onlarında evveliyatı var adam ortaokuldayken yazılımla uğraşmış elektronikle uğraşmış kişiler falan. Örnek @Ahmet ) *

*Bu konuda gayet ciddiyim 19 yaşında olduğuna hala inanamıyorum senin bu bilgilerini ve tecrübelerini görünce hayran olmamak elde değil.
Birde sallayan elektronikçiler var (Youtube da çok var :katil2: )
 
Son düzenleme:
Haklısın bende ATMEL yazacağıma arduino yazdım .Kesinlikle katııyorum cümlelerine .Öylle 6 ayda programcı olmak 1 yılda elektronikçi olmak diye bir kavram yok.

Üniversite sınavında en üstteki bilmemm kaçbininci kişilerden olacaksın dört yıl okuyacaksın sonra yavaş yavaş öğreneceksin.
Haa okul bittiğinde süper olabilenler vardır ama onlarında evveliyatı var adam ortaokuldayken yazılımla uğraşmış elektronikle uğraşmış
Aslında gömülü ve elektronik alanında geliştiğim bütün süreyi bu forumda kaydettim hatta bizzat @taydin ve @Gokrtl abi şahit.

Şimdi kompresör ve kondanser kontrolü üstüne çalışan bir işletmede gömülü yazılımcıyım,
evde yaptığım projelerin kıymetini okulda ve çalışırken gördüm gömülü yazılımcı olmak çok iyi c bilmek vs. değilmiş.
Gördüğün bir çalışan sistemi kafanda tam anlamıyla oturtup bunun çevresinde yazılım geliştirmekmiş.
Bunu evde yaptığım projelere borçluyum aslında bir şeyi geliştirmek için uğraştıkça teknik zekası gelişiyor insanın.
@nt tek tavsiyem öğrenirken ayakların yere sağlam bassın komutu öğrenirsin 3-5 gün sonra unutursun video izlersin haftaya unutursun ama proje yaparsan aklına kazımış olursun yapabildiğin kadar büyük&küçük çaplı proje yap havada kalmasın izlediğin okuduğun hiç birşey.
 
serial.Serial('/dev/ttyACM0') ile bir seri porta erişim açarsan, o portu programda temsil eden bir nesne oluşturuyorsun. Bu nesnenin id'si her seferinde farklı olabilir, burada bir sorun yok.
 
ID bizi neden ilgilendirsin ki?

 
ID bizi neden ilgilendirsin ki?

kartla mikrousb / typC üzerinden olan iletişim konusunda daha fazla şey öğrenmek istiyorum?

stmdunio ya da sordum

onlarada foruma gel diyo
o buraya gelsin bizmi gitcez abi
 
Son düzenleme:

Forum istatistikleri

Konular
5,788
Mesajlar
99,012
Üyeler
2,464
Son üye
s4met

Son kaynaklar

Son profil mesajları

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)
Kesici/Spindle hızı hesaplamak için SpreadSheet UDF'leri kullanın, hesap makinesi çok eski kalan bir yöntem :)
Dr. Bülent Başaran,
Elektrik ve Elektronik Mühendisi
Yonga Tasarım Özdevinimcisi
Üç güzel "çocuk" babası
Ortahisar/Ürgüp/Konya/Ankara/Pittsburgh/San Francisco/Atlanta/Alaçatı/Taşucu...

Back
Top