Benutzer:Angorastuhl/LaborboardUSBASP-FlashereiDoku: Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: „'''''FIRST DOKU DRAFT''''' USB-ASP flashen (es braucht im wiki ein bild vom flasher): Den Labor USBASP aus der Laborboard gebastelkiste nehmen, auf SLOW jumpern ...“) |
Keine Bearbeitungszusammenfassung |
||
(9 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt) | |||
Zeile 2: | Zeile 2: | ||
USB-ASP flashen (es braucht im wiki ein bild vom flasher): Den Labor USBASP aus der Laborboard gebastelkiste nehmen, auf SLOW jumpern (weil der eigene USBASP noch nicht geflasht ist und daher nur langsame übertragung kann) | USB-ASP flashen (es braucht im wiki ein bild vom flasher): Den Labor USBASP aus der Laborboard gebastelkiste nehmen, auf SLOW jumpern (weil der eigene USBASP noch nicht geflasht ist und daher nur langsame übertragung kann) | ||
also auf dem laborusbasp setzen: | also auf dem laborusbasp setzen: <br /> | ||
SLOW wird gejumpert, selfprog nicht, weil es ja nicht selbst geflasht wird und target power wird gejumpert | SLOW wird gejumpert, selfprog nicht, weil es ja nicht selbst geflasht wird und target power wird gejumpert<br /> | ||
dann das kabel anschliessen | dann das kabel anschliessen<br /> | ||
dann auf dem eigenen usbasp folgend jumpern: | dann auf dem eigenen usbasp folgend jumpern: <br /> | ||
<b>Das ist nicht abhängig von der Lötung, die Teilung fuer targed powered und selfprog ist parallel zur Laenge des USBASP. Beim ersten Flashen des BOARDS, nicht des USBASPs, muss der extra jumper (meist grün) gesetzt werden für den slowmode, für das frische bebrennen eines atmegas</b> | |||
Abhängig von der Lötung, bei mir:<br /> | |||
der jumper auf dem usbasp beim blauen 10mikrofarrad darf jetzt nicht gejumpert werden, | _________ | ||
weil ja noch nicht geflasht. | | | | ||
| ° ° | oberen (aeusseren) beiden ist target power und muss gejumpert werden | |||
| ° ° | unteren (inneren) beiden ist selfprog und muss gejumpert werden | |||
| | | |||
--------- | |||
_________ | |||
| | | |||
| ° ° | | |||
| ° ° | nicht-usb-flasher auf stecker | |||
| ° ° | | |||
| ° ° | | |||
| ° ° | | |||
--------- | |||
der jumper auf dem usbasp beim blauen 10mikrofarrad darf jetzt nicht gejumpert werden,<br /> | |||
weil ja noch nicht geflasht ist.<br /> | |||
Jetzt flashen. avr-tools auf rechner spielen (steht im wiki). | Jetzt flashen. avr-tools auf rechner spielen (steht im wiki). | ||
von dre fischl-seite das latest usbasp.(tar.gz|zip) holen und extrahieren | von dre fischl-seite das latest usbasp.(tar.gz|zip) holen und extrahieren | ||
dann flashen mit dem hexfile aus dem usbasp-archiv fuer den atmega8: | dann flashen mit dem hexfile aus dem usbasp-archiv fuer den atmega8:<br /> | ||
avrdude -c usbasp -p m8 -u usbasp.atmega8.2009-02-28.hex | avrdude -c usbasp -p m8 -u usbasp.atmega8.2009-02-28.hex<br /> | ||
danach in der Readme nachgeschaut, welche fuses gesetzt werden muessen: | danach in der Readme nachgeschaut, welche fuses gesetzt werden muessen:<br /> | ||
HFUSE=0xc9 LFUSE=0xef | HFUSE=0xc9 LFUSE=0xef<br /> | ||
mit | mit | ||
(REIHENFOLGE VON hfuse und lfuse wichtig!!) | avrdude -p m8 -c usbasp -t | ||
write hfuse 0 0xc9 | in den interaktiv-modus gehen und schreiben<br /> | ||
<enter> | (REIHENFOLGE VON hfuse und lfuse wichtig!!)<br /> | ||
write lfuse 0 0xef | write hfuse 0 0xc9<br /> | ||
<enter> | <enter><br /> | ||
<nochmal gegenlesen lassen> | write lfuse 0 0xef<br /> | ||
dann alles abstecken, unjumpern und usb an usbasp-flasher und schauen ob die rote diode leuchtet. | <enter> <br /> | ||
das kann man auch mit dem terminalmode machen. da sieht man ob er mit dem flasher reden kann. | <nochmal gegenlesen lassen><br /> | ||
wenn die diode nicht leuchtet, aber der avrdude -t kann, ist die diode vielleicht verkehrtherum eingelötet | dann alles abstecken, unjumpern und usb an usbasp-flasher und schauen ob die rote diode leuchtet.<br /> | ||
das kann man auch mit dem terminalmode machen. da sieht man ob er mit dem flasher reden kann.<br /> | |||
wenn die diode nicht leuchtet, aber der avrdude -t kann, ist die diode vielleicht verkehrtherum eingelötet<br /> | |||
/ | |||
avrdude: | jetzt das board flashen:<br /> | ||
universal ac adapter mit 6-7,5V spannung anschliessen, mit gekrimpten kabel laborboard und flasher verbinden<br /> | |||
usbkabel mit pc und flasher.<br /> | |||
dann muss die grüne diode leuchten auf dem laborboard<br /> | |||
dann mit avrdude -p m32 -c usbasp -t<br /> | |||
testen, ob er es kennt, wenn man statt m32 m8 tippt, ist erwartete und gesehene signatur unterschiedlich <br /> | |||
auf dem flasher darf nur der slow mode (beim kondensator) gejumpert sein, sonst nix<br /> | |||
<br /> | |||
avrdude -c usbasp -p m32 -t<br /> | |||
<br /> | |||
write hfuse 0 0xc9<br /> | |||
write lfuse 0 0x9f<br /> | |||
quit<br /> | |||
dann sollte was kommen wie:<br /> | |||
avrdude: safemode: Fuses OK<br /> | |||
avrdude | avrdude done. Thank you.<br /> | ||
<br /> | |||
dann:<br /> | |||
<br /> | |||
laptop# | |||
laptop# pwd<br /> | |||
/home/user/mcstuff/microcontroller<br /> | |||
laptop# find ./ -iname '*hello*oard*'<br /> | |||
./src-atmel/tests/helloboard<br /> | |||
laptop# cd src-atmel/tests/helloboard <br /> | |||
laptop# ls<br /> | |||
config.h main.c Makefile util.c util.h<br /> | |||
laptop# make<br /> | |||
avr-gcc -MMD -g -mmcu=atmega32 -Os -Wall -DF_CPU=16000000 -c main.c<br /> | |||
avr-gcc -MMD -g -mmcu=atmega32 -Os -Wall -DF_CPU=16000000 -c util.c<br /> | |||
avr-gcc -MMD -g -mmcu=atmega32 -Os -Wall -DF_CPU=16000000 -Wl,-Map,image.map -o image.elf main.o util.o <br /> | |||
avr-objdump -h -S image.elf > image.lst<br /> | |||
avr-objcopy -j .text -j .data -O ihex image.elf image.hex<br /> | |||
avr-objcopy -j .text -j .data -O binary image.elf image.bin<br /> | |||
avr-objcopy -j .text -j .data -O srec image.elf image.srec<br /> | |||
avr-objcopy -j .eeprom --change-section-lma .eeprom=0 -O ihex image.elf image_eeprom.hex<br /> | |||
avr-objcopy: --change-section-lma .eeprom=0x00000000 never used<br /> | |||
avr-objcopy -j .eeprom --change-section-lma .eeprom=0 -O binary image.elf image_eeprom.bin<br /> | |||
avr-objcopy: --change-section-lma .eeprom=0x00000000 never used<br /> | |||
avr-objcopy -j .eeprom --change-section-lma .eeprom=0 -O srec image.elf image_eeprom.srec <br /> | |||
avr-objcopy: --change-section-lma .eeprom=0x00000000 never used <br /> | |||
<br /> | |||
laptop# avrdude -c usbasp -p m32 -U image.hex <br /> | |||
<br /> | |||
avrdude: AVR device initialized and ready to accept instructions<br /> | |||
Reading | ################################################## | 100% 0.02s<br /> | |||
avrdude: Device signature = 0x1e9502<br /> | |||
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed<br /> | |||
To disable this feature, specify the -D option.<br /> | |||
avrdude: erasing chip<br /> | |||
avrdude: reading input file "image.hex"<br /> | |||
avrdude: input file image.hex auto detected as Intel Hex<br /> | |||
avrdude: writing flash (938 bytes):<br /> | |||
Writing | ################################################## | 100% 4.47s<br /> | |||
<br /> | |||
avrdude: 938 bytes of flash written<br /> | |||
avrdude: verifying flash memory against image.hex:<br /> | |||
avrdude: load data flash data from input file image.hex:<br /> | |||
avrdude: input file image.hex auto detected as Intel Hex<br /> | |||
avrdude: input file image.hex contains 938 bytes<br /> | |||
avrdude: reading on-chip flash data:<br /> | |||
Reading | ################################################## | 100% 4.04s<br /> | |||
avrdude: safemode: Fuses OK | <br /> | ||
avrdude: verifying ...<br /> | |||
avrdude: 938 bytes of flash verified<br /> | |||
<br /> | |||
avrdude: safemode: Fuses OK<br /> | |||
avrdude done. Thank you. | avrdude done. Thank you.<br /> | ||
laptop# <br /> | |||
UND ES BLINKT!! | UND ES BLINKT!!<br /> |
Aktuelle Version vom 26. Januar 2010, 22:54 Uhr
FIRST DOKU DRAFT
USB-ASP flashen (es braucht im wiki ein bild vom flasher): Den Labor USBASP aus der Laborboard gebastelkiste nehmen, auf SLOW jumpern (weil der eigene USBASP noch nicht geflasht ist und daher nur langsame übertragung kann)
also auf dem laborusbasp setzen:
SLOW wird gejumpert, selfprog nicht, weil es ja nicht selbst geflasht wird und target power wird gejumpert
dann das kabel anschliessen
dann auf dem eigenen usbasp folgend jumpern:
Das ist nicht abhängig von der Lötung, die Teilung fuer targed powered und selfprog ist parallel zur Laenge des USBASP. Beim ersten Flashen des BOARDS, nicht des USBASPs, muss der extra jumper (meist grün) gesetzt werden für den slowmode, für das frische bebrennen eines atmegas
Abhängig von der Lötung, bei mir:
_________ | | | ° ° | oberen (aeusseren) beiden ist target power und muss gejumpert werden | ° ° | unteren (inneren) beiden ist selfprog und muss gejumpert werden | | --------- _________ | | | ° ° | | ° ° | nicht-usb-flasher auf stecker | ° ° | | ° ° | | ° ° | ---------
der jumper auf dem usbasp beim blauen 10mikrofarrad darf jetzt nicht gejumpert werden,
weil ja noch nicht geflasht ist.
Jetzt flashen. avr-tools auf rechner spielen (steht im wiki).
von dre fischl-seite das latest usbasp.(tar.gz|zip) holen und extrahieren
dann flashen mit dem hexfile aus dem usbasp-archiv fuer den atmega8:
avrdude -c usbasp -p m8 -u usbasp.atmega8.2009-02-28.hex
danach in der Readme nachgeschaut, welche fuses gesetzt werden muessen:
HFUSE=0xc9 LFUSE=0xef
mit
avrdude -p m8 -c usbasp -t
in den interaktiv-modus gehen und schreiben
(REIHENFOLGE VON hfuse und lfuse wichtig!!)
write hfuse 0 0xc9
<enter>
write lfuse 0 0xef
<enter>
<nochmal gegenlesen lassen>
dann alles abstecken, unjumpern und usb an usbasp-flasher und schauen ob die rote diode leuchtet.
das kann man auch mit dem terminalmode machen. da sieht man ob er mit dem flasher reden kann.
wenn die diode nicht leuchtet, aber der avrdude -t kann, ist die diode vielleicht verkehrtherum eingelötet
jetzt das board flashen:
universal ac adapter mit 6-7,5V spannung anschliessen, mit gekrimpten kabel laborboard und flasher verbinden
usbkabel mit pc und flasher.
dann muss die grüne diode leuchten auf dem laborboard
dann mit avrdude -p m32 -c usbasp -t
testen, ob er es kennt, wenn man statt m32 m8 tippt, ist erwartete und gesehene signatur unterschiedlich
auf dem flasher darf nur der slow mode (beim kondensator) gejumpert sein, sonst nix
avrdude -c usbasp -p m32 -t
write hfuse 0 0xc9
write lfuse 0 0x9f
quit
dann sollte was kommen wie:
avrdude: safemode: Fuses OK
avrdude done. Thank you.
dann:
laptop#
laptop# pwd
/home/user/mcstuff/microcontroller
laptop# find ./ -iname '*hello*oard*'
./src-atmel/tests/helloboard
laptop# cd src-atmel/tests/helloboard
laptop# ls
config.h main.c Makefile util.c util.h
laptop# make
avr-gcc -MMD -g -mmcu=atmega32 -Os -Wall -DF_CPU=16000000 -c main.c
avr-gcc -MMD -g -mmcu=atmega32 -Os -Wall -DF_CPU=16000000 -c util.c
avr-gcc -MMD -g -mmcu=atmega32 -Os -Wall -DF_CPU=16000000 -Wl,-Map,image.map -o image.elf main.o util.o
avr-objdump -h -S image.elf > image.lst
avr-objcopy -j .text -j .data -O ihex image.elf image.hex
avr-objcopy -j .text -j .data -O binary image.elf image.bin
avr-objcopy -j .text -j .data -O srec image.elf image.srec
avr-objcopy -j .eeprom --change-section-lma .eeprom=0 -O ihex image.elf image_eeprom.hex
avr-objcopy: --change-section-lma .eeprom=0x00000000 never used
avr-objcopy -j .eeprom --change-section-lma .eeprom=0 -O binary image.elf image_eeprom.bin
avr-objcopy: --change-section-lma .eeprom=0x00000000 never used
avr-objcopy -j .eeprom --change-section-lma .eeprom=0 -O srec image.elf image_eeprom.srec
avr-objcopy: --change-section-lma .eeprom=0x00000000 never used
laptop# avrdude -c usbasp -p m32 -U image.hex
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.02s
avrdude: Device signature = 0x1e9502
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "image.hex"
avrdude: input file image.hex auto detected as Intel Hex
avrdude: writing flash (938 bytes):
Writing | ################################################## | 100% 4.47s
avrdude: 938 bytes of flash written
avrdude: verifying flash memory against image.hex:
avrdude: load data flash data from input file image.hex:
avrdude: input file image.hex auto detected as Intel Hex
avrdude: input file image.hex contains 938 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 4.04s
avrdude: verifying ...
avrdude: 938 bytes of flash verified
avrdude: safemode: Fuses OK
avrdude done. Thank you.
laptop#
UND ES BLINKT!!