Forum: Mikrocontroller und Digitale Elektronik PCMCIA Development Board


von tma (Gast)


Lesenswert?

Hallo!

Kennt jemand ein Evaluation Board für PCMCIA / PC-Card (oder 
ExpressCard)? Für PCI gibt es davon jede Menge, wenn man mal nach "PCI 
Evaluation Board" oder so googlet. Nur für PCMCIA bin ich auch nach 
Stunden nicht fündig geworden.

Wenn Ihr Euch jetzt denkt, dass PCMCIA Slots doch viel zu klein sind: 
Also das halbe Board kann von mir aus aus dem Slot rausgucken. Ich will 
damit kein Schönheits-Wettbewerb gewinnen. Mir geht es hauptsächlich 
darum Hardware für Laptops zu haben, die DMA nutzen kann. Wenn ich 
irgendwas für USB baue, dann hab ich kein DMA...


Alternative: Wenn es die Boards ja für PCI gibt; gibt es vlt. einen 
Adapter der mich PCI Geräte an PCMCIA anschließen lässt? Also die 
Gegenrichtung (d.h. PCMCIA in PCI stecken) gibt es wieder in Massen.,,


Vielen Dank schonmal.

von Andreas F. (aferber)


Lesenswert?


von Christian R. (supachris)


Lesenswert?

Kannst ja auch über PCIe gehen und zur Entwicklung mit Cabled PCIe den 
ExpressCard Slot auf dein Labortisch legen. Das geht bis zu 7m weit mit 
Kupferkabel und die Host-Adapter gibts für knapp 200€. 
http://www.bressner.de/prodgroup_plist.asp?Catalog=Server+%26+Appliances&Category=pcie&x=100&open=0.pcie|&countcat=pcie

von tma (Gast)


Lesenswert?

Hey!

Danke für die Antworten. Also http://www.accurite.com/HeadStart.html 
sieht erstmal nach dem aus, was ich bräuchte. Aber die liefern kaum 
Informationen zu dem Produkt und auf dem Photo sieht die PCMCIA Karte 
nicht gerade so aus, als könnte ich da noch eigene Hardware draufsetzen.

Ich habe selber noch was gefunden:
http://www.hacker-technology.com/128191.html

Da gibts etwas mehr Infos und die Photos sehen auch deutlich mehr nach 
dem aus, was ich bräuchte.

Leider keine Preise. Ich hab die erstmal angeschrieben.

Eine andere Frage: Gibt es hier vielleicht jemanden, der sowas schonmal 
gemacht hat? Üblich scheint das ja (- im Gegensatz zu PCI) nicht zu 
sein. Weil Informationen und Hardware dazu finde ich wirklich nur sehr 
schwer.

Also mein Vorhaben in Kürze ist:
   1. PCMCIA <-> Hauptspeicher Kommunikation über DMA
   2. Paar Berechnungen innnerhalb der PCMCIA Karte auf diesen Daten
   3. Großteil der Daten wird verworfen oder zurück in den Hauptspeicher
      geschrieben. Ein kleiner Teil von Ergebnissen soll auf SD-Karte
      (max. 1GB) geschrieben werden. Die SD-Karte soll in die PCMCIA
      Karte gesteckt werden können.

Wichtig bei dem ganzen Projekt ist es, dass der Haupt-Prozessor damit 
nichts zu tun hat. Deswegen brauch ich DMA und ich brauch einen halbwegs 
vernünftigen Mikrocontroller auf der PCMCIA Karte und die SD-Karte muss 
auch hardware-mäßig direkt angesprochen werden. Im Ideal-Fall kommt die 
Karte komplett ohne Treiber aus. Das OS darf in den ganzen Prozess nicht 
aktiv eingreifen.

Bin für alle Tipps dankbar!

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Was exakt meinst Du mit "PCMCIA-Karte"?

Die alte, dem ISA-Bus recht nahe 16-Bit-Variante, die nur etwas neuere 
PCI-ähnliche 32-Bit-Varianten oder die PCIe-Verwandte?

(In gleicher Reihenfolge: PCMCIA oder CardBus16, CardBus32 und 
ExpressCard)

Was ist das für ein merkwürdiges Vorhaben, bei dem Du annimmst, ohne 
OS-Unterstützung per DMA im Rechner herumfuhrwerken zu können? Und 
welche Rolle spielt dabei eine SD-Karte?

von Christian R. (supachris)


Lesenswert?

