Mein C-Programm ist (Durch irgend eine Änderung im Programmcode) plötzlich von 1 kB auf 4kB angewachsen. Da ich nicht mehr genau weiß, was ich konkret geändert bzw. neu programmiert habe, kann ich das nicht weiter eingrenzen. Gibt es eine Möglichkeit fest zu stellen, wo der "Speicherfresser" ist?
Heimo schreibt: >Da ich nicht mehr genau weiß, was ich konkret geändert bzw. neu >programmiert habe, kann ich das nicht weiter eingrenzen. Ja, wenn man alt wird ist das so. >Gibt es eine Möglichkeit fest zu stellen, wo der "Speicherfresser" ist? Hast du float als Datentyp eingesetzt und damit Rechen- operationen durchgeführt?
Hallo, poste mal deinen Code.... Vll kann man da was erkennen. Ich vermute du verwendest eine zusätzliche Library. Evtl. printf o.ä.?
Nein, nur char und unsigned int. Keine Divisionen od. höhere Rechenoperationen.
Schon im Mapfile nachgesehen?
Heimo G. schrieb: > Da ich nicht mehr genau weiß, was ich konkret geändert bzw. neu > programmiert habe, kann ich das nicht weiter eingrenzen. Das solltest Du ernst nehmen und Deine Versionskontrolle verbessern bzw. überhaupt erstmal eine einführen. Wir können jetzt ne Raterunde veranstalten oder Du zeigst einfach mal Deine Source(n). Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang! Peter
ich habs schon! Das Problem war: Ich habe für delay eine Variable (us) eingesetzt.
1 | CS_low(50); |
2 | |
3 | void CS_low(unsigned int us) |
4 | {
|
5 | PORTB &= ~(1<<PB1); // CS = low |
6 | _delay_us(us); |
7 | }
|
Abhilfe:
1 | CS_low(); |
2 | |
3 | void CS_low(void) |
4 | {
|
5 | PORTB &= ~(1<<PB1); // CS = low |
6 | _delay_us(50); |
7 | }
|
>Ich habe für delay eine Variable (us) eingesetzt.
Wie langweilig, immer das Gleiche ;-)
Verzeihung, aber das erstaunt mich. Da würde mich mal interessieren, wie das zustandekommt. M.E. sollte bei beiden Varianten eine ähnliche Codegröße rauskommen. Ralf
Okay, danke. Der Aufruf ohne konstanten Wert macht wohl das Problem. Ralf
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.