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 ?
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.
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
@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.