Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => ARM => Konuyu başlatan: robikod - 14 Temmuz 2021, 09:35:56

Başlık: Dynamic Memory Kullanımı
Gönderen: robikod - 14 Temmuz 2021, 09:35:56
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 ?
Başlık: Ynt: Dynamic Memory Kullanımı
Gönderen: mr.engineer - 14 Temmuz 2021, 10:39:35
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.
Başlık: Ynt: Dynamic Memory Kullanımı
Gönderen: volkanunal - 14 Temmuz 2021, 14:31:20
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

Başlık: Ynt: Dynamic Memory Kullanımı
Gönderen: Tagli - 15 Temmuz 2021, 09:27:27
@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.