DMA geht ja eh erst mit CardBus32, also dem PCI-Ableger. Aber für ein 
neues Design würde ich gleich auf ExpressCard setzen, denn das ist voll 
PCIe kompatibel. Dafür gibts dann DMA-fähige Bridge-Chips, wie z.B. den 
PEX8311 oder den GN4121, der Gennum braucht noch einen FPGA dran, der 
PLX kann eigentlich direkt mit einem passenden Prozessor kommunizieren. 
DMA Engine hat der schon eingebaut.

von Andreas F. (aferber)


Lesenswert?

tma schrieb:
>    1. PCMCIA <-> Hauptspeicher Kommunikation über DMA
>    2. Paar Berechnungen innnerhalb der PCMCIA Karte auf diesen Daten
>    3. Großteil der Daten wird verworfen oder zurück in den Hauptspeicher
>       geschrieben. Ein kleiner Teil von Ergebnissen soll auf SD-Karte
>       (max. 1GB) geschrieben werden. Die SD-Karte soll in die PCMCIA
>       Karte gesteckt werden können.

Lass mich raten, du willst nach Crypto-Schlüsseln o.ä. suchen. 
Vergleichbar mit dem Firewire-DMA-Angriff vor ein paar Jahren.

PCMCIA/PC-Card kannst du da auf jeden Fall schon vergessen. Das hat zwar 
DMA, ohne dass die CPU da mitspielt und den DMA-Controller konfiguriert 
wird das aber nichts.

Bei Cardbus müsste man schauen, inwiefern die Cardbus-Bridge bereits 
Busmaster-Transfers zulässt, bevor die Karte (bzw. der Socket) vom 
Betriebssystem initialisiert wurde. Leider gibt es den Cardbus-Standard 
nur für viel Geld, aber vielleicht hat die nächste Uni-Bib sowas.

Auf jeden Fall kannst du nicht verhindern, dass der Rechner (bzw. das 
Betriebssystem) mitbekommt, dass dort irgendein Device im Slot steckt.

Ansonsten, wenn es OK ist, dass das Betriebssystem auf dem Rechner 
vorher präpariert wird, und die CPU nur bei dem eigentlichen Transfer 
unbeteiligt bleiben soll, dann kannst du ja die Fixes, die nach dem 
Firewire-Problem vor ein paar Jahren gemacht wurden, rückgängig machen. 
Dann brauchst du auch keine Hardware bauen, der Angriff damals konnte 
via Software von einem zweiten Rechner mit Firewire aus gefahren werden.

Andreas

von tma (Gast)


Lesenswert?

Hey!

Danke für die Antworten. Ja Andreas hat schon fast richtig geraten. 
Allerdings arbeite ich nicht für die dunkele Seite der Macht, sondern 
das ganze soll unter dem Deckmantel der Forensik laufen. Was man damit 
im Endeeffekt sonst noch machen kann, ist ja jedem selbst überlassen ;-)

Sowas wurde mal für PCI gemacht; die Hardware hieß Tribble:
     http://www.digital-evidence.org/papers/tribble-preprint.pdf
Also die Jungs haben das hinbekommen mit PCI. Nur PCI unterstützt kein 
Plug'n'Play und man musste die Karte einbauen, bevor man den Rechner 
anmacht. Aber PCCard32 ist ja fast PCI. Also dachte ich, dass sollte 
auch mit PCCard32 möglich sein.

Also CardBus (= PCCard32) unterstützt auf jeden Fall DMA via 
Busmastering. Das bräuchte ich ja mindestens. Ob das Busmastering nun 
auch ohne OS-Support ans Laufen zu bekommen ist, weiß ich leider nicht. 
Die offizielle Spezifikation gibts bei meiner Uni nicht; die online 
Suche bei der Bib gibt nur:

PCMCIA  Levine, Larry  (1996)
PCMCIA für Entwickler  Mori, Michael T.  (1995)
PC-Card  (1997) Mielke, Bernd
PCMCIA . - 1. Aufl.   Schulz, Ulrich  (1995)
PCMCIA optimal nutzen  Strass, Hermann  (1994)

Also alles recht alt (wie der Standard eben). Über ExpressCard konnte 
ich überhaupt nichts rausinden. Weiß jemand ob ExpressCard überhaupt 
noch Busmastering/DMA unterstützt?

Also auf pcmcia.org hab ich z.B. auch folgendes gelesen:

   PC Card Standard 7.2 Update - November 2000
       - [...]
       - Removal of support for Direct Memory Access (DMA)

