STM32F407 Cortex M4 şamataları

Başlatan bunalmis, 16 Ekim 2011, 17:14:50

Klein

Alıntı yapılan: cooldoubtless - 08 Ağustos 2012, 01:45:10
özür dilerim arkadaşlar konuya tam hakim olmadığım için şuanda başka birşeyden mi bahsediyorsunuz yoksa programların çalışmaması sorunundan mı anlayamadım? :) gerbay hocamın sölediği fpu seçeneğini not used yaparak yükledim programı yine çalışmadı..bir ledi yakmak ne kadar zor bu arm de? hayır hata söylediğiniz gibi sistemden kaynaklanan bir şeyse benden başka kimse denemedi mi bu programları 7 8 aydır bu kitte anlamadım ki? :)

Keil versiyonun nedir?
Aşağıdaki linkte  bunalmıs hocanın örneği alınarak oluşturulmuş bir proje var. Projenin tüm ayarları yapılmış vaziyette. dosyaları açtığın klasördeki proje dosyasını çalıştır bir dene bakalım.

http://s3.dosya.tc/server/JKTXXl/STM32F4SAMPLE.rar.html

fatih6761

@gerbay hocam zaten sizin kadar olmasada C yi biliyorum.Dediğim gibi işletim sistemlerinde bu dosyaları ayıklama, PE Header lar ELF dosya formatları çok başımı ağrıttı :)
Siz başka bir durumu mu kasdettiniz anlayaadım ama "remap yok" demişsiniz.Remap var.İşlemci komut işlemeye PC = 0x00000000 dan başlıyor.Bizim Flash bellek alanımız ise aynı veri yolu matrisinde 0x08000000 adresine bağlanıyor.Bu elf hex imajını ise 0x00000000 adresine donanımsal olarak yansıtılıyor.Yani işlemci RAM den 0x00000000 okuduğunda aslında 0x08000000 yani hex verisinin yapıcı metodlarını çağırıyor.Buradan sonra sizinde anlattığınız gibi.Ben ise bu Remap sırasında imajın RAW halinde static verilerin yerleştiğini zannediyordum.Bu şekilde BSS initialize edilebilir ama dediğiniz gibi Data sectionı açıklayamayız.Demekki standart C ayrıştırması kullanılıyor.
Yapı konusunda beni tekrardan bilgilendirdiğiniz için teşekkür ederim.Çalışmalarınızda başarılar...


Projelerde daha hızlı çalışabilmek için ST nin hazır kütüphanelerini kullanabilirsiniz.Hem kendi için de proje örnekleride var.Bu örneklerden faydalanabilirsiniz.Oradaki projeleri Template olarak kullanabilirsiniz.ST Firmware v1.1.0

cooldoubtless

keil versiyonum 4.54..ilgilendiğiniz için teşekkür ederim..evet bu son gönderdiğiniz projeyi LOAD ile değil ama DEBUG ile çalıştırabildim...bunun nedeni nedir sizce? programlarda yapılan hangi hata buna neden oluyor?

Klein

Load ile çalışmaması STLINK  kaynaklı bir sorun.  Forumda çözümü ile ilgili bir başlık var.

Senin ayarlarda debug STLINK seçili mi? simulatorde kalmış olabilir.

cooldoubtless

gerçekten çok çok ilginç...gönderdiğiniz projeyi açtığımda herşey gayet normal debug ettiğimde ledler tepki veriyor..ancak bu projedeki kodları alıp kendim derlemeye çalıştığımda kitteki ledler hiç bir tepki vermiyor...o çalışan projedeki seçili olan seçeneklerin hepsini kendi yaptıgım projemde de yaptım..derleme şeklim de ilk once new project yapıorm stm32f407vg yi seçiorum projeye start dosyasını eklemesi için evet diyorum..sonra new den yeni kod sayfası açıyorum..oraya kodları yazıyorum(kopyala yapıştır yaptığım da oldu acaba kodları yanlış mı yazıyorum diye) sonra save as den dosyayı xxx.c olarak kaydediyorum...sonra soldaki proje kısmında source group dosyasına sağ tıklayıp oluşturduğum bu xxx.c dosyasını projeye ekliyorum...sonra derleme ve debug seçeneklerini aynen gönderdiğiniz projedeki gibi yapıyorum..sonra once derleme yapıyorum peşine de debug yapıyorum..her şey aynı ancak tek fark birinde kitteki ledler yanıyor birinde yanmıyor :)

