Dahili flash bellek boyutu yeterli değil


11

Projemden birinde Texas enstrümanından TM4C1230C3PMI kontrolörü kullanıyorum. Uygulamam için yeterli olmayan 32KB dahili flaş var. Piyasada kullanılabilecek daha yüksek flaş boyutlu mikro denetleyici mevcuttur, ancak yalnızca bu mikro denetleyiciyle gitmek istiyorum. Bildiğim kadarıyla harici EEPROM toplam flaş boyutunu artırmak için kullanılabilir (Program belleği).

Düşüncem doğru mu?

Değilse lütfen kontrol cihazının toplam flash bellek boyutunu nasıl artırabilirim?


1
Harici EEPROM genellikle veri depolamak için kullanılır, çünkü dahili Flash çoğu EEPROM'dan daha az silme / yazma döngüsüne izin verir ve bayt olarak üzerine yazılabilir. Harici bir veri yolu arabirimine sahip CPU'lar için (bir tane buna sahip değildir) harici program belleği eklemek mümkün olacaktır (ancak bu biraz karmaşıktır ...). Teorik olarak, kod parçalarını harici bir EEPROM'da saklamak ve bu kodu yürütmek için RAM'e yüklemek mümkün olabilir - ancak çoğu durumda bu senaryo gerçekçi değildir.
Martin Rosenau

3
Yıllar önce, ilgili bir özdeyiş "1K'da yapamazsan, yapamazsın." Zeki ve düşünmeye değer olduğunu düşündüm, ama gerçekten kabul etmedim. Sonra MicroChess 1K'ya ulaştı.
user2338816

1
Neden kodunuzu harici bir bellekten önyüklemiyorsunuz? UC'nize arayüzlenebilecek bir dizi harici bellek vardır. Bu, kodunuzu harici olarak önyükleyeceğiniz için dahili flaşınıza kısıtlama getirmez.
AlphaGoku


Yanıtlar:


22

Program belleğini uzatamazsınız (flaş). TI, çift çip ve RAM ile aynı çipi üretiyor, ancak başka bir şey değişmedi: TM4C1230D5PMI .

Daha büyük flaşlı bir yonga kullanamıyorsanız, kod boyutunuzu azaltmanız gerekecektir:

  • Pahalı printfişlev gibi hata ayıklamayı devre dışı bırakın . printfKayan nokta çıkışını destekleyen A genellikle sizi 5KB-10KB civarında geri ayarlar.
  • Optimizasyon etkinken derlediğinizden emin olun - genellikle derleyici bayrağı kullanılır -Os.
  • Modern derleyiciler bağlantı zamanı optimizasyonu (LTO) yapabilir . Gcc ile bunu elde edersiniz -flto. Sen geçmek zorunda -fltotüm dosyalar için, hem derleme ve bağlantı aşamalarına. Bu genellikle üretilen kod boyutunu% 30-50 oranında azaltır.

2

Amacınız için tasarlanmış bir Forth benzeri dili ve en küçük yazılım ayak izini elde edebilirsiniz. Bir diğeri, neredeyse aynı kodun çok olması durumunda sıkıştırılmış makine kodudur.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.