32f030 blokaj kaldırma

Başlatan papsukkal, 29 Mart 2024, 04:40:20

papsukkal

Herkese merhaba

Cube ide ile kodları oluşturup stlink aracılığıyla STM32F030F4 çipe yükledim. Yükleme biter bitmez no target hatası aldım. Sonradan fark ettim ki Debug Serial Wire işaretlememişim. dolayısıyla benim swdclk ve swdio pinleri görev değiştirdi.

Datasheet e göre reset işleminin hemen ardından bu pinler SWDIO ve SWDCLK olarak set oluyormuş. Ama ben başaramadım.

İnternetten baktığımda boot0 pinine 3.3v verince STlink bağlanıyor ama o da sanırım benim işlemciyi kapsamıyor. Denedim o da olmadı.

Bu işlemciyi nasıl kurtarabileceğim hakkında bilgi sahibi olan yardımcı olursa sevinirim.

Tagli

İçine attığın program SWDIO & SWDCLK pinlerini kullanıyorsa cihaza programlayıcı ile bağlanırken sorun yaşayabilirsin. Bu durumda NRST bağlantısını da yapman lazım işlemci ile programlayıcı arasında. STM32CubeProgrammer'da reset ayarları ile ilgili bir şeyler vardı. Onları bir kurcala.

Olayın BOOT0 pini ile ilgisi olmasa gerek. Bu pin 1 iken kendi bootloader'ı devreye gireceği için senin yüklemiş olduğun SWDIO & SWDCLK pinlerini ele geçiren programdan sakınmış olur. Ama bootloader modunun ayrıntılarını bilmiyorum. Dediğim gibi, normalde buna gerek kalmaması lazım.

Eğer yanlışlıkla Level 2 korumayı etkinleştirmişsen bunun geri dönüşü yok. Ancak BOOT0 1 iken ST-Link bağlanabiliyorsa muhtemelen durum bu değil.
Gökçe Tağlıoğlu

fide

Benzer durum bluepillde başıma geldi. Boot0 yada boot1 jumper konumu değiştirince seri port üzerinden bağlanabiliyordu. Stlink ayarlarında seri port üzerinden bağlanma var. Oradan bağlayıp resetleyebilirsiniz.
Her birimiz, geride bıraktığımız eserler kadar ölümsüzüz. Evlat gibi, talebe gibi, icatlar gibi...   http://fidenetgaraj.blogspot.com

papsukkal


Alıntı yapılan: Tagli - 29 Mart 2024, 07:31:24İçine attığın program SWDIO & SWDCLK pinlerini kullanıyorsa

Malesef durum bu. SWDIO ve SWDCLK pinleri tanımlı değil.

Alıntı yapılan: Tagli - 29 Mart 2024, 07:31:24Eğer yanlışlıkla Level 2 korumayı etkinleştirmişsen bunun geri dönüşü yok. Ancak BOOT0 1 iken ST-Link bağlanabiliyorsa muhtemelen durum bu değil.
Level2 korumayı etkinlestirdigimi zannetmiyorum hocam. O taraflara hiç girmedim.

Alıntı yapılan: fide - 29 Mart 2024, 09:06:29Benzer durum bluepillde başıma geldi. Boot0 yada boot1 jumper konumu değiştirince seri port üzerinden bağlanabiliyordu. Stlink ayarlarında seri port üzerinden bağlanma var. Oradan bağlayıp resetleyebilirsiniz.
İşlemi biraz anlatır mısınız seri Porttan nasıl bağlanacagim? Stlink ile mi ?

fide

Her birimiz, geride bıraktığımız eserler kadar ölümsüzüz. Evlat gibi, talebe gibi, icatlar gibi...   http://fidenetgaraj.blogspot.com

magnetron

#5
hocam konuyu bölmeden ben de bişey sorayım

bu blue pillerin üstündeki STM32 lerin orijinalini bulmak imkansız hepsi Çin

