STM32F407 Cortex M4 şamataları

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

z

Register erişimi memory erişiminden daha hızlıdır. Dönüş adresleri stak a atılsaydı call ve ret komutlarının ihtiyacı olan clock sayısı artacaktı.

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

tmcone

Alıntı yapılan: yamak - 20 Ekim 2011, 15:26:42
Hocam ben de tam LR register ı ne işe yarıyo diye soracaktım.Evet söylediğiniz gibi oluyo kısa programlardaki dallanmalarda Sadece LR register ında değişim oluyo.Ama uzun programlar da SP'de de değişim oluyo.Ama merak ettiğim şey neden böyle bişey yapılmaya ihtiyaç duyulmuş Sadece sp kullanılsa da olmuyo muydu?

SP'de değişim programın uzun ya da kısa olmasına bağlı değildir. Hangi yazmaçların kulanıldığı ile alakalıdır. ARM mikroişlemcilerde programcılar r0-r3 yazmaçlarını dilediğince kullanabilirler. Sadece bu yazmaçları kullanarak oldukça uzun bir program yazabilirsin SP'de herhangi bir değişime gerek duymaksızın. Basit bir fonksiyunumuz olsun: int topla(int a,int b, int c, int d){ return a+b+c+d;} gibi. Bu fonksiyonun parametleri ATPCS'e (ARM-Thumb Procedure Call Standard) göre r0-r3 yazmaçlarında geçer. Derleyici sonucu r0 üzerinden döner ve diğer yazmaçları kullanmaz. Bu durumda SP'de herhangi bir değişikliğe gerek yoktur. Sen bu fonksiyonun parametre sayısını artırırsan diğer argümanlar için ilave yazmaçlar gerekecek; kullanılacak yazmaçların fonksiyon öncesindeki değerleri stacka kaydedilecektir. Bu yüzden programa girişte ve çıkışta SP güncellenecektir.

gambit1244

