1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Deutsch
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  1. Informatik Forum
  2. Software und Anwendungen
  3. Betriebssysteme

AVR-GCC Microcontroller Progammieren

    • MacOS
  • kenokb
  • 31. Oktober 2005 um 21:46
  • Unerledigt
  • kenokb
    4
    kenokb
    Mitglied
    Punkte
    110
    Beiträge
    16
    • 31. Oktober 2005 um 21:46
    • #1

    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.

  • ComSubVie
    5
    ComSubVie
    Mitglied
    Punkte
    230
    Beiträge
    42
    • 1. November 2005 um 14:01
    • #2

    funktioniert wunderbar - sofern du einen brauchbaren programmer (hardware) oder eine echte serielle schnittstelle hast. die billigen 0815 rs232-programmierer wie uisp sie unterstützt funktionieren im allgemeinen jedenfalls nicht mit rs232-usb-adaptern.

    zwei nützliche links: AVR Microcontroller Programming on a Mac, Embedded Development with Xcode

  • kenokb
    4
    kenokb
    Mitglied
    Punkte
    110
    Beiträge
    16
    • 1. November 2005 um 16:46
    • #3

    Vielen dank! Was denkst du welchen Programmer sollte ich mir besorgen?? Welcher ist Deiner Meinung nach ein guter??

  • ComSubVie
    5
    ComSubVie
    Mitglied
    Punkte
    230
    Beiträge
    42
    • 1. November 2005 um 17:13
    • #4

    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).

  • Musti
    1
    Musti
    Mitglied
    Punkte
    10
    Beiträge
    2
    • 11. März 2008 um 18:18
    • #5

    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.. :frowning_face: Hat jemand eine Lösung dafür?

  • ComSubVie
    5
    ComSubVie
    Mitglied
    Punkte
    230
    Beiträge
    42
    • 11. März 2008 um 18:44
    • #6

    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.

  • Daedalus
    10
    Daedalus
    Mitglied
    Reaktionen
    4
    Punkte
    949
    Beiträge
    172
    • 12. März 2008 um 11:46
    • #7

    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)...

    [RIAA Radar]

  • ComSubVie
    5
    ComSubVie
    Mitglied
    Punkte
    230
    Beiträge
    42
    • 12. März 2008 um 19:45
    • #8

    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"?

  • Daedalus
    10
    Daedalus
    Mitglied
    Reaktionen
    4
    Punkte
    949
    Beiträge
    172
    • 12. März 2008 um 21:57
    • #9
    Zitat von ComSubVie

    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)

    [RIAA Radar]

  • Zoidberg
    4
    Zoidberg
    Mitglied
    Reaktionen
    2
    Punkte
    137
    Beiträge
    21
    • 20. März 2008 um 18:43
    • #10

    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:

  • HeLeni
    2
    HeLeni
    Mitglied
    Punkte
    30
    Beiträge
    4
    • 21. März 2008 um 17:18
    • #11
    Zitat von Zoidberg

    also falls jemand den AT16PRog für Mac braucht.. ich hab ihn

    ich haette ihn gerne :winking_face:

    hab leider keine loesung feur dein problem, wahrschl werd ich dann dasselbe haben....

  • Zoidberg
    4
    Zoidberg
    Mitglied
    Reaktionen
    2
    Punkte
    137
    Beiträge
    21
    • 23. März 2008 um 19:31
    • #12

    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:

  • Musti
    1
    Musti
    Mitglied
    Punkte
    10
    Beiträge
    2
    • 25. März 2008 um 02:17
    • #13

    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

  • Zoidberg
    4
    Zoidberg
    Mitglied
    Reaktionen
    2
    Punkte
    137
    Beiträge
    21
    • 25. März 2008 um 07:08
    • #14

    passt ja eh :)

    er hats gefunden.. diese Ignoresachen brauchst nur beim UISP Programmer.

    das programm wurde lt. deinem Post sauber raufgespielt.

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

    :verycool:

  • Maximilian Rupp 27. Dezember 2024 um 00:10

    Hat das Thema aus dem Forum Betriebssysteme nach Betriebssysteme verschoben.

Jetzt mitmachen!

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

Benutzerkonto erstellen Anmelden

Rechtliches

Impressum

Datenschutzerklärung

  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  • Deutsch
  • English