# mirco-controler programmierung unter linux...

## return13

Will mal wieder ein wenig basteln, nun ist meine Frage welche micro-controler unter linux programmiert werden können und ob ich dafür irgendeine spezielle umgebung brauch oder es mitm gcc läuft....

Habt ihr in der Richtung irgendweleche Erfahrung oder Tipps die ihr mir zuteil lassen könnt?

----------

## XMath

Hi,

soviel wie ich zur Zeit weisst musst du eine entsprechende cross-compile Umgebung erzeugt.

Schreibe grad an meiner Studienarbeit und da geht es bald auch darum x86-kompilierte Anwendungen auf einem ipaq zum Laufen zu bringen.

Wenn du mal nach cross compile suchst, findest du jede Menge Informationen.

----------

## ossi

da gibt es schon so einiges 

zB. http://www.tavrasm.org/ oder http://www.avrfreaks.net/index.php?module=FreaksTools&func=viewItem&item_id=145 oder einfach mal google bemühen.

Selbst ein 

```
emerge avr -s
```

 bringt schon was zum vorschein.

Weiter anlaufstellen sind diverse foren wie: http://www.mikrocontroller.net od. http://www.roboternetz.de od. http://www.avrfreaks.net/ ....

J.

----------

## firefly

es gibt auch nen allgemeinen compiler für MC's:

```
*  dev-embedded/sdcc

      Latest version available: 2.5.0

      Latest version installed: [ Not Installed ]

      Size of downloaded files: 3,487 kB

      Homepage:    http://sdcc.sourceforge.net/

      Description: Small device C compiler (for various microprocessors)

      License:     GPL-2
```

gruß

firefly

----------

## ossi

noch ein nachtrag:

http://shop.tuxgraphics.org/electronic/microcontroller.html

----------

## firefly

sieht ja gut aus, nur wie soll ich, wenn ich mir das zulegen würde, das kabel an meinen laptop anschließen, der kein parallelport hat.  :Smile: 

Und leider gibt es keine Parallel-USB adapter, der eine normale Parallele-schnittstelle bietet(Es gibt nur LPT-USB und die sind nur für Parallelport-Drucker gedacht).

gruß

firefly

----------

## ossi

 *firefly wrote:*   

> sieht ja gut aus, nur wie soll ich, wenn ich mir das zulegen würde, das kabel an meinen laptop anschließen, der kein parallelport hat. 
> 
> Und leider gibt es keine Parallel-USB adapter, der eine normale Parallele-schnittstelle bietet(Es gibt nur LPT-USB und die sind nur für Parallelport-Drucker gedacht).
> 
> gruß
> ...

 

ja, ähm, hmm geht mir auch so  :Wink: 

aber dafür geht ja sogar noch der gute alte 486er aus dem Keller  :Laughing: 

----------

## firefly

oder ich kann mich entlich aufraffen nen eigenen programmer, mit nem MC, zu bauen  :Wink:  der dann per seriellen Port ansprechbar ist.

gruß

firefly

----------

## hurra

Tjo

Ich hab das immer mit avrgcc kompiliert und dann mit usip rübergespielt.

Wegen LPT, kp

----------

## sokar2000

 *firefly wrote:*   

> [...]
> 
> Und leider gibt es keine Parallel-USB adapter, der eine normale Parallele-schnittstelle bietet(Es gibt nur LPT-USB und die sind nur für Parallelport-Drucker gedacht).
> 
> [...]

 

Nope. Wir haben solche Dinger, bzw. lassen sie herstellen.

Oder man lötet ein Centronics-Parallel-Kabel.

 *ossi wrote:*   

> [...]http://shop.tuxgraphics.org/electronic/microcontroller.html

 

Vielmal thx für den Link! Genau so was hab ich seit Monaten gesucht.

Gruss!

----------

## firefly

@sokar2000: wirklich ?? werden diese Adapter z.b. unter winXP als normaler LPT-Port erkannt??

und kann ich bei diesen adapter über die basis-adresse jeden pin ansteuern, entsprechenden "Port-treiber", der direkten zugriff auf den port unter winxp zuläßt, vorrausgesetzt??.

ich hab das schon versucht mit nem centronix auf sub-D 25 hat aber mit der anwendung, für das ich die brauche nichts gebracht, oder ich habe diesen Adapter Centronix-SUB-D25 nur falsch gelötet.

gruß

firefly

----------

## sokar2000

 *firefly wrote:*   