cooldoubtless

seçili klein hocam hatta gönderdiğiniz projede st link (deprecated version) seçili bende ole denedim..ama sonuç aynı..

Klein

Proje klasörünü komple upload et. Ben çalıştırmaı deneyeyim.

fatih6761

Programı karta atmada sıkıntı yoksa büyük ihtimal kodda donanımsal sorun vardır.Proje ayarlarında Use Microlib ve Use FPU seçeneklerini kapatmayı deneyin.Debug modunda neler lduğunu kimin nereye dallandığını izleyin.Sonra ST LINK Utility ile kodları geri okuyup attığınızla karşılaştırın.Aynı olması gerekir.Aynı değilse kartı taktığınızda Aygıt yöneticisini açın ve oradan



yaparak sürücüyü güncelleyin.
Eğer program atmada sorun olmadığından emin olduysanız kodlarda sorun vardır.ST nin Peripheral kütüphanesindeki Projects\Peripheral Examples\IO_Toggle\ projesini Keilde açın.Proje ayarlarında Output sekmesinde Create Hex file işaretleyin.Projeyi derleyin.Bu biraz sürebilir.Sonra oluşan HEX dosyasını STLink Utility ile çipe yükleyin.Ledlerin sırayla yanıp aynı anda sönmesi gerekir.HEr program attıktan sonra çipi resetlemeyi unutmayın...

cooldoubtless

http://www.upload.gen.tr/d.php/www/993akmse/deneme2.rar.html  buraya yükledim proje dosyasını..program aynen çalışan bana gönderdiğiniz projeden kopyala yapıştır yaptığım program..haberlerinizi büyük bir merakla bekliyorum..

Klein

Kart tanımda değil. Yarın yüklemeyi denerim.
Proje ayarlarına baktım. 
Debugger  "ST-LINK" değil.  "ULINK Cortex debugger" seçilmiş.

cooldoubtless

bende st link gözükürken sizde neden öyle gözüküyor :s

fatih6761

ST-Link ayarlarında SWD protu seçili değil mi?

cooldoubtless

ilk önce şunu söleyeyim ben keil in son sürümünü kullanıyorum...burada debug bölümünden eğer st-link debugger seçersem settingse tıklayınca swd mi jtag mı diye biryer çıkmıyor..altta da verdiğim resimdeki görüntü çıkıyor burada da gördüğünüz gibi port seçeneği sw seçilmilş durumda

ozgurelkt

Alıntı yapılan: gerbay - 08 Ağustos 2012, 00:17:03
buna 4 satır ilave ederek HW FPU yu etkinleştirmek gerekiyor; şöyle olacak (aslında yukarda da vermiştim)

; Reset handler
Reset_Handler    PROC
                 EXPORT  Reset_Handler             [WEAK]
        IMPORT  SystemInit
        IMPORT  __main

                 ;FPU settings
                 LDR     R0, =0xE000ED88           ; Enable CP10,CP11
                 LDR     R1,[R0]
                 ORR     R1,R1,#(0xF << 20)
                 STR     R1,[R0]

                 LDR     R0, =SystemInit
                 BLX     R0
                 LDR     R0, =__main
                 BX      R0
                 ENDP

ben de  yeni başladım ve en son sürümü indirdim.  uygulamaları çalıştıramıyordum yukarıdaki 4 satırı ekleyince sorun ortadan kalktı.

cooldoubtless

#989
cevabınız için teşekkür ederim..nereye eklemem gerekiyor bu 4 satırı ?

mesaj birleştirme:: 10 Ağustos 2012, 03:37:08

a evet şuanda baktım o çalışan projelerin hepsinde o satırlar ekli..çok ilginç ama bu kadr amatörce bir iş de olmaz..bir mikroişlemci tanıtma amacıyla yapılmış kitte böyle saçma sapan bir şeyle insanları bu derece uğraştırmaları çok komik..çok teşekkür özgür arkadaşım klein arkadaşım ve de fatih arkadaşım..3 nüz de çok yardımcı oldunuz..ben o indirdiğim projelerdeki stm32f4xx.h dosyalarıyla bendekileri değiştireyim en iyisi..