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
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
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
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
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
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
Ich habe hier eine Version 1.23.5, die diese Grenze wohl nicht kennt. Weiß jemand, ob diese Grenze nur bei neueren Ausgaben vorhanden ist ?
1.24.0 ist es jedenfalls (schon). Gibts die Version denn noch irgendwo zum Download?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.