AVR STK500 i Linux, problem!

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
StarMan
Inlägg: 5
Blev medlem: 27 mars 2007, 14:05:00
Ort: Luleå

AVR STK500 i Linux, problem!

Inlägg av StarMan »

Tjena alla!

Ny medlem här på forumet. Har sökt en del men inte hittat nåt bra svar och följt en del tutorials men utan lycka. Här är mitt problem:

Försöker få igång mitt STK500 (utvecklingskort för ATMEL AVR microprocessorer). Har dessvärre ingen serieport på min laptop vilket gör att jag inte kan koppla kortet rakt av som det är tänkt. Har istället kört en USB-Seriell adapter för att programmera kortet. Detta har funkat toppen i Windows men är rädd för att det inte fungerar lika bra i Linux. För att programmera kortet har jag installerat UISP, avr-gcc och avrdude. Har en makefile som ska skicka alla parametrar till UISP men jag får bara svaret: "Programmer not responding".... Gråtande
Här kommer lite info:

lsusb
Bus 004 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 004: ID 1267:0210 Logic3 / SpectraVideo plc
Bus 001 Device 003: ID 0403:6010 Future Technology Devices International, Ltd
Bus 001 Device 001: ID 0000:0000

Future Tech.... är adaptern som för övrigt ska ha 2 st com-portar.

dmesg | grep tty
[17179574.296000] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[17179574.296000] serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a NS16550A
[17179574.296000] 00:09: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[17179593.656000] usb 1-1: FTDI USB Serial Device converter now attached to ttyUSB0
[17179593.656000] usb 1-1: FTDI USB Serial Device converter now attached to ttyUSB1
[17179606.000000] ttyS1: LSR safety check engaged!
[17181884.424000] ttyS1: LSR safety check engaged!

Min makefile ser ut som följer:
CC=/usr/bin/avr-gcc
CFLAGS=-g -Os -Wall -mcall-prologues -mmcu=atmega16
OBJ2HEX=/usr/bin/avr-objcopy
UISP=/usr/bin/uisp
TARGET=blink

program : $(TARGET).hex
$(UISP) -dprog=stk500 -dserial=/dev/ttyS0 --erase -dpart=atmega16
$(UISP) -dprog=stk500 -dserial=/dev/ttyS0 --upload -dpart=atmega16
if=$(TARGET).hex -v=2
%.obj : %.o
$(CC) $(CFLAGS) $< -o $@

%.hex : %.obj
$(OBJ2HEX) -R .eeprom -O ihex $< $@

clean :
rm -f *.hex *.obj *.o


Ser du något annat galet eller vet direkt hur man gör? Jag är truly desperat då jag nu snart plöjt hyllmeter med manualer och tutorials utan resultat... Jag kan skicka lättklädda bilder på mig eller spela in en sång som belöning till den som kan ge mig ett svar som leder till success.
Har provat avrdude också men utan resultat.

/Nicke Nybörjare 8)
Millox
Inlägg: 559
Blev medlem: 10 december 2005, 22:10:43
Ort: Östhammar

Inlägg av Millox »

[17179593.656000] usb 1-1: FTDI USB Serial Device converter now attached to ttyUSB0
[17179593.656000] usb 1-1: FTDI USB Serial Device converter now attached to ttyUSB1

Dvs du ska använda /dev/ttyUSB1[01] och inte /dev/ttyS0 som är de inbyggda serieportarna(vilka då inte verkar vara framdragna i laptopen, kanske bara i dockningsstation?)
Användarvisningsbild
StarMan
Inlägg: 5
Blev medlem: 27 mars 2007, 14:05:00
Ort: Luleå

Inlägg av StarMan »

Huja! Här fick man svar snabbt minsann!! :D

Makefilen jag postade var inte den rätta. Helt korrekt observerat däremot! Jag kör virtuell serieport och trodde först att man skulle ha den som device. Men nu är detta ändrat till /dev/ttyUSB1 (har provat ttyUSB0 också med samma resultat)
Har också sett poster angående UISP och firmware-versioner på STK500. Någon som vet något mer om detta? Hittat gamla inlägg från 2005 där de säger att senaste firmware inte lirar med UISP eller avrdude... Svårt att veta vad som hänt de senaste två åren dock... :(
Millox
Inlägg: 559
Blev medlem: 10 december 2005, 22:10:43
Ort: Östhammar

Inlägg av Millox »

Då var det värre. Jag har lyckats själv så jag vet att det går. Har du testat att läsa ur statusbitar mm? version och sånt.
Användarvisningsbild
StarMan
Inlägg: 5
Blev medlem: 27 mars 2007, 14:05:00
Ort: Luleå

Inlägg av StarMan »

Nej, det har jag inte provat. I hjälpen för UISP och avrdude står inget om hur man kollar sånt... :( Kör du UISP eller avrdude? Annat? Hur kollar man enklast sådant?
Användarvisningsbild
cykze
EF Sponsor
Inlägg: 1539
Blev medlem: 8 april 2004, 10:40:28
Ort: Uppsala

Inlägg av cykze »

Har din användare rättigheter att komma åt serieporten?
Användarvisningsbild
StarMan
Inlägg: 5
Blev medlem: 27 mars 2007, 14:05:00
Ort: Luleå

Inlägg av StarMan »

Mja, det där funderade jag också på... Har provat köra det som root också med samma resultat... Var ställer man in rättigheter för serieporten?
Användarvisningsbild
Macce
Inlägg: 4301
Blev medlem: 29 maj 2003, 16:40:58

Inlägg av Macce »

Tillfälligt fungerar chown och chmod. Vill du göra det permanent och har udev, kan du skapa en regel för det. Kolla genom filerna för exempel i /etc/udev/rules.d/ . Om du inte orkar läsa genom för att hitta exempel, går det ju att köra en fuskvariant med chmod i ett skript som körs då datorn startar efter att udev (eller motsvarighet) har startats.
Användarvisningsbild
StarMan
Inlägg: 5
Blev medlem: 27 mars 2007, 14:05:00
Ort: Luleå

Inlägg av StarMan »

Ok, thanks!! Har precis fått ett butterfly-kort också så nu har jag två olika kort att prova med. Har fått tips via AVRFreaks forum om att UISP inte är så up-to-date medan avrdude är bättre på den fronten (Typ firmware stöd). Kan ju vara bra kunskap för den Linux-baserade AVR-användaren...
Ska prova chmod och chown samt det nya Butterfly-kortet, postar resultatet senare.
Mupp
Inlägg: 134
Blev medlem: 25 februari 2006, 10:30:38
Ort: Linköping

Inlägg av Mupp »

I många distar ägs ttyS* och ttyUSB* av root med grupp dialout, då är det bättre att lägga till sig själv i gruppen dialout. Bara som en parentes.

Edit, uppenbarligen är det ju bäst att kolla vem som äger dom först då...
Skriv svar