Meinen die das ernst? Vielleicht ist denen ja irgendwann aufgefallen, 
das Plug'n'Play mit DMA doch ziemlich unsicher ist und haben es 
tatsächlich entfernt. Dann wäre mein Vorhaben natürlich gescheitert, 
weil davon auszugehen wäre, dass es in ExpressCard auch entfernt ist.

Und neben der Frage ob das prinzipiell überhaupt möglich ist, ist mein 
anderes Problem immer noch, dass ich kein vernünftiges PCMCIA 
Development Board finde.

von Andreas F. (aferber)


Lesenswert?

tma schrieb:
> Danke für die Antworten. Ja Andreas hat schon fast richtig geraten.
> Allerdings arbeite ich nicht für die dunkele Seite der Macht, sondern
> das ganze soll unter dem Deckmantel der Forensik laufen. Was man damit
> im Endeeffekt sonst noch machen kann, ist ja jedem selbst überlassen ;-)

Forensik-Technik ist immer Dual-Use ;-)

> Sowas wurde mal für PCI gemacht; die Hardware hieß Tribble:
>      http://www.digital-evidence.org/papers/tribble-preprint.pdf
> Also die Jungs haben das hinbekommen mit PCI.

Allerdings auch da mit dem Manko, dass das OS (und damit die Malware/das 
Untersuchungsobjekt) auf jeden Fall mitbekommt, dass da ein neues Gerät 
am Bus aufgetaucht ist.

Ob das Suspenden der CPU, um Gegenmassnahmen zu verhindern, in heutigen 
Systemen, wo PCI nur noch als PCIE/PCI-Bridge existiert, noch so ohne 
weiteres funktioniert, weiss ich nicht.

> Nur PCI unterstützt kein
> Plug'n'Play und man musste die Karte einbauen, bevor man den Rechner
> anmacht.

Es gibt auch PCI-Hotplug, muss aber von Mainboard und OS unterstützt 
werden, wird also nichts ohne Mitarbeit des Rechners ;-)

> Also alles recht alt (wie der Standard eben). Über ExpressCard konnte
> ich überhaupt nichts rausinden. Weiß jemand ob ExpressCard überhaupt
> noch Busmastering/DMA unterstützt?

ExpressCard ist je nach Karte entweder PCI Express oder USB. Die 
PCIE-Lane ist dabei vollwertig, kann also das gleiche wie ein interner 
PCIE-Slot auch, und damit auch Busmaster.

Allerdings kann nicht jeder ExpressCard-Slot auch PCIE, die ganzen 
Adapter von Cardbus auf ExpressCard machen z.B. nur USB. Damit geht dann 
natürlich kein Busmaster.

In naher Zukunft dürfte dir dann allerdings auch noch die IOMMU einen 
Strich durch die Rechnung machen. Ausserdem gibt es zumindest bei 
AMD-CPUs mit SVM-Support auch schon länger die Möglichkeit, 
PCI/PCIE-Geräten den Busmaster-Zugriff auf den Speicher zu verweigern 
(über den Device Exclusion Vector).

Aber davon ob's prinzipiell geht oder nicht mal ganz abgesehen ist PCIE 
was den Bau der Hardware angeht eine ganz andere Hausnummer. Mit mal 
eben auf Lochraster zusammenbraten wird das da definitiv nichts mehr bei 
Frequenzen im GHz-Bereich.

> Also auf pcmcia.org hab ich z.B. auch folgendes gelesen:
>
>    PC Card Standard 7.2 Update - November 2000
>        - [...]
>        - Removal of support for Direct Memory Access (DMA)
>
> Meinen die das ernst?

Etwas definitives wird wohl nur ein Blick in den Standard liefern ;-)

> Vielleicht ist denen ja irgendwann aufgefallen,
> das Plug'n'Play mit DMA doch ziemlich unsicher ist und haben es
> tatsächlich entfernt. Dann wäre mein Vorhaben natürlich gescheitert,
> weil davon auszugehen wäre, dass es in ExpressCard auch entfernt ist.

Da es Dockingstations gibt, die an das Laptop via ExpressCard-Slot 
angeschlossen werden und in die man dann normale PCI-Karten einsetzen 
kann, und diese laut Hersteller auch PCI-Busmaster unterstützen, gehe 
ich mal stark davon aus, dass Busmaster mit ExpressCard tatsächlich 
geht.

http://www.spec.de/fileadmin/english/datasheets/dock/dock_datasheet_english.pdf

> Und neben der Frage ob das prinzipiell überhaupt möglich ist, ist mein
> anderes Problem immer noch, dass ich kein vernünftiges PCMCIA
> Development Board finde.

