STM32F Discoery Yardım Lütfen

Başlatan hazad, 04 Mayıs 2012, 00:00:17

kadirkavak42

Merhaba Hazad kardeşim.
Sanırım sorunun kaynağını biliyorum ama emin olmak için bir soru sormak istiyorum.
Kartın üstündeki chipte ne yazıyor.
STM32F407VGT6 A mı yoksa STM32F407VGT6 Z mi hangisi?
http://www.kadirkavak.net - Mekatronik Mühendisi Blog Sitesi

einstein2000

Aynı sorun benim boardta da var. benim işlemci sonu Z ile bitiyor.

MT

#17
Alıntı yapılan: kadirkavak42 - 05 Mayıs 2012, 20:58:00
Merhaba Hazad kardeşim.
Sanırım sorunun kaynağını biliyorum ama emin olmak için bir soru sormak istiyorum.
Kartın üstündeki chipte ne yazıyor.
STM32F407VGT6 A mı yoksa STM32F407VGT6 Z mi hangisi?
bende de aynı sorun var ve "A" ile bitiyor yardımcı olabilirmisiniz? USB dongle'ı görüyor ama DFU hatası veriyor.
____________________________________________________________________________________________
"Düzenlendi"
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Bu hata varken mini usb'yi çıkarıp tekrar taktım ve tekrar güncellemeyi denedim ve güncelleme gerçekleşti ardından bu linkteki işlemleri yaptım kod atmada sıkıntı çekmiyorum.  https://www.picproje.org/index.php/topic,37373.0.html

