Haberler:

Foruma Resim Yükleme ve Boyut Sınırlaması ( ! )  https://bit.ly/2GMFb8H

Ana Menü

kapasite sorunu

Başlatan deserteagle, 14 Aralık 2007, 22:54:26

deserteagle

hi tidede 18f452 ile bir kayan yazı devresinin kodunu yazıyordum fakat aşagıdaki eror mesajı çıktı .kodu kısaltınca bu oluşmuyor fakat sol alttan picin kapasitesine baktığımda hiç bir data space vs nin % 6 dan daha fazla kullandığını görmedim.bir kez başka bir projemde başıma gelmişti.
çıkan mesaj ise
"cant find 0x416 words for psect  "param" in segment "ram"
nasıl bu sorunu giderebilirim.
saygılarımla.

ibrsel

çok fazla değişken kullanmışsın..Dolayısı ile programı derlediğinde ve çalıştırdığında PIC in RAM hafızası yetersiz kalıyor..

deserteagle

burada demeyi unuttum eğer bu değişkenleri global yaparsam
#include<pic18.h>
......
.....
unsigned char tablo[]={...............};
void main ()
.......

vs gibi hata almıyorum.
aslında kullanılan hafıza aynı bölge değilmidir.

F493

Alıntı yapılan: "deserteagle"burada demeyi unuttum eğer bu değişkenleri global yaparsam
#include<pic18.h>
......
.....
unsigned char tablo[]={...............};
void main ()
.......

vs gibi hata almıyorum.
aslında kullanılan hafıza aynı bölge değilmidir.

anladıgım kadarıyla ,işlemcinin size ayırdıgı ram bölgesini doldurmussunuz..

yukarıdaki yazdıgınız durumda ise,derleyici yerel(auto) degişkenlerle ,global alanda tanımlanan degişkenleri farklı yerlerde tutar.. BU konuyu bir araştırın birde , elinizdeki derleyinin maual linde son sayfalara dogru derleyici hatalarının ne anlama geldigi yazıyor ,,((ör/hi-tech pic c 18 pro 9.61 manualinde 377-378.sayfada bu hata açıklanıyor..))

birde derleme sonrasında derleyicinizin derleme işlemini gösterdigi bir output vardır orada da bellegin organizasyonunu gösterir..

ör/hi-tech c de


 
Memory Usage Map:

Program space:
   CODE                 used   156h (   342) of  8000h bytes   (  1.0%)
   CONST                used     0h (     0) of  8000h bytes   (  0.0%)
   SMALLCONST           used     0h (     0) of  7A00h bytes   (  0.0%)
   MEDIUMCONST          used     0h (     0) of  7A00h bytes   (  0.0%)

Data space:
   RAM                  used     0h (     0) of   600h bytes   (  0.0%)
   BIGRAM               used     0h (     0) of   600h bytes   (  0.0%)
   BANK0                used     0h (     0) of   100h bytes   (  0.0%)
   BANK1                used     0h (     0) of   100h bytes   (  0.0%)
   BANK2                used     0h (     0) of   100h bytes   (  0.0%)
   BANK3                used     0h (     0) of   100h bytes   (  0.0%)
   BANK4                used     0h (     0) of   100h bytes   (  0.0%)
   BANK5                used     0h (     0) of   100h bytes   (  0.0%)
   COMRAM               used     7h (     7) of    80h bytes   (  5.5%)
   NVRAM                used     0h (     0) of   100h bytes   (  0.0%)

EEPROM space:
   EEDATA               used     0h (     0) of   100h bytes   (  0.0%)

ID Location space:
   IDLOC                used     0h (     0) of     8h nibbles (  0.0%)

Configuration bits:
   CONFIG               used     3h (     3) of     7h words   ( 42.9%)

Extra space:
   SMALLCONS            used     Bh (    11) of     1h unit    (1100.0%)

Summary:
   Program space        used   156h (   342) of  8000h bytes   (  1.0%)
   Data space           used     7h (     7) of   600h bytes   (  0.5%)


örnegin bu programı yazdıgımda degişkenlerden biri static olarak lokal alanda idi ve static'i kaldırdım auto yaptım  Data space  . used     7h (     7) of   600h bytes   (  0.5%) bölgesindeki 0.5-- 0.7 oldu ,yani tanımladımız degişkenlerin bilinirlik alanı işlemcideki bellek organizasyonunuda etkiliyor.
bellegi verimli kullanmakta önemli bir kavram bu arada  ..


   EEPROM space         used     0h (     0) of   100h bytes   (  0.0%)
   ID Location space    used     0h (     0) of     8h nibbles (  0.0%)
   Configuration bits   used     3h (     3) of     7h words   ( 42.9%)
                        used     Bh (    11) of     1h unit    (1100.0%)


örnegin intel mimarisnde CODE SEGMENT te  makina kodu
DATA SEGMENT te golabal ve static degişkenler
STACK SEGMENT te yerel degişkenler  saklanır
her işlemcinin  kendine özgü bir mimari yapısı var

 iyi çalışmalar.