STM32 Flash, Ram Algoritmaları

Başlatan Klein, 15 Kasım 2012, 17:10:40

Klein

STM32F1xx karta porgram atmaya çalışırken , keilin ayarlarıyla cokça  haşır neşir oldum.

Program yüklerken kullanılan Flash algoritmaları var. Keil'de 64K flashlı modeller için hazır algoritma yok.  Çok sorun değil.  adresleri ve flash büyüklüğünü kutulara girip düzeltebiliyorsunuz.

Dikkatimi çeken şey Ram ile ilgili.
Ram başlangıç adresi 0x20000000  burada sorun yok.  Ama hangi çipi seçersem seçeyim Ram büyüklüğü için 0x0800 diyor. 
Halbu ki ram büyüklüğümüz  çipe göre değişiyor.  Örneğin 20K ram'e sahip STM32F103C8 çipi için bu değerin 0x5000 olması gerek.
Ben mi bir hata yapıyorum, yoksa Keil seçtiğimiz çipe göre veya seçtiğimiz algoritmaya göre ram ayarlarını otomatik yapmıyor mu?


X-Fi

Hocam ram flash bölümleme ayarlarını target menüsünden yapıyoruz. Aşağıdaki resim ram için bir örnek, burdan değişiklik yaptıktan sonra aynı adresleri söylediğiniz ram bölümünede yazıp programlıyoruz. işlemci seçerken neden o kısım değişmiyor bilmiyorum ama flashda koştururken o adreslemenin önemsiz olduğundan olabilir diye tahmin ediyorum.

http://www.coskunergan.dev/    (Yürümekle varılmaz, lakin varanlar yürüyenlerdir.)

Klein

Target ayarlarındaki adres düzeni,  seçtiğimiz işlemciye göre yeniden otomatik düzenleniyor. 
Flasher tool ayarlarında bu yok.

X-Fi

o bölümün amacı ramde koşacak bir program yazıldıysa programlama aşamasında buna uygun davranılması çünkü rame opcode yüklerken rami kullanamaz.
http://www.coskunergan.dev/    (Yürümekle varılmaz, lakin varanlar yürüyenlerdir.)

kralsam

Hocam Keil programının code size limitli olması buna neden oluyor olmalı. Fakat nasıl düzeltilir bilmiyorum. Çok uğraşmadım.

Klein

Bendeki kod limitli değil.
Çok uğraşmayı gerektirecek bir şey de yok zaten.  Gerekli olduğunda elle girilir.

kralsam

Alıntı yapılan: Klein - 15 Kasım 2012, 20:25:28
Bendeki kod limitli değil.
Çok uğraşmayı gerektirecek bir şey de yok zaten.  Gerekli olduğunda elle girilir.

Hocam başta diğeri kurulduysa varsayılan olarak öyle kalıyor olabilir. Dediğiniz gibi elle giriliyorsa sorun yok zaten.