for psect "text" in segment "CODE" hatas

Başlatan tyilgin, 19 Şubat 2009, 12:48:40

tyilgin

Arkadaşlar merhaba,

Kullandığım derleyici Hi-Tech. mcu ise 18F452.

Herşey çok güzel gidiyordu. programım mcunun %58 ini, değişkenlerim ise %80 ini dolduruydu.

2-3 satır daha ekledim ve bu hata mesajını aldım. Eklediğim satırlar ise bir giriş pininin durumuna bakarak sıfırsa return demekti. öyle enteresanki eklediğim satırı kaldırıp ne eklersem ekleyeyim bir kaç komut yazınca bu hata oluşuyor.

Konu hakkında bir fikri olan varmı acaba ?

can't find 0x408A words (0x408a withtotal) for psect "text" in segment "CODE"

ORC

http://www.htsoft.com/support/faqs.php#faq201

Burda

I get the error: Cant find XXX words/bytes in psect XXX

> I get the error: Can't find XXX words/bytes in psect XXX
> What does this mean??

This error message simply means that the linker could not find enough
space in ROM or RAM to fit your program.

If you are using the PICC compiler and the error says that it can't find
space in segment CODE, then this can mean one of two things.
Either your program is simply too big to fit into the available ROM space
of the processor you are compiling for; OR
You have a large function which won't fit into a single ROM page. There is
a restriction that functions must be able to fit within a ROM page. To overcome
this, split the large function into two or more smaller functions.
You can
determine which function is causing the problem by generating an assembler
listing file (-asmlist), and locating the psect that was given in the error
message.

If the error message says that it was segment BANKx that it couldn't find space,
then this means you have run out of RAM in that particular bank. FAQ number 29
has details of this.


Çevirmeme gerek yok sanırım ;)

Kolay gelsin

tyilgin

Alıntı yapılan: "ORC"http://www.htsoft.com/support/faqs.php#faq201

Burda

I get the error: Cant find XXX words/bytes in psect XXX

> I get the error: Can't find XXX words/bytes in psect XXX
> What does this mean??

This error message simply means that the linker could not find enough
space in ROM or RAM to fit your program.

If you are using the PICC compiler and the error says that it can't find
space in segment CODE, then this can mean one of two things.
Either your program is simply too big to fit into the available ROM space
of the processor you are compiling for; OR
You have a large function which won't fit into a single ROM page. There is
a restriction that functions must be able to fit within a ROM page. To overcome
this, split the large function into two or more smaller functions.
You can
determine which function is causing the problem by generating an assembler
listing file (-asmlist), and locating the psect that was given in the error
message.

If the error message says that it was segment BANKx that it couldn't find space,
then this means you have run out of RAM in that particular bank. FAQ number 29
has details of this.


Çevirmeme gerek yok sanırım ;)

Kolay gelsin

Aslında pek anlayamadım. İşlemcinin program boyu diyorsa, zaten programım %60 lar seviyesinde.

siz bir yorum yapabilirmisiniz ?

ilginiz için teşekkür ederim.

tyilgin

değişkenlerin başına bank1, bank2 gibi yazarak değişkenleri farklı banklara taşımayı denediysem de birşey değişmedi.

Aslında değişkenlerin ram üzerinde olduğunu program belleğini etkilemeyeceğini de biliyorum ama her şeyi deniyorum artık...

programımım hatadan önceki derleme sonu özeti :

Memory Usage Map:

Program space:
    CODE                 used  4B21h ( 19233) of  8000h bytes   ( 58.7%)
    LOWCODE              used     0h (     0) of  8000h bytes   (  0.0%)

Data space:
    RAM                  used    95h (   149) of   600h bytes   (  9.7%)
    BIGRAM               used   4BEh (  1214) of   600h bytes   ( 79.0%)
    COMRAM               used     Fh (    15) of    80h bytes   ( 11.7%)
    NVRAM                used     0h (     0) of   100h bytes   (  0.0%)

EEPROM space:
    EEDATA               used    80h (   128) of   100h bytes   ( 50.0%)

External data memory:
                         None available

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

Configuration bits:
    CONFIG               used     2h (     2) of     7h words   ( 28.6%)

Summary:
    Program space        used  4B21h ( 19233) of  8000h bytes   ( 58.7%)
    Data space           used   562h (  1378) of   600h bytes   ( 89.7%)
    EEPROM space         used    80h (   128) of   100h bytes   ( 50.0%)
    External data memory None available
    ID Location space    used     0h (     0) of     8h nibbles (  0.0%)
    Configuration bits   used     2h (     2) of     7h words   ( 28.6%)

ORC

şu kodu buraya koyarsanız bide biz derlesek olurmu çünkü arastırırken aynı hatayla karsılasan birileri derleyicinin daha guncel bi surumu ile sorunu çözdüğünü iddaaa ediyordu..

bende 9.60 var

koyarsanız yardımcı olmaya calısırım..kod ortalıkta olmayınca cok havada oluyor böyle

vebsel

hata derleyicinde olabilir belki belirli bir kb sınırlaması olabilir.
2 üç komut diyorsun o komutta bir dış komut kullanıyorsn bir anda hafıza dolmuş olabilir

tyilgin

Alıntı yapılan: "vebsel"hata derleyicinde olabilir belki belirli bir kb sınırlaması olabilir.
2 üç komut diyorsun o komutta bir dış komut kullanıyorsn bir anda hafıza dolmuş olabilir

hayır o komutlarda bir dış komut kullanmıyorum.

Arkadaşların daha öncede bahsetmiş olmalarına rağmen birşeyi yeni farkettim.

Kullandığım programlayıcım brenner8 ve usbburn adllı bir arayüz ile yazıyorum.

usbburn de "MemoryMap" adlı bir sekme mevcut ve orada 0x0000-0x3FFFF ve 0x40000-0x7FFF adlı iki bank görüyorum. ana pogram 0x4000 den sonraki bank üzerinde, diğer dosyalara bölünmüş diğer kodlar ise 0x0000 dan başlayan bank üzerinde tutuluyor. benim kodlarım 0x4000 ile başlayan yere sığmadığından dolayı bu hatayı alıyorum.

şimdi kodlarımı farklı .c dosyaları ile parçalamaya çalışıyorum ancak burada da değişkenler sorun çıkartıyor.

değişkenlerle ilgili olan sorunlarımı  ise daha önce açtığım bir konuda
( https://www.picproje.org/index.php/topic,23307) sormayı uygun buldum.

ilgilenen arkadaşlara tekrar teşekkür ederim...