Haberler:

Foruma Resim Yükleme ve Boyut Sınırlaması ( ! )  https://bit.ly/2GMFb8H

Ana Menü

Keil - CM3 - Stack - Heap

Başlatan z, 03 Eylül 2013, 17:21:02

z

STM32F103C8 20K rama sahip.

Keil'de örnek içi boş bir proje oluşturduğumda  StackSize=0x400 ve HeapSize=0x200

Bu şartlar altında Stack Pointer 0x20000660 değerini alıyor.

20K ram 0x20000000....0x20004FFF aralığı olduğuna göre

0x20000000......0x2000025F aralığı global değişkenler için
0x20000260......0x2000065F aralığı Msp Stack için kullanılıyor.

Keil, niçin Stack alanını 0x20000660 dan başlatıyor?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

z

#1
Benim derdim Stack Pointeri Ramın sonundan başlatmak. Heap alanı kullanmayacağım. C + ASM yazarken Stack'ı nasıl sondan başlatabilirim. SystemInit'de doğrudan SP'e adres versem C açısından sorun oluşurmu?

Yada bu isteğimi nasıl gerçeklerim?  (Stack, ramın en sonuna atansın)
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

z

Sorun var hocam. Startup.S içinde SP (msp) yi ram sonuna atabiliyorum. Burada hiç sorun yok. Fakat, __main rutini çağrıldığında C, SP yi yeniden Init ediyor ve SP yi kendi bildiği aralığa geri çekiyor. Dolayısı ile sorunum devam ediyor.



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


z

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