Zitat Zitat von cumi
Zitat Zitat von SprinterSB
ad 1) Schau mal in <inttypes.h> bzw. <limits.h>.
Du sprichst von der AVR C Lib oder wie die heisst, oder? Werd sie einmal herunterladen und reinschauen.
inttypes.h und limits.h sind Standard-Header. ANSI-C oder ISO-C-xx. Wenn du keine linits.h anbei hast, besorg dir eine, pass sie an für AVR und leg sie in einen Include-Pfand, den du avr-gcc mit -I mitgibst. (Du wirst limits.h auch in anderen Projekten verwenden wollen).
Zitat Zitat von cumi
[Saturierung]. Dabei handelt es sich um eine Eigenschaft von GNU AVR-C-Compiler, oder?
Nein. Saturierung wird von C nicht unterstützt (in gewissem Maße zwar durch die Maschinenbeschreibung, aber das nützt dir nix). Saturierung musst du von Hand machen, sorry.
Zitat Zitat von cumi
Zitat Zitat von SprinterSB
ad 4) Standardisiere [...]
Hmm, wäre eigentlich keine schlechte Idee, nur an welchen Standart?
ANSI-C, ISO-C99, ...
Zitat Zitat von cumi
Als ich das letzte mal die AVR-C-Lib genauer angeschaut habe, hat mich einiges gestört. Also ich finde sie hat kein schlaues Konzept (oder mindestens keines, welches für mich nachvollziehbar wäre). Das merkt man am meisten bei der Verzeichnisstruktur...
Die Verzeichnisstruktur ist so bei GCC und den binutils und libc. Nicht nur für AVR, sondern auch bei den anderen 50 Controller/Prozessortypen, auf anderen Plattformen, ... Für nen Anwender ist's ja reichlich egal, wie die Verzeichnisstruktur ist. Target-Zeug steht eben im Target-Verzeichnis, das ist "avr". Darunter stehen die Standard-Includes in "include", darunter die AVR-abhängigen Includes wieder in "avr". That's it. AVR-abhängige Libs/Linkerscripts in avr/lib...
Zitat Zitat von cumi
Bibliotheken
Eigene Bibliotheken sind eine gute Idee, wenn du in mehreren Projekten auf die gleichen, Standardisierten Features zurückgreifen willst. Wie etwa Fixpunkt-Rechnung.