Frage(n) zu Codevision

Gast #164586
Hallo

Ich habe eine Frage zum Codevision Compiler: Ich benutze die
Evaluation-Version, die auf 2kByte Programmcode beschränkt ist.
Abgesehen davon, dass ich mir eine Vollversion ohnehin nicht leisten
kann, reicht die Version ja für die kleineren Bausteine.

Aber seltsamerweise meckert der Compiler bei mir schon bei 550Words
also 1100Bytes rum, dass der Code zu groß für die Evaluation-Version
ist! Irgendwie muss das aber auch am Code liegen, weil wenn ich den
Compiler mit Assembler-Befehlen vollstopfe, erscheint diese Meldung
nicht (bis zur 2kByte-Grenze)!! Kennt jemand dieses Problem?!

Die zweite Frage, die ich mir (und jetzt natürlich Euch ;-) ) stelle,
ist, wie ich im Assemblercode auf Bit-Variablen zugreifen kann. Also
Bit-Variablen, die in C-Code deklariert wurden. Gibt es da eine
eindeutige Zuordnung?

Vielen Dank schonmal ;-)
Grüsse,
Steffen
Gast
Puh, kennt keiner das Problem oder nutzt ihr alle die Vollversionen?
Eigentlich ist die Codebegrenzung auf 2kByte doch wie geschaffen für
die kleinen AVRs.

Hat jemand eine Idee, warum er jetzt meckern könnte? Ich bin mit meinem
Latein am Ende und beschäftige mich insgesamt schon einige Stunden mit
dem Problem...

Ich würde mich wirklich sehr freuen, wenn ihr mir Tipps geben
könntet!!

Grüsse,
Steffen
Gast
Kenne mich mit AVRs usw. eigentlich nicht aus, aber könnte es sein, dass
irgendwas hinter der 2k-Grenze von deinem Compiler eingesetzt wird?
Vielleicht eine Tabelle im Code-Speicher oder sowas in der Art. Ich
könnte mir vorstellen, dass dann gemault wird, sobald irgendwas hinter
den 2k im Code-Bereich steht.

Nur so ne Idee...

Gruß Ralf
Gast
Zu1. kann ich nicht sagen, habe eine Vollversion.

zu2. gibt es leider eine schlechte Nachricht. Es gibt keine direkte
Zuordnung.

Ich habe in einer Software das selbe Problem gehabt. Dort mußte ich die
"C-Bits" in den Registern definieren und anschließend dem selben
Register in Asm. die "asm.-Bits" zuweisen.
Wenn es verweidbar ist lass es, da der Compiler die "C-Bits" selber
zuordnet. Beim Umstieg vom Mega8 auf den Mega168 gibt es schon eine
Verschiebung.

Bernhard
Gast
Kann es sein das du C-Funktionen verwendest wie
z.B: strlen(),memcpy(),printf() etc. ?

Diese müßen natürlich auch in den Code mit rein.

Aufklärung vielleicht durch ein Assembler-Listing.

Gruss
Gast
Hallo

Ich benutze keine C-Funktionen, aber Library-Funktionen (Delay.h). Ich
hab die geradeeben mal auskommentiert, trotzdem kommt die
Fehlermeldung. Damit erübrigt sich vermutlich auch Dein Vorschlag, Ralf
:-(

Er sagt mir doch beim Linken(?), wie groß das File geworden ist. Und da
schreibt er bei mir 550Words - das sind nach Adam Riese noch 450Words
bis zur Codegrenze... seltsam, oder?

Das mit den Bit-Feldern ist auch schade, aber dann schon fast egal,
weil ich mit dem Compiler dann nicht weitermachen kann. Ich versuche
mich jetzt mit WinAVR!

Vielen Dank für Eure Hilfe!
Steffen

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.