Forum: Mikrocontroller und Digitale Elektronik Division mit XC2267


von Leo (Gast)


Lesenswert?

Hallo, ich möchte mit dem Mikrocontroller XC2267 von Infineon Division 
von 16Bit Werten realisieren. Folgende Kapitel im Datenblatt habe ich 
bereits durchgelesen:

4.8.3 Multiply and Divide Unit
4.9 DSP Data Processing (MAC Unit)
4.9.1 MAC Unit Control

Mit den Registern MDH und MDL kann ich die 16Bit Werte einlesen. Wie 
kann ich nun im Mikrocontroller veranlassen, das dieser eine Division 
ausführen soll? In welchem Register steht die Adresse von der Berechnung 
drin ?

von MaWin (Gast)


Lesenswert?

> XC2267

Ach du Scheisse, von Siemens-Bankern aufgeblasener 8051,
den man nicht mehr C166 nennen will weil dann jeder wüsste
welcher Schrott das ist. 8 bit Krüppel mit 32 bit Ballast.

DIV Rw Signed divide register MDL by direct GPR
(16-bit ÷ 16-bit) ist die passende Instruktion,
(oder DIVU) aber warum verwendest du nicht C ?

Es gibt einiges zu beachten, siehe Seite 40:
http://www.keil.com/dd/docs/datashts/infineon/c166ism.pdf

von TManiac (Gast)


Lesenswert?

Hallo Leo,

wie sieht deine Entwicklungsumgebung aus? C mit Keil oder Tasking 
(Classic oder VX)? Oder doch Assembler?

Ich frage, weil nur die VX-Toolchain von Tasking die MAC direkt 
unterstützt. Bei Keil und in der Classic muss man die per 
InlineAssembler, bzw Registerschreiben bearbeiten. So lange es nicht 
Zeitkritisch ist würde ich da lieber die Standardimplementation der 
Compiler nutzen.

Aber um deine Frage zu beantworten, schau mal in das C166S V2 Core 
User's Manual (c166sv2um.pdf). Da stehen auch die Opcodes mit Input und 
Output Registern für die MAC mit drin.

@MaWin:
Leider war dein Hinweis für den alten Core.
Und die 16Bitter haben auch noch ihre Berechtigung. Es gibt ein paar 
Dinge die man bei den Infineon Controllern wunderschön mit den 
Hardware-Units lösen kann und so ohne viele Rechenzeit auskommt.

Gruß,
TManiac

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.