Changes between Version 11 and Version 12 of Projekte/PopFab


Ignore:
Timestamp:
Sep 1, 2012, 5:21:04 AM (13 years ago)
Author:
weef
Comment:

bootloader section explained

Legend:

Unmodified
Added
Removed
Modified
  • Projekte/PopFab

    v11 v12  
    6464 * Firmware Basis: Für erste Tests der Achsen (X,Y,Z) haben wir eine Marlin firmware ([https://github.com/imoyer/Marlin]) mit der benötgten Anpassung CoreXY ([http://www.corexy.com/theory.html]) benutzt.
    6565
    66  * Firmware für Tests patchen: Da an unserem Gerät keine Temperatursensoren angeschlossen waren, haben wir die entsprechnede Fehlererkennung auskommentiert (`temperature.cpp:956,959,965,968`).
    67 
    68  * Firmware Kompilieren: Die modifizierte FW haben wir mit der arduino IDE kompiliert. Dazu mussten wir das Board in der IDE nachinstallieren (http://www.pjrc.com/teensy/td_download.html). Das Kompilat landet irgendwo in `/tmp/build*.tmp/Marlin.cpp.hex`.
    69 
    70  * Firmware flashen:
    71  {{{
    72  sudo avrdude -p usb1286 -v -P usb -c usbasp -U flash:w:Marlin.cpp.hex
    73  }}}
    74 
    75  * gcode für Test patchen
    76  Wegen der fehlenden Temperatursensoren, mussten wir für unsere Achsentests noch das Warten auf die Heiztemperatur auskommentieren:
     66 * Firmware für Tests patchen: Da an unserem Gerät keine Temperatursensoren angeschlossen waren, haben wir die entsprechnede Fehlererkennung auskommentiert (`temperature.cpp:956,959,965,968`)
     67 * gcode für Test patchen: Wegen der fehlenden Temperatursensoren, mussten wir für unsere Achsentests noch das Warten auf die Heiztemperatur auskommentieren:
    7768 {{{
    7869  ; M109 S200 ; wait for temperature to be reached                   
    7970 }}}
    8071
     72
     73 * Firmware Kompilieren: Die modifizierte FW haben wir mit der arduino IDE kompiliert. Dazu mussten wir das Board in der IDE nachinstallieren (http://www.pjrc.com/teensy/td_download.html). Das Kompilat landet irgendwo in `/tmp/build*.tmp/Marlin.cpp.hex`:
     74 {{{
     75 find /tmp -name \*.cpp.hex
     76 }}}
     77
     78[[BR]]
     79== Firmware flashen ==
     80
     81=== per ISP (mit usbasp im Beispiel) ===
     82   {{{
     83   sudo avrdude -p usb1286 -v -P usb -c usbasp -U flash:w:Marlin.cpp.hex
     84   }}}
     85=== Fuses (8kB bootloader, 16MHz Xtal) ===
     86   {{{
     87   sudo avrdude -v -P usb -c usbasp -p USB1286 -U lfuse:w:0xcf:m -U hfuse:w:0xd9:m -U efuse:w:0xf0:m
     88   }}}
     89=== per Bootloader mit dfu-programmer (hier LUFA-DFU) ===
     90  * USB abziehen
     91  * BOOT-Jumper abnehmen bei !PrintrBoard '''Rev.C''', stecken bei  '''Rev.D'''
     92  * und USB wieder anstecken, RESET drücken
     93    {{{
     94    Bus 002 Device 113: ID 03eb:2ffb Atmel Corp. at90usb AVR DFU bootloader
     95    }}}
     96  * wenn lsusb dieses nicht anzeigt: weiter RESET, power cycle und fuses checken --> !PrintrBoard ist dann nicht im Bootloader-Modus
     97  * jetzt mit dfu den Bootloader ansprechen:
     98    {{{
     99    $ dfu-programmer at90usb1286 get
     100    }}}
     101    Wenn hierbei was nicht geklappt hat, meldet dfu:
     102    {{{
     103    dfu-programmer: no device present.
     104    }}}
     105    {{{
     106    $ dfu-programmer at90usb1286 get
     107    Bootloader Version: 0x20 (32)
     108    }}}
     109  * Firmware aufspielen:
     110  {{{
     111  $ dfu-programmer at90usb1286 erase
     112  }}}
     113  und dann
     114  {{{
     115  $ dfu-programmer at90usb1286 flash Marlin.cpp.hex
     116  }}}
     117  {{{
     118  Validating...
     119  62452 bytes used (47.65%)
     120  }}}
     121  * BOOT-Jumper drauf (Rev.C , oder abnehmen: Rev.D), RESET drücken, ggf. USB repluggen, dann sollte das Board am USB wie folgt erkannt werden:
     122  {{{
     123  Bus 002 Device 122: ID 16c0:0483 VOTI
     124  }}}
     125 
     126Success !! Es sollte ein '''/dev/ttyACM0''' (oder ACM1 usw.) enstanden sein.
     127
     128[[BR]]
    81129== Software ==
    82130