Compiler für AT91SAM7S256

Gast #783047
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!
Gast #783103
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);
Gast #783123
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!
Gast #783156
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren