Benutzer:Angorastuhl/LaborboardUSBASP-FlashereiDoku: Unterschied zwischen den Versionen

Aus LaborWiki
Wechseln zu: Navigation, Suche
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 7: Zeile 7:
dann auf dem eigenen usbasp folgend jumpern:  
dann auf dem eigenen usbasp folgend jumpern:  
Abhängig von der Lötung, bei mir:
Abhängig von der Lötung, bei mir:
<nowiki>
<pre>
_________
_________
| |
|       |
| °  ° | oberen (aeusseren) beiden ist target power und muss gejumpert werden
| °  ° | oberen (aeusseren) beiden ist target power und muss gejumpert werden
| °  ° | unteren (inneren)  beiden ist selfprog und muss gejumpert werden
| °  ° | unteren (inneren)  beiden ist selfprog und muss gejumpert werden
| |
|       |
---------
---------
_________
_________
| |
|       |
| °  ° |
| °  ° |
| °  ° |
| °  ° | nicht-usb-flasher auf stecker
| °  ° |
| °  ° |
| °  ° |
| °  ° |
| °  ° |
| °  ° |
---------
---------
</nowiki>
 
</pre>
der jumper auf dem usbasp beim blauen 10mikrofarrad darf jetzt nicht gejumpert werden,
der jumper auf dem usbasp beim blauen 10mikrofarrad darf jetzt nicht gejumpert werden,
weil ja noch nicht geflasht.
weil ja noch nicht geflasht.

Version vom 6. Juni 2009, 01:13 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: 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.


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 inavrdude -p m8 -c usbasp -t 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:

knorr-laptop# knorr-laptop# pwd /home/knorr/mcstuff/microcontroller knorr-laptop# find ./ -iname '*hello*oard*' ./src-atmel/tests/helloboard knorr-laptop# cd src-atmel/tests/helloboard knorr-laptop# ls config.h main.c Makefile util.c util.h knorr-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

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

knorr-laptop#

UND ES BLINKT!!