Hier ist noch ein Board, das dürfte was passendes sein: 
http://www.twinind.com/catalog_detail.php?id=74

Andreas

von Andreas F. (aferber)


Lesenswert?

Das hier könnte auch noch interessant für dich sein:

http://www.picocomputing.com/e_series.html

Da gibt es ExpressCards mit Virtex-FPGA drauf. Dürfte aber nicht ganz 
billig sein.

Andreas

Nachtrag: Cardbus mit Virtex 4 gibt es da auch.

von tma (Gast)


Lesenswert?

Hey!

Danke für die ausführlichen Antworten!

Der zweite Link sieht ziemlich gut aus. Werde ich mir mal genauer 
anschauen! Der erste Link dagegen ist nicht so mein Fall; das Board ist 
komplett leer. Mir wäre es lieber, wenn mir da schon einiges an Arbeit 
abgenommen wird, also inbesondere bei der Bus-Kommunikation.

Aber bevor ich irgendwas kaufe, will ich nun erstmal definitiv 
rausfinden ob es prinzipiell überhaupt möglich. Ich schau mich noch ein 
bisschen um. Wenn ich was herausfinde, poste ich es.

von zachso (Gast)


Lesenswert?

das zeug von picocomputing ist echt teuer, ich weiss ja nicht wie viel 
geld du zur verfuegung hast aber das hier waere sicherlicha uch was fuer 
dich:

http://www.enterpoint.co.uk/tarfessock/tarfessock1.html

habe mir die vor kurzem aelber gekauft.

ciao

von tma (Gast)


Lesenswert?

Hey!

Cool danke. Da steht ausnahmsweise auch mal ein Preis dabei. Wollte PICO 
gerade schon eine Email schreiben. Aber wenn du sagst, dass die echt 
richtig teuer sind, denke ich du meinst > 1000 EUR, oder? Also im Moment 
stehe ich mit dem Projekt noch alleine da, d.h. < 1000 EUR muss es schon 
sein. Ich könnte mal mit der Uni reden, ob die einspringt, aber da 
müsste ich auch erstmal sicherstellen, dass alles so klappt, wie ich mir 
das vorstelle.

Dieses Tarfessock1 für ~330 EUR hört sich aber verdammt gut an. Du 
sagst, du hast das? Hast du gute Erfahrungen damit?

Kannst du dir vorstellen, dass mein Vorhaben damit gelingen könnte?

von Thomas R. (tinman) Benutzerseite


Lesenswert?

tma schrieb:
> Hey!
>
> Wollte PICO gerade schon eine Email schreiben. Aber wenn du sagst,
> dass die echt richtig teuer sind, denke ich du meinst > 1000 EUR, oder?


http://www.fpga-faq.com/FPGA_Boards.shtml und such nach cardbus.

von tma (Gast)


Lesenswert?

@thomas:
Hehe, ja genau beim Pico E-14 (= CardBus) steht natürlich "contact 
vendor". Aber die Preise vom E-12 (fast 3000 Dollar), lassen den Rest 
erahnnen. Trotzdem habe ich PICO jetzt mal eine Email geschrieben um 
genaueres zu erfahren.

von Arne Z. (zachso)


Lesenswert?

ich hatte da mal angefragt und mit studirabatt und netto 999,- wars 
billigste.
ich weiss nicht was du damit machen moechtest, aber bei dem tarfessock 
ist zumindest atm kein interface dabei fuer device1, das soll aber wohl 
noch kommen.
Das board sieht bei mir sehr gut aus, das gahaeuse ist von einer 
usb->cardbus karte, also etwas gebastelt, fnktioniert aber bei mir gut. 
ein board das alles kontake am ende der karte herausfuehrt ist dabei, 
fuer versuchsaufbauten ist das super, dabei ist auch ein JTAG-Anschluss.

Kleiner tipp noch: der LPT-Jtag ist bullshit, den braucht eh niemand, 
vllt. kanste nen paar euro rabatt rausschlagen wenn du sagst du willst 
das nicht, oder nimm halt gleich den mit USB.

die leute bei enterpoint koennen dir gut helfen. da gibt es einen 
mitarbeiter der fuer das Tarfessock zustaendig ist, vorname john. der 
schreibt auch auf einer FPGA-google-gruppe, sehr nett und kann dir alle 
fragen beantworten :) schreib mir ne PN, dann kann ich dir seine 
mailadresse geben.

ciao, zachso

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.