> @sokar2000: wirklich ?? werden diese Adapter z.b. unter winXP als normaler LPT-Port erkannt??
> 
> und kann ich bei diesen adapter über die basis-adresse jeden pin ansteuern, entsprechenden "Port-treiber", der direkten zugriff auf den port unter winxp zuläßt, vorrausgesetzt??.
> 
> ich hab das schon versucht mit nem centronix auf sub-D 25 hat aber mit der anwendung, für das ich die brauche nichts gebracht, oder ich habe diesen Adapter Centronix-SUB-D25 nur falsch gelötet.
> ...

 

Ja, sie erscheinen als zusätzlicher LPT-Port im Hardwaremanager (oder wie das heisst). Ob man die einzelnen Pins ansteuern kann oder nicht weiss ich nicht genau, denn wir arbeiten nicht mit den Dingern. Ich müsste mal in die Elektronik ein bisschen Rumschnüfflen gehen, bzw. mir mal eins dieser Dinger "ausleihen".

----------

## firefly

Wäre nicht schlecht wenn das funktioniert  :Smile: 

Denn ich habe einen MC-Brenner, der über dern LPT port läuft und das dazugehörige Programm benutzt einen Port-Treiber um direkten-Port zugriff zu haben(über die basis-adresse).

Ich hatte eine Adapter unter Win98 laufen, da wurde es als LPT erkannt. Aber es hatte 2 Basisadressen und keine von den beiden hat funktionert. Unter Winxp werden die nur als USB-Drucker-port erkannt.

gruß

firefly

----------

## sokar2000

Ich hab mir mal eins dieser Dinger gemopst, und an mein Notebook angehängt. Dmesg meint danach folgendes:

```
parport1: PC-style at 0x388 (0x788), irq 255 [PCSPP(,...)]

parport2: PC-style at 0x398 (0x788), irq 255 [PCSPP(,...)]
```

Allerdings kann ich danach nicht mit lp1/lp2 darauf zugreifen (lp0 ist die LPT-Schnittstelle meines Port-Replicators), egal ob udev verwendet, devfs verwendet oder die Nodes händisch anlegt wurden. Als ich das lp1 von Hand angelegt hatte, und Daten darauf jagen wollte, hat sich das Book verabschiedet.

Unter Wxpp wurde das Ding als DOT4-Kompatibles Gerät (Was zum Teufel ist das?) erkannt. Es wurde eine zusätzliche LPT-Schnittstelle angelegt, die aber über keinerlei Adresse oder IRQ verfügt, bzw. die Eigenschaftenseite fehlt.

Ich werd mich am Montag mal mit einer unser Elektronikerinnen unterhalten, die brauchen diese Dinger, und sollten es eigentlich wissen.

Hoffentlich kannst Du etwas damit anfangen.

Gruss

s2k

----------

## firefly

ich würde mir eins zum testen bestellen wenn das so funktioniert wie eine normale parallele-schnittstelle und man auch jeden pin einzel ansteuern könnte  :Smile: 

gruß

firefly

----------

## sokar2000

Es geht mit Linux, mit Win krieg ichs nicht hin. Allerdings sind die Dinger unbezahlbar (Ca. EUR 280).

Aber das könnte für Dich interessant sein:

http://www-user.tu-chemnitz.de/~heha/bastelecke/Rund%20um%20den%20PC/USB2LPT/

hth

s2k

----------

## firefly

danke habe mir gleich einen bestellt  :Smile:  mal sehen wie gut der funktioniert.

gruß

firefly

----------

## JoHo42

Hi Leute,

Mikrokontroller unter Linux?

Ja das geht. Sogar sehr sehr gut.

Habe mich mit dem MSP430 unter Linux beschäftigt und es geht.

Ich hatte auch bis vor meinem Festplattencrash den Compiler und JTAG krempel

für den MSP430 unter Gentoo installiert.

Irgendwo im großen WWW gab es die Sachen als Inoffizielle Portage Ebuild für Gentoo.

Wenn jemand weiß wo, dann immer zu mir!!!!

Der zweite Kontroller den ich jetzt Programmiere ist der Saturn Processor,

dieser sitzt im HP48G Taschenrechner.

GCC für den Saturn gibt es auch unter Linux allerdings, sind die Programme von 1997

und ich bekomme diese nicht kompiliert auf meinem System,

auch die Binaers gehen nicht.  Guckste hier: www.hpcalc.org

