Forum: Digitale Signalverarbeitung / DSP / Machine Learning Header file und I/O Zuordnung? Blackfin 537 EZ-KIT Lite


von Mike C. (Firma: Arbeitslos) (mikecontroller)


Lesenswert?

Ich benutze VisualDSP++ 5.0 und möchte gerne was über das ansteuern der 
Eingänge und Ausgänge in Erfahrung bringen. Hab bis jetzt alle möglichen 
Manuals durch, aber noch nichts dazu gefunden. Gibt es vielleicht ein 
bestimmtes Stichwort, worunter ich etwas in der Hilfe dazu finde.

Allgemein müßte es doch einen Headerfile für die Testplatine BF537 
EZ-Kit Lite geben der die Register einer Variablen zugeordnet werden.

z.B.
1
LED1_out=0x00004f


Kann mir da jemand weiterhelfen?





PS: Wer mit einem Blackfin 533, 537, 535 programmiert, wäre ich auch an 
einem engeren Kontakt per ICQ oder Skype zum austausen und Diskutieren 
interessiert. Kein Muss.

von Strubi (Gast)


Lesenswert?

Hi,

siehe auch in deinem juengsten Thread (habe deine fruehere Frage zu 
spaet gelesen). In Kuerze:

Lies dir im Kapitel "General Purpose I/O" mal die Funktion der Register 
PORT_MUX und PORTG_FER (oder PORTF_FER, usw.) durch, da findest Du was 
ueber die Mehrfach-Beschaltung der Ports.
Im GPIO-Modus eines Pins sind dann folgende Register relevant:

PORTGIO_DIR, PORTGIO (oder dasselbe fuer Port F)

Damit solltest Du schon eine LED zum Blinken bringen.
Sonst schau dir mal das Beispiel unter 
http://www.section5.ch/dsp/blackfin/blinky.tgz an. Ist halt nicht fuer 
Visual DSP geschrieben, aber das Prinzip sollte klar sein.

Gruss,

- Strubi

von Mike C. (Firma: Arbeitslos) (mikecontroller)


Lesenswert?

Die Datei konnte ich nicht öffnen. (Im Editor nicht leserlicher Code.)

Das mit der LED funktioniert bei mir jetzt. Sehr verwirrend, das ich 
drei Befehle brauche um einen Pin auf eins zu setzen und wieder aus zu 
schalten.

_SILICON_REVISION_ // Ist irgendein Makro, keine Ahnung wofür

*pPORTF_FER = 0x0000; // Schaltet den zugang zu externen Speichern und 
eingaben frei

*pPORTFIO_INEN    = 0x0004;    // Pushbuttons
aktiviert eingänge für taster

  *pPORTFIO_EDGE    = 0x0004; //verstehe ich nicht
  *pPORTFIO_MASKA    = 0x0004; // schaltet register A (was auch immer) 
da PF2 te Bit an ist aber nicht der Taster SW13 der aktiv wird. Der 
müsste PF2 sein.

Kannst du mir bitte das genauer erklären?

von mmmm (Gast)


Lesenswert?

Wenn Du noch nichtmal herausfinden konntest, wie man eine tgz Datei 
öffnen (entpacken!) kann, dann lass das mal lieber mit dem Blackfin... 
;-)

von Strubi (Gast)


Lesenswert?

Hi Mike,

wie gesagt, schau dir das Kapitel ueber die GPIOs an. Besser als dort - 
ausser, noch auf deutsch - kann man's wirklich nicht erklaeren.
Das TGZ-File, wie das vorherige Posting schon suggeriert, ist ein 
Linux-Archiv. Sollte auch unter Windows mit WinZip o.ae. zu entpacken 
sein.

Ich will dich ja nicht entmutigen, aber zum Anfangen ist ein MSP430 
vielleicht wirklich etwas einfacher als ein Blackfin (und die Boards 
auch billiger) - letzerer kann einfach zuviel, also kann man auch zuviel 
konfigurieren. Deswegen kann man auch nicht einfach mal einen Port-Pin 
auf irgendwas setzen. Im Prinzip gilt fuer jeden Port-Pin beim Blackfin:

- Pins haben mehrere Funktionen (PORT_MUX register)
- Pins sind entweder reiner GPIO oder haben spezielle Funktione 
(PORTx_FER)
  Wenn GPIO:
- Pins sind Ein- oder Ausgaenge (PORTxIO_INEN, PORTxIO_DIR)
- Pins sind Interrupt-faehig (PORTx_MASKA, PORTx_EDGE, etc.)
- Pins koennen Polaritaeten invertieren

Wenn Du mit dem Blackfin ernsthaft was entwickeln willst (frueher oder 
spaeter), wuerde ich dir uClinux empfehlen. Das laeuft sehr gut auf dem 
BF537 EZKIT, fuer die Codecs gibt es Treiber, und mit hardware-nahen 
Details muss man sich nicht mehr rumschlagen. Allerdings kannst du dann 
gleich von VDSP Abschied nehmen, der funktioniert mit uClinux nicht mehr 
(und ist ueberdies verglichen mit dem GCC ein ziemlich mieser Compiler).

Zum Anfangen und Lernen ist VDSP ok. Haengt also ganz davon ab, was Du 
schlussendlich mit der Platine vor hast :-)

Gruss,

- Strubi

von Mike C. (Firma: Arbeitslos) (mikecontroller)


Lesenswert?

Ich hatte die Datei entpackt.

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.