Forum: Mikrocontroller und Digitale Elektronik Compiler für AT91SAM7S256


von tron (Gast)


Lesenswert?

Hallo Leute,

Ich suche einen C-Compiler für den AT91SAM7S256, zur Zeit benutze ich 
den Programmers Notepad 2, GCC Compiler 4.1.1 (WinARM).
Leider schaffe ich es nicht zwei Variabeln miteinander zu 
multiplizieren.
Kennt jemand einen anderen Compiler oder kann mir beim Notepad 2 
Compiler helfen?

Danke!

von Jürgen (Gast)


Lesenswert?

Also ich glaube nicht das der Compiler nicht kann!

Wie sieht denn dein Code aus?

von tron (Gast)


Lesenswert?

Wenn ich die Multiplikation wie folgt durchführe, kann ich mein Programm 
ohne Fehler kompilieren, auf den MCU laden aber nicht ausführen.
Wenn ich "resultat0" aber durch einen festen Zahlenwert zb. 100 ersetze 
läuft das Programm einwandfrei.

unsigned int resultat0;
resultat0 = ((resultat0*2559)/1000);

von Maik (Gast)


Lesenswert?

Der Notepad 2 Compiler - ja der ist schon scheisse....

von Jürgen (Gast)


Lesenswert?

>unsigned int resultat0;
>resultat0 = ((resultat0*2559)/1000);

Welchen Wert hat denn am Anfang resultat0??

Wenn 0 dann kommt da auch nicht dabei raus!

Die resultat0 ist aber auch nicht initialisiert ist als un definiert
==> das ist sowie so mist!

von Jojo S. (Gast)


Lesenswert?

bei der avr-lib werden alle Variablen mit Null initialisiert (wenn sie 
auf keinen anderen const Wert festgelegt werden) und eine 0 
Initialisierung ist daher überflüssig (siehe 
http://www.nongnu.org/avr-libc/user-manual/FAQ.html#faq_varinit).
Beim Output für den ARM sehe ich auch das die .bss section mit null 
gefüllt wird. Daher ist in dem Beispiel die feste 0 als Ergebnis 
richtig. Wenn der Compiler das nicht sogar wegoptimiert, also zum Testen 
besser noch ohne Optimierung anfangen.

von tron (Gast)


Lesenswert?

danke für Eure Hilfe, habe den Fehler gefunden, habt mich auf die 
richtige Spur gebracht!

greez

von Jojo S. (Gast)


Lesenswert?

na, wer sich schon 'tron' nennt der sollte es auch draufhaben :-)

von tron (Gast)


Lesenswert?

hehe, ich hab grad geguuuglet wer tron ist und ehrlich ist reiner 
zufall, wollte mich ja erst elektron nennen aber war besetzt ;)

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
Noch kein Account? Hier anmelden.