böyle olunca STM32CubeIDE ile debug yapılamıyor işlemci yabancı diyor

bunun bir çaresi var mı ?

teşekkür

not: orijinal sorunun cevabı STM32 Flash Loader Demo programını bulup indirin
ben yıllardır UART tan yazılım atıyorum bu şekilde

papsukkal

@magnetron Akşam deniyecegim.

Benim aldığım blue pillerin ikisi de debug yapıyor. Ama 103c8t6 olmasına rağmen 128k flaş var. Çin işi biraz kısmet işi sanırım.

kimlenbu

st link de connect under reset seçeneği ile deneyin, resete basılı tutun ve swd pinlerinin remap edilmediği bir program atmayı deneyin.

Tagli

Alıntı yapılan: papsukkal - 29 Mart 2024, 11:41:21Malesef durum bu. SWDIO ve SWDCLK pinleri tanımlı değil.
İlginç. Normalde hiçbir ayar yapılmazsa bu pinler varsayılan olarak SWD'ye ayrılır zaten. Ama Cube platformu bunu değiştiriyorsa onu bilemiyorum, ben kullanmıyorum çünkü.
Gökçe Tağlıoğlu

papsukkal

Alıntı yapılan: kimlenbu - 29 Mart 2024, 17:52:53st link de connect under reset seçeneği ile deneyin, resete basılı tutun ve swd pinlerinin remap edilmediği bir program atmayı deneyin.

Denedim olmuyor

papsukkal

Alıntı yapılan: Tagli - 29 Mart 2024, 18:30:23İlginç. Normalde hiçbir ayar yapılmazsa bu pinler varsayılan olarak SWD'ye ayrılır zaten. Ama Cube platformu bunu değiştiriyorsa onu bilemiyorum, ben kullanmıyorum çünkü.



Tagli belki dediğin gibidir. Emin değilim. İki işlemci harcadım aynı şekilde. Yenilerini siparis ettim artık.
Belki de bilmeden protection ayarlarını degistirmisimdir. Belki de patates çıktı işlemciler.
Under reset yemiyor. Boot yemiyor. Rx tx pinleri yemiyor.

Bugün yaptığım ölüçmlerde reset pininin 200mV civarında gezdiğini gördüm. Tuşa bastığımda 0, bıraktığımda 200mV.

Tagli

Alıntı yapılan: papsukkal - 30 Mart 2024, 03:36:25Bugün yaptığım ölüçmlerde reset pininin 200mV civarında gezdiğini gördüm. Tuşa bastığımda 0, bıraktığımda 200mV.
Bu normal değil. Reset pini biraz garip bir pin, aynı anda hem input, hem de open-drain output. İçinde dahili pull-up vardır, yani boşta iken 3.3 V gibi bir şey görmen gerekir. Bu pini dışarıdan 0'a çekersen işlemci resetlenir. Ancak işlemci bir sebepten dolayı kendi kendini resetlerse de bu pin kısa süreli olarak kendini 0'a çeker.
Gökçe Tağlıoğlu

serkan

Tam bu değil ama buna benzer bir durumla karşılaşmıştım .Reşet pini ile 3.3 volt arasına 47 k direnç bağlayarak sorunu çözmüştüm.

papsukkal

#13
Buldum.

Evreka.

Board şemasını yanlış yapmayayım diye internetten bulmuştum. Daha doğrusu 030f4x çipler için bir tane şema buldum. İnceledim ve mantıklı geldiği için bastım ve dizdim.

Hataya gelince:

VDDA pini şemada 3.3V a bağlamayıp ayrı pin gibi headere vermişler. 3.3 volt olmayınca reset pini sürekli reset pozisyonunda kalıyormuş.  Bu da benim işlemciye müdahale etmemi engelliyor. VDDA 3.3V bağlantısından sonra reset pininde 3.25 volt oluştu ve under reset ile cipe bağlanıp silebildim.

Yardımcı olmaya çalışan herkese teşekkür ederim.