Dynamic Memory Kullanımı

Başlatan robikod, 14 Temmuz 2021, 12: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, 12: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


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

Yasal Uyarı: Picproje.org sitemizde 5651 sayılı kanunun 8. maddesine ve T.C.Knın 125. maddesine göre tüm üyelerimiz yaptıkları paylaşımlardan kendileri sorumludur. Picproje.org hakkında yapılacak tüm hukuksal şikayetleri İletişim sayfamızdan bize bildirdikten en geç 3 (üç) iş günü içerisinde ilgili kanunlar ve yönetmelikler çerçevesinde tarafımızca incelenerek gereken işlemler yapılacak ve site yöneticilerimiz tarafından bilgi verilecektir.