CORTEX-M3 Bellek Organizasyonu hakkında bazı sorular ?

Başlatan GaGuLi, 11 Mayıs 2016, 14:07:25

GaGuLi

Hayırlı günler arkadaşlar. Cortex m serisi işlemcilerin çalışma prensiplerini inceliyorum

ve yapacağım uygulamalarda seçeceğim denetleyicileri bilinçli bir şekilde seçmek istiyorum.

Şu sıralar üzerinde durduğum konu memory mapping konusu.Kullandığım denetleyici

stm32f103c8. Flash memory 64Kbyte ve Sram 20 Kbytes hafızası var ve denetleyicim cortex m3

çekirdeğine, bu çekirdek ise von nueman bellek organizasyonuna sahip buda komutlar ile

verilerin birlikte tutulduğu anlamına geliyor.

Yazdığımız kodlar Flash memory de 0x00000000 adresi ile başlayan bölümde tutuluyor. Ve von

nueman mimarisi gereği flash hafızamız verilerimizi de tutmaya yarıyor. Buraya kadar doğru

anladığımı "zannediyorum" (yanlışım varsa düzeltin inşallah)

Sorularıma geçeyim :

Sram hafızası sistem tarafından nasıl kullanılır ?

Sistem registerleri (RCC ADC GPIO registerleri) hangi hafızayı kullanır ?

Tanımladığımız global ve static değişkenler hangi alanda saklanır ?

Fonksiyon içinde veya parametre olarak tanımlanan local değişkenler hangi alanda saklanır ?

Sram ve Flash belleğimizde kelime uzunluğu kaç bittir ? Yani adres değerimizi 1 artırdığımızda kaç bit ilerleriz?

-Sorduğum sorulardan temelde eksik olduğum noktaları tespit ederseniz söyleyin o noktalar

üzerine yoğunlaşayım inşallah :)

GaGuLi

Evet son cümle konuya damgasını vurdu resmen :)

Çok teşekkür ederim hocam cevaplarınız çok aydınlatıcı oldu Allah razı olsun o dökümana en kısa zamanda göz atacağım inşallah.

Bülent hocanın C ile derslerini takip ederken yanlış hatırlamıyorsam şöyle diyordu :

" Bir değişken hafızada saklanırken (bu değişken int yani 32 bit bir değişken olsun) 4x8 bit olarak saklanır. 2 int değişkenin adresleri ardışıl olarak depolandı varsayalım. Birinci değişkenin adresi 0x00 ise 2. değişkenin başlangıç adresi 0x04 olur."

Kelime uzunluğu kavramını kullanarak biraz yanlış yere dikkat çektim sanırım :)