Ayrıca "ST Visual Programmer" ile de ".hex"i atabilirsiniz arkadaşlar ama debug edilmiyor bu programla.(http://www.st.com/internet/evalboard/product/210568.jsp)

kesta

#18
bende de aynı uyarı mesajları var. benim ki de Z ile bitiyor.
St-link utility ile doğrudan ve dolaylı olarak(Keil-external tool) program atabiliyorum. Ancak Debug yapamıyorum.


mesaj birleştirme:: 01 Temmuz 2012, 17:24:37

Keil forumunda benzer bir sorun için verilen yanıta göre:
ST-link utility programının kurulu klasörde bulunan STLinkUSBDriver.dlldosyasını kopyalayıp, Keil\ARM\STLink klasörü içinde kopyaladım (aynı isimli dosyanın üzerine). Şu an hata mesajları almasamda Debug işleminde hala sorun var.

mesaj birleştirme:: 01 Temmuz 2012, 18:19:59

Reset_Handler    PROC
                 EXPORT  Reset_Handler             [WEAK]
        IMPORT  SystemInit
        IMPORT  __main

                 LDR     R0, =SystemInit
                 BLX     R0
                 LDR     R0, =__main
                 BX      R0
                 ENDP
...
HardFault_Handler\
                PROC
                EXPORT  HardFault_Handler          [WEAK]
                B       .
                ENDP

Debug işlemi Reset_Handler'in BX  R0 satırına kadar normal işliyor ancak o satırda takılıyor. Debug işlemini sonlandırdığımda imleç HardFault_Handler'in B    . satırında oluyor. Böyle bir sorunla karşılaşan var mı?


ZO

MT

Alıntı yapılan: kesta - 01 Temmuz 2012, 17:00:55
bende de aynı uyarı mesajları var. benim ki de Z ile bitiyor.
St-link utility ile doğrudan ve dolaylı olarak(Keil-external tool) program atabiliyorum. Ancak Debug yapamıyorum.


mesaj birleştirme:: 01 Temmuz 2012, 17:24:37

Keil forumunda benzer bir sorun için verilen yanıta göre:
ST-link utility programının kurulu klasörde bulunan STLinkUSBDriver.dlldosyasını kopyalayıp, Keil\ARM\STLink klasörü içinde kopyaladım (aynı isimli dosyanın üzerine). Şu an hata mesajları almasamda Debug işleminde hala sorun var.

mesaj birleştirme:: 01 Temmuz 2012, 18:19:59

Reset_Handler    PROC
                 EXPORT  Reset_Handler             [WEAK]
        IMPORT  SystemInit
        IMPORT  __main

                 LDR     R0, =SystemInit
                 BLX     R0
                 LDR     R0, =__main
                 BX      R0
                 ENDP
...
HardFault_Handler\
                PROC
                EXPORT  HardFault_Handler          [WEAK]
                B       .
                ENDP

Debug işlemi Reset_Handler'in BX  R0 satırına kadar normal işliyor ancak o satırda takılıyor. Debug işlemini sonlandırdığımda imleç HardFault_Handler'in B    . satırında oluyor. Böyle bir sorunla karşılaşan var mı?
bende aynı sorunu yaşadım ve örnek yazılımla denemeye karar verdim "Project/Peripheral_Examples/IO_Toggle/MDK-ARM" uygulamasını açtım ve debug ederken sorun çıkarmadı ve yazılım üzerinde ledlerle ilgili değişiklikler yaptım gayette güzel debug edildi. ama kendi oluşturduğum basit bi projede seninle aynı sorunu yaşadım hala sebebini bilmemekteyim.

fatih6761

Arkadaşlar sorunla bende karşılaştım birkaç adımla hallettim:
http://www.st.com/internet/com/SOFTWARE_RESOURCES/SW_COMPONENT/SW_DRIVER/st-link_v2_usbdriver.zip
Üstteki bağlantıdan ST-Link V2 sürücüsünü indiriyoruz.
http://www.st.com/internet/com/SOFTWARE_RESOURCES/TOOL/DEVICE_PROGRAMMER/stm32_st-link_utility.zip
Adresinden de ST-Link Utility ' i indiriyoruz.İki programıda kuruyoruz.Sonra masaüstüne eklenen "STM32 ST-LINK Utility" isimli kısayola çift tıklayarak programı açıyoruz.Üst tarafta renkli fiş resmi bulunan ( üstüne geldiğinizde Connect to Target yazacak ) butona tıklıyoruz.
Bu anda iki seçenek var.Ya aygıt bağlanacak ve flash'ın okunduğuna dair bir pencere gözükecek.Yada hata verecek.Eğer hata verirse ( ki bu son çıkan sürücüdür ) kartınızla ilgili bir arıza olabilir.USB kablonuzda kopuk olabilir vs...
Eğer başarılı bir şekilde hafıza okunursa hafıza içeriği ekranda görülecek.Firmware update yapmak istiyorsak üstteki menüden ST-LINK altında Firmware Update'e tıkalyalım.Tabi bu arada kartımızın DFU modunda olmaması gerekiyor.Yani kartta üstünde ST-LINK ve altında DICSCOVERY yazan içi bitişik jumper var.Onları çıkarın.USB kablosunu çıkarıp takın.Yani kartı resetleyin.
Eğer jumperları çıkardıysanız ve kartınız sağlamsa son açılan Firmware Update penceresinde Device Connect tıklattığınızda aygıtın firmware sürümünün gözükmesi gerekiyor.Yani
- V2.J14.S0 JTAG Debugger veya
- V2.J15.S0 JTAG Debugger yazmalı.Eğer J15 olan yazıyorsa kart firmware'ı zaten günceldir ve yükseltmeye gerek yoktur.
Yazılana göre gerek varsa Yes >>>> tıklayarak update edin.
Gelelim Keil'a... C:\Program Files\STMicroelectronics\STM32 ST-LINK Utility\ST-LINK Utility klasörüne gidin ve STLinkUSBDriver.dll dosyasına Sağ Tuş > Kopyala deyin.Bu klasörden çıkıp C:\Keil\ARM\STLink klasörüne gidin.Buradaki STLinkUSBDriver.dll dosyasına sağ tıklayıp yeniden adlandır deyin ve adını ***.dll.old olarak isimlendirin.Bu sadece yedek.Elimizin altında bulunsun diye... Sonra kopyaladığımız dosyayı bu klasöre yapıştırın ve Keilden tekrar program atmayı deneyin.Benden bu kadar.Bu yolu izleyerek sorunumu hallettim.ST-Link ile programlanabilen tüm MCUlar için bu yötem çalışır.Kolay gelsin...

rclk

#21
@fatih6761 Üstat buyuksun sana ne kadar teşekkür etsem azdır:)
Herşeyi salla ama ÇAYI demle hacı..

muhittin_kaplan

#22
keil den yüklememe problemi hasıl oldu.
yukarda yazılanları yapıuyorum ama çözüm olmadı.

mesaj birleştirme:: 11 Ekim 2012, 18:17:36

Yukardakileri yaptıktan sonra

http://sunbizhosting.co.uk/~spiral/blog/?p=264 de anlatılan seçimi yaptım suan düzgün çalışıyor.

fatih6761

@muhittin hocam sorun hakkında bilgi verseydiniz onuda eklerdim. Programlarken Debug için Flash belleğe program yazdırmayın. RAM e yazmak her zaman daha hızlı olacaktır. Eğer sizdeki gibi hata veriyorsa üstteki bağlantıda verileni yapın.

muhittin_kaplan

#24
hocam bir proje için yedekte duran kartı kullanmak istedim.
(bu arada evdeki pc ye format atmıştım sonrasında hiç keil, st link yüklememiştim)
firmeare update yaptım. st link util ile görebiliyor bağlanabiliyorken keil ile problem yaşıyordum. dll kopyalama işlemide yaptım. ama olmamıştı.
sonrasında üstte verdiğim link te yapılan aşağıdaki işlemi yaptım. SOnuç başarılı , Problem olur mu ?


