Forum: Mikrocontroller und Digitale Elektronik Hardware Multiplier Beispiel in C-Code


von Gerry (Gast)


Lesenswert?

Halo zusammen,

Ich möchte das Hardware Multiplier nutzen in my Projekt. Jetzt habe ich 
nur die Family User's Guide und einige Application Notes von TI. Leider 
sind alle Beispiele in Assembler geschrieben. Ich kann Assembler lesen, 
aber nicht selber schreiben. Darüber hinaus ist mein Projek in C.
Meine Frage ist, kann jemand mir sagen, wo kann ich verlässliches 
beispiel des Hardware Multiplier in C-Code erhalten?

Vielen Dank!

Gerry

von Peter D. (peda)


Lesenswert?

Gerry schrieb:
> Meine Frage ist, kann jemand mir sagen, wo kann ich verlässliches
> beispiel des Hardware Multiplier in C-Code erhalten?

Hier:
1
 a = b * c;


Peter

von Grrr (Gast)


Lesenswert?

Ein C-Compiler, der für den fraglichen Prozessor angepasst bzw. 
geschrieben wurde sollte den passenden Code selbstständig produzieren.

A C compiler, which was adapted resp. dedicately written for the 
processor in question should produce the appropriate code by itself.

von Gerry (Gast)


Lesenswert?

Danke Peter,

Aber diese Gleichung wird direkt mit Software CPU ausgefürt oder mit 
Hardware Multiplier peripheral?

Gerry

von Gerry J. (gerrykk)


Lesenswert?

Danke dir,

Ich war nicht eindeutig. Ich bin mit MSP430 Prozessor gearbeited. Mann 
muss extra C-code schreiben, wenn mann Hardware Multiplier als 
peripheral nutzen.
z.B.
MOV R15,&130h ; Define MPY operation
MOV R14,&138h ; Start MPY with operand 2
... ; Product in SumHi|SumLo

Gerry

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> Mann muss extra C-code schreiben, wenn mann Hardware Multiplier als
> peripheral nutzen.
> MOV R15,&130h ; Define MPY operation
> MOV R14,&138h ; Start MPY with operand 2
Das ist kein C-Code... :-o

Wenn du aber wirklich C programmierst, dann sollte wie schon gesagt der 
C-Compiler das selber machen...
Evtl. mußt du da aber einen Compilerschalter (Aufrufparameter) 
aktivieren.

BTW:
Warum meinst du, dass der Compiler das nicht macht?

von Grrr (Gast)


Lesenswert?

Gerry J. schrieb:
> Mann
> muss extra C-code schreiben, wenn mann Hardware Multiplier als
> peripheral nutzen.

Nein.

Ich kenne nicht alle Compiler für  MSP430 aber mspgcc kann das set 
einigen Jahren selbst.

von Christian R. (supachris)


Lesenswert?

In den Compiler-Optionen kann man einstellen, dass der 
Hardware-Multipilzierer genommen wird. Der GCC zum Beispiel macht das 
dann auch. Das selbst zu programmieren ist möglich, aber nur in seltenen 
Fällen sinnvoll. Die MUL-Register lassen sich dann problemlos aus C 
ansprechen, asm ist nicht nötig. Einfach in der richtigen (!) 
Reihenfolge beschreiben.

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.