Vielleicht bekommt das ja jemand von euch hin und kann mir da helfen.

Das die Software für die HP Taschenrechner vielleicht auch im Portage aufgenommen werden.

Gruss Jörg

----------

## musv

 *firefly wrote:*   

> sieht ja gut aus, nur wie soll ich, wenn ich mir das zulegen würde, das kabel an meinen laptop anschließen, der kein parallelport hat. 
> 
> Und leider gibt es keine Parallel-USB adapter, der eine normale Parallele-schnittstelle bietet(Es gibt nur LPT-USB und die sind nur für Parallelport-Drucker gedacht).
> 
> gruß
> ...

 

Ein Bekannter von mir entwickelt grad sowas für Siemens bzw. ist damit fertig. Das Ding schließt du an den USB-Port an. Und das stellt Dir dann (allerdings nur in Windows) einen Parallel-Port zur Verfügung. Wenn Dir das was nützen würde, könnte ich Dir da gerne die Email-Adresse geben.

----------

## firefly

ich hab schon einen bestellt, wie ich schon oben geschrieben habe  :Smile: .

Und zwar von der Webseite, die sokar2000 gepostet hat und zwar diese: 

http://www-user.tu-chemnitz.de/~heha/bastelecke/Rund%20um%20den%20PC/USB2LPT/

gruß

firefly

----------

## musv

*lol* *rofl* *kugel*

Genau den hatte ich für Dich im Angebot. Der repariert immer meine Monitore. Wußte nur nicht, daß man das Zeug auch über seine Homepage bestellen kann. 

... die Welt ist klein.

----------

## firefly

 :Wink: 

----------

## Haldir

Besorg dir einen Microcontroller der einen gcc port hat (nahezu jeder AVR oder ARM7 prozessor oder auch TI MSP430), für die volle Funktionsfähigkeit brauchst du noch einen JTAG Programmer, die Parallelport dinger gehen gut in Linux zusammen mit z.b.

JTAG Tools dev-embedded/jtag.

Mögliche Developer Boards die für dich interessant sein könnten wären z.b.

Analog Devices Blackfin (blackfin.uclinux.org)

Atmel AT91 ARM7 Devices

Dummerweise gibts viele der Libraries für HW I/O für die Arm7 prozessoren nur zusammen mit den kommerziellen Compilern ala IAR, Keil usw, mit GCC ist also u.U etwas mehr Handarbeit angesagt.

Für alle die noch Windows drauf haben, das AT91SAM7S64-IAR Set ist ziemlich lustig, da es für knapp 250 Euro auch einen USB Jtag Adapter beinhaltet und komplett über den USB Bus betrieben werden kann, bisher aber keine Erfahrungen gemacht wie der USB Jtag Adapter von IAR sich unter Linux verhält

----------

## quarzsnoopy

 *return13 wrote:*   

> Will mal wieder ein wenig basteln, nun ist meine Frage welche micro-controler unter linux programmiert werden können und ob ich dafür irgendeine spezielle umgebung brauch oder es mitm gcc läuft....
> 
> Habt ihr in der Richtung irgendweleche Erfahrung oder Tipps die ihr mir zuteil lassen könnt?

 

Ich habe mir Ende letztes Jahr einen "Motorola MC68HC912DG128A" unter FreeBSD eingerichtet.

Das ist der billigste 16Bit-MC mit vielen Schnittstellen, den ich gefunden habe. Er wird in der Autoindustrie häufig eingesetzt. Er ist weitestgehend mit seinen 8Bit-Vorgängern kompatibel, so das man praktisch nur einen so einfachen Befehlssatz lernen muss wie er unter 8Bit üblich ist.

Und so hab ich das (ganz kurz) gemacht:

 - Verbindung über seriellen Port herstellen

 - Code in *.s-Datei tippen

 - *.s-Datei mit dem Assembler "asl" in das Binaerformat (*.p) übersetzen

 - *.p-Datei mit dem Assembler "asl" in eine *.s19-Datei übersetzen

 - *.s19-Datei per Terminalprogramm in den MC-Speicher hochladen

weiteres:

 * zum C/C++-programmieren kann man "m6811-elf-gcc" verwenden

 * Java-MC68HC12-Simulator (http://www.almy.us/68hc12.html) [java -server -jar simhc12.jar]

Genauer nachzulesen hier: "http://os4.org/os/hardware/mc68hc12.html"

----------