arkadaşlar kitten nerden baksanız 100 150 kişi sipariş verdi
bu arkadaşlar denemeleri yapmıyormu acaba
yoksa kitin gelmesinimi bekliyorlar
sanki 10 15 kişi ugraşıyormuş gibi geldi bana nedir durumlar
yada herkez problemsiz debug işlemlerini clock ayarlarını yaptı oyüzden yeni konularımı bekliyor anlamadım
yada ben sınıfın en inek öğrencisiyim heralde  :-[
[email]tufan_ozbek@hotmail.com[/email] Yesterday is history. Tomorrow is a mystery. Today is a gift aslında bütün mesele bu.

sigmoid

#48
bunalmis hocam, çalışmalar için çok teşekkürler. Yoğun olduğum için forumu ancak akşamları yarım saat kadar bakabiliyorum. Doğal olarakta bazı şeyleri kaçırmaktan korkuyorum. Bu yazdıklarınızı bir ara pdf olarak toplarsanız çok güzel olur.

Birde  ARM konusunda mutlaka okuyun dediğiniz kitaplar hangileridir? Ebook olması tercihimdir. İngilizce Türkçe farketmez.

Yeni işe başladığımdan bir yoğunluktur gidiyor. Fırsat bulunca ve kartlar gelince bende az çok elimden geldiğince foruma birşey eklemek isterim.

muhittin_kaplan

Alıntı yapılan: gambit1244 - 20 Ekim 2011, 17:58:27
arkadaşlar kitten nerden baksanız 100 150 kişi sipariş verdi
bu arkadaşlar denemeleri yapmıyormu acaba
yoksa kitin gelmesinimi bekliyorlar
sanki 10 15 kişi ugraşıyormuş gibi geldi bana nedir durumlar
yada herkez problemsiz debug işlemlerini clock ayarlarını yaptı oyüzden yeni konularımı bekliyor anlamadım
yada ben sınıfın en inek öğrencisiyim heralde  :-[
Daha onceden 8051 ve keil kullandigimdan benim acimdan problem yok.

teknikelektronikci

ben kitin gelmesini beklyiorumn
birde bende daha önce 8051 ile calistigim icin debug vs bir problem yok kit gelsin uygulamali hallederiz
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

ilhan_mkp

benimde pc su koyverdi ilk kurdum bütün örnekleri uyguladım ertesi gün keil hata verdi ne yaptıysam çalışmıyor yazılanları mümkün olduğunca sessiz takip edip geri kalmamak için çalışıyorum bayram üstü yeni pc içinde bütçe yok pc beni bıraktı ben onu bırakamadım kitler gelmeden program yazmaya yetecek kadar hesaplı bir laptop almaya çalışacağım iyi bir ortam oluştu ne kadar öğrene bilirim zaman gösterecek ama ben anlayabildiğim kadarına kafa yoracağım gözüme batan bir konu var genel olarak analog elektroniimizde çok zayıf konular açıp bunlarıda gidermek lazım

birde bu armyi ve c yi öğrenenimiz çok olursa bilgi konusunda geri ödeme olarak hakim olduğumuz konularda kendi fonksiyon kütüphanelrimizi yazıp paylaşsak

mesela klein hocam pid konusunda kitap yazacak seviyede gibi geldi bana klein hocam gibi birçok konuda uzmanlaşış arkadaşlar var

gambit1244

çinden logic analyzer almıştım
fakat şmdi 2 tane logic analyzerim oldu
nasılmı?
keil sayesinde:D

bunalmış hocamın verdigi bilgilerle
daha onceden alıp çekmecede çürümeye terkettigim
cortex m3 kitimi debug ettim ve içine program attım
programı nasıl attım bilmiyorum f7 ye bastım direk gitti program :D
[email]tufan_ozbek@hotmail.com[/email] Yesterday is history. Tomorrow is a mystery. Today is a gift aslında bütün mesele bu.

mozkan87

Hangi programı derleyipte yüklediniz merak ettim. Biraz açabilir misiniz?

gambit1244

#54
cortexm3 için konuşuyorum kafanız karışmasın..
mözkan87 hocam şimdi program çalışıyor ledler yanıp sonuyor fakat
main e breakpoint koyunca çalıştır diyorum sonra f10 yada f11 ile satır satır yada fonksiyon fonksiyon atlatıyorum
fakat hiç ledler yanmıyor
ayrıca blinky projesinin maininden watch1 e ekledigim led_out, ledOn, ledVal  ledBlink ve BTN_Pressed
değişkenleri hiç değişmiyor
ama her f11 e bastıgımda kitin stlink bölümündeki ışıklar yanıyor yani bağlantı var
run deyince aynı menüden program düzgün calısıyor..
mesela delayı değiştiriyorum yanıp sonme süreside degişiyor fakat degişkenleri izleyemedim :S
neden olur boyle bişey watch 1 aktif deil sanki boyle bişey bi ayar varmı

edit:blinky projesini yükledim led3 yanıp sonuyor
butona basarsam led4 yanıp sonüyor
bidaha basarsam 2 si yanıp sonuyor
[email]tufan_ozbek@hotmail.com[/email] Yesterday is history. Tomorrow is a mystery. Today is a gift aslında bütün mesele bu.

mozkan87

Anlaşıldı. Bende program yazdınız yada buldunuz zanettim. Yanlış alarm ;D

gambit1244

#56
hehe bismillah :D
çok temiz kalplisin hocam bigün oda olucak ama inan bana :DD

sorunu daralttım sanırım
neden hala bilmiyorum fakat
programı çalıştırıyorum stop yapıyorum.
led sönük.
ledOn değişkeninde 0x00000000 var

sonra programı calıstırıyorum
aniden led yanarken stop yapıyorum
stopa basınca en son deger (led yanık oldugu için)
ledOn 0x00000001 oldu.

demekki değişkenler değişiyor ama ben satır satır yapınca yine değişmiyor :S
[email]tufan_ozbek@hotmail.com[/email] Yesterday is history. Tomorrow is a mystery. Today is a gift aslında bütün mesele bu.

z

#57
Cipimizin ART modulunde prefetch ile ilgili BUG var.  Bu BUG'in islemcinin performansini nasil etkileyecegi konusunda arastirma yapan varmi?
Asagidaki linkeleri de bir ziyaret edin.

http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/APPLICATION_NOTE/DM00039457.pdf
http://www.st.com/stonline/stappl/resourceSelector/app?page=resourceSelectorPage&doctype=st_software_rsrc&SubClassID=1521   
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

mozkan87

Ben böyle bir BUG olduğunu farketmemiştim. ERRATA'yı incelediğimde (Doc ID 022183 Rev 1) sayfa 8 den anladıklarım;
Bu durumda bizim chip için ART accelerator'ın bir anlamı kalmıyor galiba. Yani demek istediğim sıraya alma işlemi kullanılamaz olduğu için her okuma için chipin 6 clock cyle beklemesi gerekecek. Benim anladığım bu. Acaba doğru mu anladım? incelemelerim sürüyor. Teşekkürler

Prof.EleCTroN

Dökümanlardan net bilgi bulamadım ama ART 'ın bu şekilde tam verimde çalıştığını düşünmüyorum. Yeni uyarlamada (revision) bu sınırlama düzeltilecek yazıyor.