Hallo Ich programmiere gerade einen ADUC7020 mit ARM7TDMI Core. Ich will nächstes Jahr kleine Digitalfilter implementieren. Im Handbuch habe ich folgendes gefunden: LONG MULTIPLY (M) The ARM7TDMI instruduction set includes four extra instruductions that perform 23-bit by 32-bit multiplications with 64-bit result, and 32-bit by 32-bit multiplication-accumulation (MAC) with 64-bit result. These results are archived in fewer cycles than required on a standard core. Ich bin vor allem an der MAC-Operation interessiert, da dadurch die Filter wesentlich schneller sein sollten. Mein Problem ist nun: Wie nutze ich diese Funktionen? Geht das einfach in C? Vielen Dank, Tilo
Wenn deine Compiler-Toolchain diese Funktionen nicht schon in der Libary drin haben (Manual prüfen und anschliessend vielleicht Developerforum befragen) kannst du mit Inline-Assembler was an^H^Hausrichten.
GCC verwendet MLA wo sinnvoll. Ggf. musst du den Code etwas umstellen.
Woher weiß der gcc denn, dass mein MCU diese Befehle kennt? Die scheinen ja nicht zum Standardbefehlssatz zu gehören. Bis dann,
Doch. Das 'M' ist ja ein Teil von TDMI, also gehört es auch zum Standardbefehlssatz. Du brauchst beim Kompilieren nur arm7tdmi als MCU anzugeben. MfG Mark
Super, danke für die Info! Ich dachte ich müsste das alles von Hand implementieren. Bis dann, Tilo
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.