Merhaba arkadaşlar,
Bitirme projemde STM32F103C8T6 mikrodenetleyicisi kullanmaktayım. 64kb'lık flash hafızaya sahip. Projemde otopilot tasarımı ile uğraştığımızdan sensör okumaları, sensör verilerini işleme ve UART üzerinden veri alışverişi gibi türlü kütüphaneler kullanılmaktadır. Çoğu çevre birimini kullanıyorum diyebilirim yani. Fakat bugün bir şey dikkatimi çekti. Optimizasyon kapalıyken flash hafıza kullanımının %94 olduğunu farkettim. Daha sonra optimizasyon ayarlarından "Optimization for size" seçerek derlediğimde %66'e indiğini gördüm. Burada kafama takılan bazı soruları siz değerli arkadaşlara sormak istiyorum.
1) 64Kb'lık bir hafızayı %94 kadar kullanacak kod yazdığımı düşünmek beni biraz tereddüte düşürüyor. Ben mi çok kötü kod yazdım? , MCU'nun flash hafızası mı çok düşük? , Projemin kaplaması gereken boyut gerçekten bu mu? sorularını aklıma getirdi. Fakat sadece basit bir GPIO kodu bile yazsam bu 5Kb'lık bir alan kaplamakta.
2) Optimizasyon ayarlarını "Optimization for size" yapmam projemde bir sıkıntıya sebep olur mu? Genelde optimizasyon ayarları kapalı bir şekilde geliştirme yapılması öneriliyor.
3) Eğer Kardeşim 64Kb'lık hafıza gayet süper bir hafıza ne yaparsan yap bu seviyedeki bir çalışamada hafızayı kolay kolay dolduramazsın. diyorsanız. Kodumda incelemem, dikkat etmem gereken tanımlama,yazım kuralları nelerdir?
NOT : HAL kütüphanesi kullanmaktayım.
Teşekkürler iyi çalışmalar.