mesaj birleştirme:: 11 Ekim 2012, 19:24:30

http://www.keil.com/appnotes/files/apnt_230.pdf

mesaj birleştirme:: 11 Ekim 2012, 20:33:16

Eskiden Çalıştırdığım USART neden Çalışmaz. Aslında Çalışıyor Gibi Ama FTDI üzerinden birtürlü veri gönderemiyorum PC ye.
Saç Baş Yoldurdu

mesaj birleştirme:: 11 Ekim 2012, 20:33:47

Eskiden Çalıştırdığım USART neden Çalışmaz. Aslında Çalışıyor Gibi Ama FTDI üzerinden birtürlü veri gönderemiyorum PC ye.
Saç Baş Yoldurdu

mesaj birleştirme:: 11 Ekim 2012, 21:42:27

FTDI ın jumperleri ile oynarsan gözlüğü kırarsın.
İnsanın kendisine yaptığını yedi kat yabancısı yapamazmış.
Problemler çözülmüştür.

fatih6761

Yaptığınız işlem ana program hafızasını hata ayıklama modunda Flash belleğe geçirdi. Dolayısıyla Flash belleği eskitiyor  ;D
En fazla 1.000.000 kere yazma yapabilirsiniz,  e denemek için bir kere yazdınız, kaldı 999.999 :)
Sorunun bir çözümü ise sürücüler. Windows 8 / 7 / Vista için aygıt yöneticisinden kart takılı iken yanında ünlem olan yani uyarı gösteren aygıtı ( Evrensel Seri Veriyolu Denetleyicileri alrtında ) buluyorsunuz ve sağ-tık Sürücüyü Güncelleştir diyorsunuz. Yeni sürücü yükleme başarılı olursa normal yoldan ( RAM üzerinden ) programlama çalışıyor.

muhittin_kaplan

hocam daha onceden yani bu stlink v2 den once boyle bir se im varmiydi. programi karta yuklemeden nasil calistiriyoruz ayrica ram e yukledikten sonra resetlenince tekrardan calisirmi.
kisaca konuyu biraz aciklarsaniz sevinirim

fatih6761

Bu işlem sadece Debug durumunda. Hızlı hata ayıklayabilmek için program direkt olarak RAM'e yükleniyor. Yani ilk çalışma anında kodunuzun yapacağı işlemi, segment yükleme vs., STLink çipi ( STM100 serisi olan ) yapıyor. Buraya kadar ki kısımdan eminim. Ama debug modundan sonra Reset atmayı denemedim. Tahminimce eski programın çalışması gerekir. Çünkü Debug moduna daha hızlı giriliyor. Programın yazılması daha fazla sürerdi...

muhittin_kaplan

#28
Hocam debug esnasında RAM'e yükleneceğini nasıl seçiyorsunuz ?

mesaj birleştirme:: 13 Ekim 2012, 17:14:56

yukarda verdiğim linkte . ini filer dan bahsediyor. nerede bu ini file ?

mesaj birleştirme:: 13 Ekim 2012, 17:16:53

nedense soru aklıma gelince cevabıda geliyor. Kahveyi çokmu içiyorum bu aralar
dbg_ram ini dosyasının içeriği keil klasörünün içerisindeymiş :)
/*----------------------------------------------------------------------------
 * Name:    Dbg_RAM.ini
 * Purpose: RAM Debug Initialization File
 * Note(s):
 *----------------------------------------------------------------------------
 * This file is part of the uVision/ARM development tools.
 * This software may only be used under the terms of a valid, current,
 * end user licence from KEIL for a compatible version of KEIL software
 * development tools. Nothing else gives you the right to use this software.
 *
 * This software is supplied "AS IS" without warranties of any kind.
 *
 * Copyright (c) 2012 Keil - An ARM Company. All rights reserved.
 *----------------------------------------------------------------------------*/

/*----------------------------------------------------------------------------
  Setup()  configure PC & SP for RAM Debug
 *----------------------------------------------------------------------------*/
FUNC void Setup (void) {
  SP = _RDWORD(0x20000000);          // Setup Stack Pointer
  PC = _RDWORD(0x20000004);          // Setup Program Counter
  _WDWORD(0xE000ED08, 0x20000000);   // Setup Vector Table Offset Register
}

LOAD %L INCREMENTAL                  // load the application

Setup();                             // Setup for Running

g, main

fatih6761

Burada sarı ile işaretlediğim kutucuk temiz olursa ve 3.sekmedeki Flash alanı seçilmez ise RAM e yükleme yapılır.