Dynamic Memory Kullanımı

Başlatan robikod, 14 Temmuz 2021, 09:35:56

robikod

Herkese merhaba,

Stm32f4xx kullanıyorum, kodumun bir noktada ram'i tükettiğini düşünüyorum. Bunun için bazı noktalarda ram'de ne kadar yer kaldığını öğrenmek istiyorum. Bunun için dinamik olarak memory kullanımımı nasıl tespit edebilirim ? Bunun yöntemleri nelerdir ?

mr.engineer

https://stackoverflow.com/questions/31264513/iar-stack-usage-for-stm32-in-the-map-file

Buraya bir göz atar mısınız? Map file'dan bakılacağını söylüyor. Burada anladığım kadarıyla compile/link işlemleri sonunda bu dosya oluşuyor ve fonksiyonların kullandığı max. stack size'ı veriyor. Dinamik olarak da debug esnasında memory map'den belli olur diye düşünüyorum.

volkanunal

Alıntı yapılan: robikod - 14 Temmuz 2021, 09:35:56Herkese merhaba,

Stm32f4xx kullanıyorum, kodumun bir noktada ram'i tükettiğini düşünüyorum. Bunun için bazı noktalarda ram'de ne kadar yer kaldığını öğrenmek istiyorum. Bunun için dinamik olarak memory kullanımımı nasıl tespit edebilirim ? Bunun yöntemleri nelerdir ?

Eğer MDK-ARM kullanıyorsanız, __heapstats fonksiyonunu kullanabilirsiniz hocam.

https://www.keil.com/support/man/docs/armlib/armlib_chr1359122851244.htm

Primum nil nocere

Tagli

@robikod , şüphelendiğin dinamik bellek hangisi? Projende malloc veya new mi kullanıyorsun? Yoksa stack kullanımı ile ilgili bir şüphen mi var?

@mr.engineer , bildiğim kadarıyla derleyiciler stack kullanımını her zaman doğru tespit edemeyebilir. STM32CubeIDE'de bunu gösteren bir pencere var, tüm fonksiyonları listeliyor ama bazıları için kesin bilgi yer almıyor.
Gökçe Tağlıoğlu