Nochmals aber richtig: Probleme beim Pic-Programmieren!

  • Thread starter Robert Wukitsevits
  • Start date
R

Robert Wukitsevits

Guest
Hy Leute!
Da ich viele fehler beim ersten Posten gemacht habe. Mach ich es nochmal
aber richtig!

Problemstellung:
-----------------
Ich will einen PIC vom Typ 16F74 in C programmieren und verwende dafür den
Compiler HI-Tech. Ich bekomme komische Fehlermeldungen die ich nicht richtig
deuten kann.
z.B.:
5 errors, 0 warnings from HLINK.EXE

Can't find 0x82 words for psect rbss_0 in segment BANK0 (error)
Can't find 0x4 words for psect rdata_0 in segment BANK0 (error)
Can't find 0x7 words for psect temp in segment BANK0 (error)
usw.

Im Programm verwende ich Felder um 3 x 1 Byte zu erzeugen, dass zum Poti
geschickt werden muss, nach jedem Byte muss ich auf ein ACK vom Poti
warten. Muss aber auch jedes einzelne Bit ändern können. ==> meiner Meinung
nach gute Lösung.

Nun meine Frage:
--------------------
Wodurch kann dieser Fehler beim Linker entstehen, oder hat schon jemand
dieses Problem gehabt? Solltet Ihr den Code wollen, dann bitte anfragen per
Mail.

Danke für eure Hilfe und ich hoffe, dass ich diesmal alles richtig gemacht
habe.

MfG
Wuki
 
"Robert Wukitsevits" <WukiTECH@gmx.net> schrieb:

5 errors, 0 warnings from HLINK.EXE

Can't find 0x82 words for psect rbss_0 in segment BANK0 (error)
Can't find 0x4 words for psect rdata_0 in segment BANK0 (error)
Can't find 0x7 words for psect temp in segment BANK0 (error)
Ich kenne den Compiler/Linker nicht, aber das klingt mir, wie zu viel
Speicher (RAM) alloziert. Da er von Bänken spricht, ggf. mußt Du
Deinen Speicherbedarf da irgendwie aufteilen auf mehrere...

--
Jörg Wunsch

"Verwende Perl. Shell will man können, dann aber nicht verwenden."
Kristian Köhntopp, de.comp.os.unix.misc
 
"Robert Wukitsevits" <WukiTECH@gmx.net> schrieb:

Problemstellung:
-----------------
Ich will einen PIC vom Typ 16F74 in C programmieren und verwende dafür den
Compiler HI-Tech. Ich bekomme komische Fehlermeldungen die ich nicht richtig
deuten kann.
z.B.:
5 errors, 0 warnings from HLINK.EXE

Can't find 0x82 words for psect rbss_0 in segment BANK0 (error)
Can't find 0x4 words for psect rdata_0 in segment BANK0 (error)
Can't find 0x7 words for psect temp in segment BANK0 (error)
usw.

Im Programm verwende ich Felder um 3 x 1 Byte zu erzeugen, dass zum Poti
geschickt werden muss, nach jedem Byte muss ich auf ein ACK vom Poti
warten. Muss aber auch jedes einzelne Bit ändern können. ==> meiner Meinung
nach gute Lösung.

Nun meine Frage:
--------------------
Wodurch kann dieser Fehler beim Linker entstehen, oder hat schon jemand
dieses Problem gehabt? Solltet Ihr den Code wollen, dann bitte anfragen per
Mail.

Danke für eure Hilfe und ich hoffe, dass ich diesmal alles richtig gemacht
habe.
Hallo!

Vermutlich schaltest Du die Bank nicht richtig um. Ohne Quellcode kann
man aber dazu nicht viel sagen. Schon mal auf der HI-Tech-Seite
nachgesehen, ob es zu den Fehlermeldungen Docus gibt? Bei meinem CCS
C-Compiler war sowas dabei.

Gruß
Jürgen
--

---------------------------------------------------------
meine Auktionen: http://members.ebay.de/aboutme/do1pjk/
---------------------------------------------------------
 
Danke für den Tip! Habe unter microchip.com in den FAQ etwas darüber
gefunden. Standartmässig werden alle Variablen in die Bank0 gelegt (Stack,
usw) ist auch darin gespeichert und daher sehr schnell voll. Nun hab ich
manuell die Arrays in die Bank1 gelegt und es klappte. Danke, der Tip hat
mir sehr geholfen!

MfG
Wuki

"Juergen Klein" <juergen@ek-p.de> schrieb im Newsbeitrag
news:32r7gvg54nq6mtroi052agm6pkb4q3es9r@4ax.com...
"Robert Wukitsevits" <WukiTECH@gmx.net> schrieb:

