Herkese iyi günler,
Elimde hali hazırda bulunan STM32F4 discovery board üzerindeki st-link kullanarak ek aldıgım STM32F103C8T6 yi SWD üzerinden programlamak istiyorum.
Kurduğum devre aşağıdaki gibidir.
(https://s26.postimg.cc/51ojwqbcl/Screenshot_from_2017-08-29_21-08-18.png) (https://postimg.cc/image/51ojwqbcl/)
PCB sini bastıgım bu devreye SWD pinlerinden karsılık gelenlerini bağladıktan sonra basit atmak istediğim kod aşağıdaki gibidir.
#include "stm32f10x.h"
void Init_GPIO()
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA,&GPIO_InitStructure);
}
int main(void)
{
Init_GPIO();
while(1)
{
GPIO_SetBits(GPIOA,GPIO_Pin_6);
}
}
ST-LINK çalışması için board üzerindeki 2 jumper'ı kaldırıdım. Buna ragmen kodu sanki STM32F4 discovery e atarmıs gibi kodumu derleyip Run tuşuna bastım. Karşıma OPENOCD nin "Wrong Device" hatası geldi ve bir türlü bu hatayı çözemiyorum
daha once bu tarz işlemciyle çalışmış arkadarşlar fikirlerini paylaşırlarsa çok sevinirim. Karşıma çıkan hata aşağıdaki gibidir.
(https://s26.postimg.cc/i7422u585/Screenshot_from_2017-08-29_21-14-36.png) (https://postimg.cc/image/i7422u585/)
NOT: Her ne kadar kod yüklenmiyor olsada ilgimi çeken bir kısım kendi kurduğum board üzerinde reset butonuna basarsam STM32F4 Discovery board kendine reset atıyor, bir şekilde birbirlerine bağlılar ama kod yükleyemiyorum.
Yanlış hatırlamıyorsam 1 no.lu uç +3.3V bu ucu SWD soketindeki yere değil de Discovery üzerindeki +3.3V pine takın.
nrst ucuna birşey bağlamadan program atmayı dene. Ben reset bacağını boşa çıkarınca program atabildim.
Hocam ben de bir keresinde böyle bir sorun ile karşılaşmıştım. Bayağı uğraşmıştım en sonunda çipi değiştirdim düzeldi. Eğer size tavsiye edilenler işe yaramıyorsa işlemciyi yenisi ile değiştirin derim.
Hocam dediginiz gibi hem reset pinini boşa çıkardım hem voltajı stm32f4 board üzerinden verdim ikiside sonuç vermedi zaten stm32f4 üzerinde 3v a bağladığımda stm32f4 board kapanıyor. Pindeki voltaja baktığımda 1.1v görüyorum gariplik var gibi geliyor anlayamıyorum.
STM32F429 Dıscovery üzerinden programlıyorum kartı , vcc 'yi programmlayıcı board üzerinden alın hocam.NRST ucu boşta , clk ve ıo(data) pinleri bağlı olacak şekilde.Ben st-link utility kullanıyorum hex'i yüklerken.Target Connected önce reset tuşuna basılı tutmak gerekiyor.
Sorun acemiliğimden kaynaklanan pcb basımı yüzünden. Pcbyi tekrar basınca sorun çözüldü herkese bilgileri için teşekkür ederim.
Oradaki 2.9 volt yazısını görünce "Acaba besleme mi yetmiyor, bir yerde kaçak mı var?" diye aklıma gelmişti. Sorun o muymuş?
Aynen oyle hocam sacma yerlere sacma yolları göndermişim.
slm arkadaşlar, genellikle stm32f103 ü kit olarak alıp kullandık, ancak artık stm32f103 ü chip olarak kullanmak istiyorum. kitin şemasını indirip inceledim. ancak anlamadığım nokta şu;
chip için 8mhz kristal bağlanacak, 3.3v besleme takılacak, SWDIO ve SWDCLK pinlerini de çıkardım. Reset pinini +v a pulluplayıp buton bağladım.bu şekilde ST-LINK ile programlayabilirmiyim? ilave olarak ne tür işlemler yapmalıyım? CUBEMX ile programımı yüklemek istiyorum
NOT: arduino uno da atmega328P ile yaptığım çalışmada 328P ye bootloader yüklemem gerekiyormuş acı bir tecrübe yaşadım, 1 günümü aldı. stm32f103 chipi için aynı tecrübeyi yaşamadan siz yardımcı olurmusunuz?
siteden aratınca bu konu çıktı ama resimler vs silindiği için konuyu tam anlamadım.
Baypass kapasiteleri mutlaka olsun. Kristal bağlantıları olabildiğince yakın olsun mcu'ya Reset'e buton bağlasan faydası olur. bazen SWD ile program atarken gerekiyor. Boot0 pini GND'ye bağlı olsun. Onun dışında SWD ile program yükleyebilirsin.
Lehimledikten sonra temizliğe çok dikkat et. Sorun yaşamazsın
tşk ederim ferhat ustam, söylediklerinizi uygulayacağım
merhaba forum
bluepill'i cubeideye bağlayıp program atıyorum ama
debuga geçip start verince bağlantı koptu uyarısı veriyor breakpointler de durmuyor
bütün swd hızlarında denedim hep aynı
neden olabilir ?
(https://i.imgyukle.com/2020/09/09/xmXyBs.png)
Bir çok program atma ve debug sorununun kaynagi reset pinin bağlı olmaması kesinlikle program atarken de debug yaparken de reset pini bağlayın.
İyi akşamlar hocam;
CubeMx de debug kısmını büyük ihtimal seçmediğiniz için oluyordur. Kontrol edebilir misiniz ?
(https://i.ibb.co/fpQzFKx/2020-09-25-21-43-59.png) (https://ibb.co/fpQzFKx)
Alıntı yapılan: ladybird - 25 Eylül 2020, 21:47:35İyi akşamlar hocam;
CubeMx de debug kısmını büyük ihtimal seçmediğiniz için oluyordur. Kontrol edebilir misiniz ?
(https://i.ibb.co/fpQzFKx/2020-09-25-21-43-59.png) (https://ibb.co/fpQzFKx)
deniycem hocam teşekkür
hocam deniycem de
editörden çipi gösteren yere nasıl geri dönücem bulamadım
teşekkür
Project explorer kısmında olması lazım orda bulamazsanız , projeye oluşturduğunuz klasörde kesin olması lazım.
Video da baya yardımcı olacak bilgi var. Aradığın dosya .ioc uzantılı olan en alt da oluyor genelde.
https://youtu.be/sNGTGVnT0D8
https://youtu.be/sNGTGVnT0D8
@ladybird hocam merhaba
video sizin mi elinize sağlık
bende çipin SWD pinleri sizin atığınız resimdeki gibi tanımlı imiş
merhaba hocam
hiçbişeyi değiştirmedim , SWD hızını 1 Mhz olarak denedim ( daha önce denemiştim )
bu sefer program attıktan sonra start verince bağlantı kopmadı ve breakpointlerde durdu, start stop yaptı, içerdeki değişkenlere de bakabildim
şimdi başka bir sorum var
bu Cubeide de poje başlarken HAL kütühanesi yerine SPL seçmek için ne yapmak lazım
yaş 50'yi geçti SPL'yi zar zor öğrendik şimdi HAL öğrenmek zor geliyor
yok mu bunun çaresi
teşekkür