AVR-GCC Microcontroller Progammieren

  • Hallo an alle.. wollte wissen was man braucht um auf einen Mac Microcontroller zu Prgrammieren (Embedded Systems). Irgenwie klappt das bei mir nicht obwohl ich einige Seiten im Internet gefunden habe aber es geht nicht.. z.B. ich verwende gcc 4.0 und mit diesem sind die anderen sachen, sowie ich das gesehen habe, nicht kompatibel. Also ich verwende ein PowerBook mit dem 10.4 Tiger drauf.

  • Naja, das kommt darauf an was du tun willst. Wenn du on-chip-debugging betreiben willst, dann wirst du um einen komplexen JTAG-programmer nicht herumkommen, wobei ich da bezweifel das diese unter OS X funktionieren. Wenn du den AVR nur programmieren willst, so wirst du unter *NIX-Systemen vermutlich den uisp verwenden, eventuell den avrdude (ich selber verwende den uisp).

    Als Hardware kannst du eigentlich alles mit ein wenig eingebauter Intelligenz verwenden, also z.b. die offiziellen STK200 bzw. STK500 Starterkits+Programmer von Atmel, oder einen AVRISP. Die kostengünstigste Version ist vermutlich der AVR910 (das ist genau genommen eine Application Note, die einen AVR zur Übersetzung von RS232 auf ISP verwendet, und daher auch mit USB-Adaptern funktioniert).

    Ich selber verwende momentan ein STK500 unter OS X, sowie einen eigenen RS232-Programmer, der allerdings die Schnittstelle vergewaltigt und daher nur mit einem echten RS232 funktioniert (das halt auf meinem Linux-Desktop - dafür sehr billig, weil nur Kabel).

  • Hallo, ich mache dieses Semester Microcontroller, ich habe schon avr-gcc compiler heruntergeladen und installiert... Davon habe ich keine Probleme aber dieses Semester es gibt ein Komponent, heisst at16prog und das kann ich leider von den source code nicht compilieren.. :( Hat jemand eine Lösung dafür?

  • Was macht diese Komponente? Wozu ist das at16prog da? Vom Namen her würde ich sagen das ist nur ein Programmer, und du kannst stattdessen genausogut avrdude, uisp und ähnliche verwenden.

    Oder du sagst uns was du für Probleme beim Kompilieren hast - welche Fehlermeldungen bekommst du, ... - du kannst auch versuchen das ganze aus darwinports zu kompilieren, vielleicht gehts dort besser.

  • at16prog ist ein am Institut für Technische Informatik (glaube im Rahmen eines Projektpraktikums an der ECS Group) entwickelter Programmer, der speziell auf die Microcontroller-Labkits (denke ab Revision 1.3) zugeschnitten ist.
    Um da avrdude zu verwenden (oder uisp, wobei mir persönlich avrdude mehr zusagt) müsste man schauen, ob die ISP-Pins herausgezogen sind, und dann braucht man wie ComSubVie schon geschrieben hat einen USB-to-Serial converter, der Bit-Banging unterstützt (oder einen "echten" Programmer)...

  • Also die alten LabKits (mit irgendwelchen ncc-nummern :D) wurden über den ISP programmiert, und ich nehme eigentlich nicht an das sich das inzwischen geändert haben sollte, insbesondere da ISP die einfachste und bequemste Art ist, die AVRs zu programmieren (und ich glaube nicht das die inzwischen auf JTAG umgestiegen sind - wobei ich glaube [ich bin heute ein richtig gläubiger Mensch :D] das JTAG auf den AVRs ohnehin die gleichen Pins wie ISP verwendet - aber das müsst ich nachlesen, und dazu bin ich grad zu faul).

    Mit welcher Hardware werden denn die LabKits derzeit programmiert? Ist das noch immer so ein direkter BitBanging-Serial-Programmer, oder ist das inzwischen schon etwas "professionelleres"?

  • Also die alten LabKits (mit irgendwelchen ncc-nummern :D) wurden über den ISP programmiert, und ich nehme eigentlich nicht an das sich das inzwischen geändert haben sollte, insbesondere da ISP die einfachste und bequemste Art ist, die AVRs zu programmieren (und ich glaube nicht das die inzwischen auf JTAG umgestiegen sind - wobei ich glaube [ich bin heute ein richtig gläubiger Mensch :D] das JTAG auf den AVRs ohnehin die gleichen Pins wie ISP verwendet - aber das müsst ich nachlesen, und dazu bin ich grad zu faul).

    Mit welcher Hardware werden denn die LabKits derzeit programmiert? Ist das noch immer so ein direkter BitBanging-Serial-Programmer, oder ist das inzwischen schon etwas "professionelleres"?


    Habe ein "altes" Labkit (v1.1), welches über SPI programmiert wird (geht eben mit uisp, avrdude mittels Bit-Banging). Die neuen habe ich noch nicht "live" erlebt, weiss nur dass es 2 USB-Versionen gibt (v1.3 und v1.4). Werden soweit ich weiss in der Laborübung nicht über JTAG programmiert, sondern haben mit am Board einen AT98C5131 (v1.3) bzw. einen PIC18 (v1.4) als USB-Controller. Der bekommt von at16prog die Daten über USB (welches dazu libusb verwendet wenn ich mich nicht täusche) und programmiert den ATmega16 über SPI. Die Pins sind übrigens nicht die selben, beim ATmega16 ist JTAG an PC2-PC5, SPI an PB5-PB7.

    Aber: Laut Schaltplan und Layout sind sowohl SPI als auch JTAG herausgeführt, wobei ich bei meinem v1.1 JTAG erst über die Fuses freischalten musste (da in der LU Port C ja anderweitig verwendet wird). Aber SPI müsste trotzdem problemlos funktionieren, da at16prog das ja selber verwendet :)

    edit: Evtl. gehts unter Mac OS X noch am einfachsten mit z.B. sowas: http://www.fischl.de/usbasp/ (hab ich mit Google gefunden, selber noch nicht ausprobiert... aber war eh schon fast 2 Wochen nicht beim Conrad :D)

  • also falls jemand den AT16PRog für Mac braucht.. ich hab ihn
    mein problem ist derzeit die Apple USB CDC ACM Unterstützung.
    Es wird kein Device erstellt..
    Mar 20 16:24:47 89-104-22-27 kernel[0]: 0 0 AppleUSBCDCACMControl: start - Failed to find the CDC driver
    Mar 20 16:24:47 89-104-22-27 kernel[0]: 0 0 AppleUSBCDCACMData: start - Find CDC driver failed

    hat da jemand ne lösung dafür?

    while (isAlive()) {
    beer++;
    }

    :verycool:

  • kein problem

    libusb vorher herunterladen und installieren

    http://libusb.wiki.sourceforge.net/

    nicht aber mit MacPorts.. weil der spielts automatisch ins OPT verzeichnis.. da hast ein wenig arbeit danach wg. pfaden.

    danach solltest den Source vom AT16PRog compilen können und ausführen.
    Der Fehler den ich vorher gepostet habe ist hinfällig. AT16prog braucht KEIN Device zum flashen.

    http://www.nullpunkt.at/fileadmin/uni/mc/at16prog-0.99.6.zip

    hf

    while (isAlive()) {
    beer++;
    }

    :verycool:

  • Hey! das selbe Problem habe ich auch!

    0 0 AppleUSBCDCACMControl: start - Failed to find the CDC driver
    0 0 AppleUSBCDCACMData: start - Find CDC driver failed

    Ich habe schon libusb und at16prog compiliert.. und wenn ich make install schreibe dann kriege ich das...

    at16prog -dlpt=/dev/ttyS1 -dprog=dasa2 -dpart=ATmega16 --segment=flash --erase
    Note: command line option `dprog' ignored
    Note: command line option `dlpt' ignored
    ATmega16 is found in target system
    Erasing Device ...
    at16prog -dlpt=/dev/ttyS1 -dprog=dasa2 -dpart=ATmega16 --segment=flash --upload if=demo.ihex
    Note: command line option `dprog' ignored
    Note: command line option `dlpt' ignored
    ATmega16 is found in target system
    Uploading: flash
    at16prog -dlpt=/dev/ttyS1 -dprog=dasa2 -dpart=ATmega16 --segment=flash --verify if=demo.ihex
    Note: command line option `dprog' ignored
    Note: command line option `dlpt' ignored
    ATmega16 is found in target system
    Verifying: flash

    Was soll ich dafür machen?
    Danke

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!