Problemstellung:
-----------------
Ich will einen PIC vom Typ 16F74 in C programmieren und verwende dafür
den
Compiler HI-Tech. Ich bekomme komische Fehlermeldungen die ich nicht
richtig
deuten kann.
z.B.:
5 errors, 0 warnings from HLINK.EXE

Can't find 0x82 words for psect rbss_0 in segment BANK0 (error)
Can't find 0x4 words for psect rdata_0 in segment BANK0 (error)
Can't find 0x7 words for psect temp in segment BANK0 (error)
usw.

Im Programm verwende ich Felder um 3 x 1 Byte zu erzeugen, dass zum Poti
geschickt werden muss, nach jedem Byte muss ich auf ein ACK vom Poti
warten. Muss aber auch jedes einzelne Bit ändern können. ==> meiner
Meinung
nach gute Lösung.

Nun meine Frage:
--------------------
Wodurch kann dieser Fehler beim Linker entstehen, oder hat schon jemand
dieses Problem gehabt? Solltet Ihr den Code wollen, dann bitte anfragen
per
Mail.

Danke für eure Hilfe und ich hoffe, dass ich diesmal alles richtig
gemacht
habe.

Hallo!

Vermutlich schaltest Du die Bank nicht richtig um. Ohne Quellcode kann
man aber dazu nicht viel sagen. Schon mal auf der HI-Tech-Seite
nachgesehen, ob es zu den Fehlermeldungen Docus gibt? Bei meinem CCS
C-Compiler war sowas dabei.

Gruß
Jürgen
--

---------------------------------------------------------
meine Auktionen: http://members.ebay.de/aboutme/do1pjk/
---------------------------------------------------------
 
On Thu, 3 Jul 2003 09:26:32 +0200, "Robert Wukitsevits"
<WukiTECH@gmx.net> wrote:

Can't find 0x82 words for psect rbss_0 in segment BANK0 (error)
Can't find 0x4 words for psect rdata_0 in segment BANK0 (error)
Can't find 0x7 words for psect temp in segment BANK0 (error)
Sieht so aus, als ob der Linker keinen Platz mehr findet :D

Probier mal einige Variablen mit der Anweisung 'bank1' auf eine andere
Bank zu platzieren. Bzw. auch mal testweise einige (große) Variablen
auskommentieren.

z.b. bank1 unsigned char test;

Das einzige was mir etwas spanisch vorkommt, ist dass die Fehler alle
auf einmal auftreten. Normalerweise 'wächst' ein Programm ja, und man
kompiliert alle paar Zeilen mal um zu sehen ob eh noch alles in
Ordnung ist was man gerade gemacht hat...

HTH,

--

- Marcus

Roses are Red, Violets are blue, I am schizophrenic, And so am I!
 
Danke! Das hat geholfen!

Das so viele Fehler auf einaml kommen, kommt dadurch, das ich eine
Bibliothek für das digitale Poti geschrieben hab, das gleich 4 Int-Arrays
mit jeweils 8 bit füttere unnd das war ihm in der bank0 zuviel. Ich hab das
ganze geändert, wie du gesagt hast und jetzt geht es (die 4 Array in die
bank1 verlegt).

Danke nochmal!
Mfg
Wuki

"Marcus Nemec" <lord-of-trance@gmx.net> schrieb im Newsbeitrag
news:viu8gvo5kb4ip7cnk988hm4lgqjtomi6i3@4ax.com...
On Thu, 3 Jul 2003 09:26:32 +0200, "Robert Wukitsevits"
WukiTECH@gmx.net> wrote:

Can't find 0x82 words for psect rbss_0 in segment BANK0 (error)
Can't find 0x4 words for psect rdata_0 in segment BANK0 (error)
Can't find 0x7 words for psect temp in segment BANK0 (error)

Sieht so aus, als ob der Linker keinen Platz mehr findet :D

Probier mal einige Variablen mit der Anweisung 'bank1' auf eine andere
Bank zu platzieren. Bzw. auch mal testweise einige (große) Variablen
auskommentieren.

z.b. bank1 unsigned char test;

Das einzige was mir etwas spanisch vorkommt, ist dass die Fehler alle
auf einmal auftreten. Normalerweise 'wächst' ein Programm ja, und man
kompiliert alle paar Zeilen mal um zu sehen ob eh noch alles in
Ordnung ist was man gerade gemacht hat...

HTH,

--

- Marcus

Roses are Red, Violets are blue, I am schizophrenic, And so am I!
 

Welcome to EDABoard.com

Sponsor

Back
Top