Hallo zusammen, ich arbeite zur Zeit mit dem UC3C-ek. Ich würde mich gern ein wenig mit der FPU des UC3C beschäftigen. Ich habe bisher immer gelesen, dass man die FPU derzeit nur mit dem IAR Compiler unter C verwenden kann. Da ich das AVRStudio 5 nutze muss ich also auf Assembler zurückgreifen?!? Die DSP-Einheit ist auf den ersten Blick auch ganz interessant leider bietet sie ja nur Fixed-Point Berechnungen an. Gibt es da eine Möglichkeit auch Floatin-Point Berechnungen durchzuführen? Viele Grüße Peter
Ich glaube Peter, da wirst Du wohl Neuland betreten. Mein UC3C-EK ist leider abgeraucht. Vielleicht sollten wir uns mal gebündelt an ATmel Norwegen wenden, um den klar zu machen, dass die float-Unterstützung für den GCC ein begehrtes Feature wäre. Falls Du etwas raus gefunden haben solltest, dann lass es uns wissen.
Ich habe mal bai Atmel nachgefragt, warte aber noch auf eine Antwort. Kannst du mir denn sagen, ob die DSP Unit auch mit floating point umgehen kann oder nur mit fixed point? ich finde es ja schon komisch, dass es darüber keine Angaben im Datenblatt gibt bzw habe ich darüber nichts gefunden.
Weshalb sollte die DSP Einheit denn Floatingpoint koennen ? Hast du einen dermassen grossen dynamischen Bereich ? Denn die Genauigkeit nimmt ab. Ein 32bit floating point hat nur eine Mantisse von 24bit (5-6 dezimale Stellen) waehrend eine 32bit integer, eine Mantisse von 32 bit (9 dezimale Stellen) hat.
OK dann fällt die DSP Einheit ja raus. Kennt jemand denn Beispiele, wie man die FPU nutzt? Auch dazu finde ich in keinem Datenblatt etwas. Bei den Beispielen aus dem Framework ist ja auch nichts dabei. Schon komisch, dass Atmel mit der FPU wirbt aber selbst keine Beispiele stellt.
Hat jemand bezüglich der FPU schon etwas herausgefunden? Ich quäle mich auch grade mit dem AT32UC3C-EK rum und muss bezüglich meiner Diplomarbeit da auch mal fix vorankommen. Ich stehe vor dem gleichen Problem... da ich Algorithmen mit massiver Summenbildung und Multiplikationen pro Iteration habe und ich ein halbwegs echtzeitfähiges System erarbeiten soll, wäre es interessant zu wissen, wie man die FPU anspricht. Ich habe gedacht, dann weiche ich auf die DSP-Einheit aus und greife auf die fertige DSP Library zurück, allerdings habe ich da keinen Schimmer, wie ich meine Float-Werte in eine Festkommazahl und zurück konvertiere. Es gibt ein Makro namens "DSP32_Q(float)", was eine Float-Zahl in eine Fixed-Point-Zahl konvertiert. Wie rechnet man diese Zahl wieder um? Der manuelle Weg funktioniert bei mir nicht (wenn man weiß, wieviel Bit auf den Ganzzahlteil und gebrochenrationalen Teil verteilt sind). Ich finde nirgends dazu Beispiele. Ich tappe irgendwie im Dunkeln...
wo ist konktet das problem??? Der GCC unterstützt doch die FPU des UC3s... leute leute, vieleicht solltet ihr weniger zeit ins gemecker investieren... wer immer nur die hände in die luft reist, kann seine tastatur nicht mehr bedienen..... um z.B. die nötigen compilerflags anzugeben -.-
ansonsten... wo is das problem das in asm zu schreiben? machste zur not C++ draus, schreibst dir die globalen operatoren für floats selbst. egal wie, wäre alles schon längst erledigt, in der zeit in denen ihr hier auf Antwort hofft (aber nur beschwerden kommen)
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.