PDA

Επιστροφή στο Forum : Πρόβλημα στην εκτέλεση κώδικα στους AVR



eebabs2000
21-05-07, 11:11
Δε ξέρω αν έχει τύχει σε σας που ασχολείστε με προγραμματισμό μικροελεγκτών... Μόλις γράφω κάποιο πρόγραμμα και πάω να το τρέξω μπερδεύεται κατά κάποιο τρόπο και βγάζει το τσιπ αλανταλον. Μόλις πειράξω καμια 20αρια φορές τα ποδαράκια του κρυστάλλου ή τους πυκνωτές τότε το πρόγραμμα τρέχει κανονικά. Όλα αυτά στο ΑΤ90s2313. Όμως σε ένα πρόγραμμα που έχω κάνει που εμφανίζει στην TV πρότυπη εικόνα, η εκτέλεση γίνεται κανονικότατα και μάλιστα χωρίς πυκνωτάκια στον κρύσταλλο... Μάλλον απ' ότι κατάλαβα πρέπει να κολλάει όταν είναι να εκτελέσει τα Rjmp ή rcall... χωρίς να είμαι σίγουρος.

Να πω επίσης ότι αυτά τα δοκιμαζω σε breadboard γιατί κάποιοι μου είπανε ότι μπορεί να φταίει αυτό.

Στον 8515 πάλι είτε βάζω κρύσταλλο είτε όχι είναι ένα και το αυτό! Το πρόγραμμα τρέχει με βάση των εσωτερικό ταλαντωτή του συστήματος... Πρεπει μήπως να ρυθμιστεί κάτι;

Τα προγράμματα τα γράφω στο AVRstudio4 και τα φορτώνω μέσω του pony prog (http://www.lancos.com/prog.html).

Ευχαριστώ για κάθε βοήθεια...

th_shak
21-05-07, 11:30
Το οτι κολλάει και κάνει άλανταλον μπορεί να οφείλεται στον WDT. Τον απενεργοποίησες ή τον χρησιμοποιείς στο πρόγραμμά σου; Όσο για τον 8515 αν θες να χρησιμοποιήσεις εξωτερικό κρύσταλλο πρέπει να προγραμματίσεις τα κατάλληλα fuses. Λογικά στο help του Ponyprog θα βρεις την απάντηση, δεν το χρησιμοποιώ και δεν ξέρω πως τα έχει.

eebabs2000
21-05-07, 12:14
Δεν τον χρησιμοποιώ καθόλου στο πρόγραμμα, αλλά όμως γιατί όταν ακουμπήσω τα ποδαράκια του κρυστάλλου ή τους πυκνωτές μερικές φορές συνεχίζει να τρέχει κανονικά; thanks :)

billilis
21-05-07, 13:04
1. Το 2313 και τα 8515, 8535 της σειράς ΑΤ90S έχουν καταργηθεί από καιρό. Μην ασχολείσαι με αυτά γιατί πολλές φορές έχουν bugs και σε κάνουν να τραλλαθείς. Καλύτερα πεταξέ τα και ασχολήσου με τους νέους αντικαταστάτες τους που είναι πολύ πιο σταθεροί και προβλέψιμοι.
2. Αν παρόλα αυτά θέλεις να ασχοληθείς με τους παλιούς η παρατηρησή του για το rcall με κάνει να σκεφθώ μήπως έχεις λησμονήσει να αρχικοποιήσεις το stack. Είναι το κλασσικό λάθος που κάναμε όλοι περνώντας από τον 1200 σε κάποιον μεγαλύτερο.

eebabs2000
21-05-07, 16:16
Δηλαδή να αγοράσω ΑΤtiny2313; Ο 8515 λέει πάνω ΑΤmega8515. Όσο για το stack για δώσε ένα παράδειγμα... που και πως το γράφω;

ggr
21-05-07, 21:42
Εχεις βαλει πυκνωτη 100nF παραλληλα στην τροφοδοσια του μικροελεγκτη και κοντα σε αυτον?

chip
22-05-07, 11:14
Το πρόβλημα των 2313 και 8515 δε νομίζω οτι έιναι τα bug.... Αν το breadboard δεν έχει κάποιο πρόβλημα πρέπει να δουλεύουν όλα καλά.. εκτός και το κύκλωμα είναι τεράστιο και δημιουργέι θόρυβο στην τροφοδοσία....(βάλε και κανένα ηλεκτρολυτικό...) Σε breadboard τους έχω δουλέψει και υπερχρονισμένους σε 2πλή και 3πλή ταχύτητα χωρίς πρόβλημα....ουστιατικά φαίνεται οτι μπορούν να πλησιάσουν η να φτάσουν τα 20Μ με την προυπόθεση οτι δεν θα χρησιμιποιηθεί η EEPROM.
Το watchdog timer μετά το reset είναι απενεργοποιημένο... και οι περισσότεροι δεν το αγγίζουν.
Και μένα το μυαλό μου πάει στο οτι δεν όρισε τον stack pointer και τρελένεται όταν εκτελεί εντολή rcall ή interupt.

chip
22-05-07, 11:19
Για τον 2313:

ldi r16, low(RAMEND)
out SPL, r16


Για τον 8515 που έχει δύο καταχωρητές για SP ρίξε μια ματιά στα application note γιατι δεν έχω κάποιο πρόγραμμα πρόχειρο αυτή τη στιγμή και δεν θυμάμε σίγουρα... ίσως είναι
ldi r16, low(RAMEND)
out SPL, r16
ldi r16, high(RAMEND)
out SPH, r16

eebabs2000
22-05-07, 14:40
Μου κάνει και μένα μεγάλη εντύπωση. Γιατί τον 2313 τον έχω δουλέψει στα 17.74ΜΗz μια χαρά για να παράγει ένα σήμα video... οπότε δε πιστεύω ότι φταίει κάτι στο κύκλωμα ή στο breadboard. Πυκνωτάκια εχω ένα σωρό. Για να σας δώσω να καταλάβετε τι συμβαίνει. Δείτε τις παρακάτω φώτο όπου προσπαθώ να φτιάξω το ρολόι του "επιστήμων". Μόνο για ρολόι δε κάνει...

Αρχικά δεν εμφανίζεται τίποτα. Κάθε φορά που πειράζω τους ακροδέκτες του κρυστάλλου και τα πυκνωτάκια του έπαιρνα διαδοχικά τα παρακάτω....

eebabs2000
22-05-07, 14:44
Και τελικά μετά από μεγάλη προσπάθεια, βγήκε αυτό... Δε μπορώ τελικά να καταλάβω που οφείλεται το μπέρδεμα... Δε μπορεί να έχει λάθος τον κώδικα ο επιστήμων (http://www.hlektronika.gr/phpBB2/viewtopic.php?t=2283).

billilis
22-05-07, 15:57
Λιγη αισιοδοξία παιδιά. Controller είναι όχι αστρολογία!!
Θα το βρούμε το πρόβλημα.
Κατ΄αρχήν πες μου αν το chip που έχεις είναι 2313 ή Tiny2313.
Σε κάθε περίπτωση η αρχικοποίηση του stack είναι απαραίτητη.
Δες και αυτό που έγραψε ο chip.
Το πρόγραμμα του επιστήμονα είναι για τον 1200 κει δεν έχει
αρχικοποίηση του stack. Κάντο το και πές μας το αποτέλεσμα.

chip
22-05-07, 18:41
Επίσης έλεγξε οτι έχει τις διεθύνσεις από τα Interupt στις ίδιες θέσεις (νομίζω οτι είναι σε διαφορετικές θέσεις)
Το γεγονός οτι σου εμφανίζει κείμενο αλλά όχι σωστό πιθανότατα σημαίνει κάτι άλλο...
Ο επιστήμονας έχει άλλο τύπο οθόνης LCD (συμβατό) ο οποίος φαίνεται οτι μπορεί να δουλέψει σε πιο υψηλή συχνότητα από το δικό σου.... Ο δικός σου μάλλον δουλεύει οριακά.. Αν το φτιάξεις σε κανονική πλακέτα ίσως να μην έχει πλέον πρόβλημα αν και το πιο σωστό ειναι να αλλάξεις τις καθυστερήσεις στον κώδικα στα σημεία που στέλνει τα data στην οθόνη ώστε να τα καταλαβαίνει.

th_shak
22-05-07, 19:05
main :
rcall delay1

ldi helper,$38 ; thetei 8-bit transfer , 2 line mode , 5x7 format
rcall entoli
ldi helper,$38
rcall entoli
ldi helper,$38
rcall entoli

ldi helper,$0C ; thetei Display(On) , Cursor Underline(Off) , Cursor Blink(Off)
rcall entoli

Πρέπει πρώτα να στείλεις τρεις φορές την εντολή 0X38 ή 0x30 μετά την 0x0C και μετά συνεχίζεις το πρόγραμμα!

LCD Initialization procedure: http://www.josepino.com/pic_projects/index?hitachi_displays.jpc

th_shak
22-05-07, 19:09
Αν και το πρόβλημα δεν φαίνεται να είναι στις ρουτίνες της LCD αλλά στον σωρό (γίνεται Overflow και εμφανίζει αλαντάλον στην οθόνη).

chip
22-05-07, 20:18
Αν το πρόγραμμα έχει rcall (δεν το έχω δει) θα πρέπει ΟΠΩΣΔΗΠΩΤΕ να προστεθεί η αρχικοποίηση του stack pointer.

eebabs2000
23-05-07, 09:59
Το τσιπ που δουλεύω είναι ΑΤ90S2313 και όχι tiny2313. Θα το δοκιμάσω και με 1200 μόλις το αγοράσω. Όσο αφορά το LCD είναι το κλασικό που δουλεύεται για τέτοιες εφαρμογές 2χ16. Με τι τύπο LCD να δοκιμάσω; Αν προσθέσω κάτι απ' αυτά στο κώδικα μήπως επηρεαστεί η μέτρηση της ώρας; Σας βάζω ένα κομμάτι από το κώδικα του ρολογιού από την αρχή να μου πείτε αν όντως περιέχει αυτά που μου λέτε ή όχι γιατί δεν είμαι και πολύ σχετικός με μC...

.def helper=r16
.def fores=r17
.def level=r18
.def flag=r19
.def day=r20
.def second=r21
.def min=r22
.def hour=r23
.def time_H=r24
.def time_L=r25
.def time=r26
.def time1=r27
.def dek=r28
.def mon=r29


.org $000
rjmp RESET
.org $002
rjmp Time_Ovr

.include "c:\AVR studio\Appnotes\1200def.inc"




RESET : ldi helper,$FF ; thetei oli ti thyra B exodo
out DDRB,helper
ldi helper,0 ; kai midenizei tis exodoys
out PORTB,helper

ldi helper,$03 ; thetei PIND(0)=RS(exodo) , PIND(1)=E(exodo)
out DDRD,helper ; PIND(2)=SET(eisodo) , PIND(4)=allagi leptwn , PIND(5)=allagi wras
ldi helper,$7C ; energopoiei tis eswterikes antistaseis sta PIN(2,3,4,5,6) giati tha
out PORTD,helper ; xrhsimopoiithoun ws eisodoi me puss mpoyton kai diakoptakia

ldi helper,$02 ; energopoiei to interrupt toy TIM_OVRF0
out TIMSK,helper

ldi helper,$01 ; thetei to clock tou TIMER0 iso me ti sixnotita toy krystallou (4 MHz)
out TCCR0,helper

ldi helper,0
out TCNT0,helper

;ldi year,5
;ldi month,11
;ldi date,5
;ldi day,6
ldi second,0
ldi min,0
ldi hour,0
ldi day,1

ldi time_H,0
ldi time_L,0
ldi level,0
ldi flag,0

sei
;************************************************* *************


main : rcall delay1

ldi helper,$0C ; thetei Display(On) , Cursor Underline(Off) , Cursor Blink(Off)
rcall entoli

ldi helper,$38 ; thetei 8-bit transfer , 2 line mode , 5x7 format
rcall entoli

;************************************************* *****************************
; i parakatw sinartisi kathorizei ta grammata kai grafei "Επιστήμων"
ldi helper,$01 ; katharizei tin othoni
rcall entoli
rcall delay1

ldi helper,$80 ; thetei ton cursor sti thesi $00 tis CGRAM
rcall entoli
rcall delay1

ldi helper,$00 ; emfanizei ta dedomena pou yparxoun se ekeines tis theseis
rcall write
ldi helper,$01
rcall write
ldi helper,$02
rcall write
ldi helper,$03
rcall write
ldi helper,$04
rcall write
ldi helper,$05
rcall write
ldi helper,$06
rcall write
ldi helper,$07
rcall write

; rcall delay1
; rcall delay1
; rcall delay1
; rcall delay
; rcall delay1



ldi helper,$40 ; grafei to gramma 'Π' sti thesi $00 tis CGRAM
rcall entoli
ldi helper,$1F
rcall write
ldi helper,$11
rcall write
ldi helper,$11
rcall write
ldi helper,$11
rcall write
ldi helper,$11
rcall write
ldi helper,$11
rcall write
ldi helper,$11
rcall write
ldi helper,0
rcall write

; rcall delay1
; rcall delay1
; rcall delay1
; rcall delay1
; rcall delay1
.
.
.
.
.

savnik
23-05-07, 10:16
Δεν ασχολουμε με AVR αλλα αυτο δεν μου φαινεται σωστο.Εχει τον 1200 ενω εσυ εχεις τον 2313
.include "c:\AVR studio\Appnotes\1200def.inc"

chip
23-05-07, 12:14
Σωστή παρατήρηση!!!
αυτό: .include "c:\AVR studio\Appnotes\1200def.inc" να γίνει
.include "c:\AVR studio\Appnotes\2313def.inc"

μέτα το RESET:
να προστεθού οι δύο γραμμές που έγραψα σε προηγούμενο Post για την αρχικοποίηση του SP register.
Τα δύο παραπάνω λάθη δικαιολογούν το λόγο που δεν λειτουργεί...προς το παρόν...
Τελικά μάλλον δεν φτέει η οθόνη.... Ό τύπος οθόνης που πήρες είναι σωστός... απλά από εταιρεία σε εταιρεία υπάρχουν μικρές διαφορές στην ταχυτητα επικοινωνίας της LCD. Αν λοιπόν κάποιος πάει στα όρια μίας γρήγορης οθονούλας και κάποιος άλλος βάλει μια πιο αργή τότε δεν θα μπορέσει να δουλέψει. Αυτό εννοούσα σε προηγούμενο post αλλα φαίνεται οτι δεν υπάρχει τέτοιο πρόβλημα.

Αν δεν δουλέψει με αυτές τι δύο αλλαγές πρέπει να ελέγξουμε άλλο ένα σημείο...
Ο 1200 με τον 2313 έχει απ΄οτι θυμάμαι διαφορετικό πίνακα διακοπών....και ίσως πρέπει να αλλάξουμε εκείνο το .org$002. (ίσως σε 4 ή 6) Αν δεν σου δουλέψει με αυτές τις αλλαγές θα κοιτάξω τα datasheet να δω αν όντως πρέπει να γίνει τέτοια αλλαγή...

eebabs2000
23-05-07, 13:37
Λοιπόν τα πω τα νέα που έχω μέχρι αυτήν την ώρα. Σε ένα πρόγραμμα που έγραψα που παράγει μία μελωδία (όπου υπάρχουν αρκετά rcall) πρόσθεσα στην αρχή τα εξής χωρίς τη φραση που είπατε παραπάνω:
ldi r16, 255
out $3Ε, r16 ;SPH
οut $3D, r16 ;SPL

Το πρόγραμμα έτρεξε κανονικότατα χωρίς να κολλήσει. Κόλλούσε σε μια συγκεκριμένη νότα και έπρεπε να πειράζω τον κρύσταλλο για να ξεκολλήσει... Τώρα μόλις βάζω τροφοδοσία παίζει αμέσως τέλεια. Με κανέναν άλλο συνδυασμό αυτών των εντολών δεν κατάφερα να το ξεκολλήσω, μόνο έτσι.
Στα άλλα προγράμματα όμως, για παράδειγμα να αναβοσβήνει ένα LED στη πόρτα B με κάποιο delay, που είναι το πιο απλό, δεν έκανε τίποτα, είτε έβαζα τις παραπάνω εντολές είτε όχι.

Αύριο θα δοκιμάσω και τον 1200 και θα σας πω νέα. Έχω και μαθήματα και δε προλαβαίνω πολλά. Θα δοκιμάσω και το παραπάνω
Ευχαριστώ πολύ...

chip
24-05-07, 10:08
Το καλύτερο είναι να το γράφεις :

ldi r16,
out SPL, r16

Πραγματικό το 255 που γράφεις δεν ξέρω αν είναι η απόλυτη η σχετική διεύθυνση... στον χάρτη μνήμης... ενω το
low(RAMEND) αναφέρεται πραγματικά στην τελευταία θέση μνήμης...
Επίσης ο 2313 δεν έχει SPH. SPH έχει ο 8515


Ακόμα το .org$002 να γίνει .org$006 γιατί έχει διαφορετικό πίνακα διακοπών ο 1200 από τον 2313

Και φυσικά να αλλάξεις και include... Κάποιο άλλο λάθος δεν βλέπω προς το παρόν.

chip
24-05-07, 10:09
Αυτό ήθελα να γράψω πιο πάνω...

ldi r16, low(RAMEND)
out SPL, r16

eebabs2000
24-05-07, 14:00
Ναι δηλώνωντας και το include.... 2313 το δέχτηκε και ως
ldi r16, low(RAMEND)
out SPL, r16

Και έτσι τα προβλήματα για τον 2313 ξεπεράστηκαν. Μένει να δοκιμάσω τον 1200 με το ρολόι του επιστήμων και τον 8515 ώστε να δουλεύει με εξωτερικό ταλαντωτή.

Επιστήμων
25-05-07, 15:46
Γεια σας και απο εμένα .
Χαίρομαι που κάποιος ασχολείται με το ρολόι έστω και για εξάσκηση .
Απο την άλλη βέβαια στεναχωριέμαι που ο eebabs2000 ταλαιπωρείται
χωρίς λόγο μιας και οι μικροελεγκτές 1200 και 2313 έχουν κάποιες
διαφορές τέτοιες ώστε να μη δουλεύει καλά η κατασκευή.

Ομολογώ ότι και εγώ πρώτη φορά βλέπω να εμφανίζονται
τέτοια πράγματα στην οθόνη .

Απο ότι ακούω έχει καταργηθεί ο 1200 συνεπώς
θα πρέπει να γίνουν κάποιες αλλαγές έτσι ώστε να γίνει συμβατό
το πρόγραμμα, με τον 2313.

Είναι μια καλή ευκαιρία για εξάσκηση να γίνει μετατροπή του
κώδικα απο 1200 σε 2313 .

Καλή συνέχεια .

eebabs2000
30-05-07, 11:30
Όντως πήγα να πάρω τον 1200 και δεν υπήρχε και έτσι πήρα τον ATtiny2313. Τι θα μπορούσα να αλλάξω για να το τρέξει; Θέλει ψάξιμο η δουλειά ε; Ευχαριστώ όλους για το ενδιαφέρον και τη βοήθεια...

Επιστήμων
31-05-07, 20:20
Να σου πω την αμαρτία μου δεν έχω ασχοληθεί ακόμα με το 2313.
Είχα πάρει προ καιρό αρκετούς 1200 και ακόμα με αυτούς παιδεύομαι.

Πάντως αν έχεις μια μικρή εμπειρία θα τα καταφέρεις σχετικά εύκολα.

Θα πρέπει να πάρεις ένα datasheet με τον 1200 και ένα με τον 2313
και να δεις που έχουν διαφορές τα ποδαράκια , οι καταχωρητές , τα
interrupts και στη συνέχεια να τα αλλάξεις.

Καλή επιτυχία !

chip
31-05-07, 23:56
Αντικατέστησες το
.org $002
rjmp Time_Ovr

με

.org $006
rjmp Time_Ovr

???
Αν δεν το αλλάξεις δεν θα δουλέψει!! και βάλε και το κατάλληλο Include για τον μικροελεγκτή σου.
Αν και πάλι δεν δουλέψει (που πιστέυω θα δουλέψει) δες το ανάλογο application note στην ΑTMEL που λέει τι αλλαγές που πρέπει να κάνεις από 2313 σε ATtiny2313. Επίσης πιθανότατα υπάρχει και application note για μετατροπή εφαρμογής από τον 1200 στον ATtiny2313.

eebabs2000
02-06-07, 23:30
1000 ευχαριστώ για τη βοήθειά σας... Θα το δοκιμάσω στις επόμενες ημέρες και θα σας πω αποτελέσματα. Το άλλο το πρόβλημα μου είναι ο mega8515. Γιατί δεν χρησιμοποιεί τη συχνότητα του κρυστάλλου που του βάζω και παίζει με τον εσωτερικό ταλαντωτή. Το ίδιο κάνει και ο tiny2313. O 90s2313 όμως χρησιμοποιεί τον κρύσταλλο που του βάζω χωρίς να κάνω κάτι, αλλά και στον προγραμματισμό θέλει οπωσδήποτε κρύσταλλο. Οι υπόλοιποι προγραμματίζονται ακόμα και χωρις κρύσταλλο αλλά και τα προγράμματα τα τρέχουν με τον εσωτερικό ταλαντωτή. Μήπως κάτι πρέπει να θέσω στο Pony prog;

chip
03-06-07, 00:11
Πως το ξέρεις οτι δεν λειτουργεί με τον εξωτερικό κρύσταλο?

eebabs2000
03-06-07, 00:22
Του βγάζω τον κρύσταλλο και συνεχίζει να λειτουργεί και μάλιστα πιο αργά απ΄ότι τρέχει το πρόγραμμα σε μικροελεγκτή με κρυσταλλο 4ΜΗz λογικά γύρω στο 1ΜΗz πρέπει να είναι ο εσωτερικός...

PiCBuRn3r
03-06-07, 02:25
Του βγάζω τον κρύσταλλο και συνεχίζει να λειτουργεί και μάλιστα πιο αργά απ΄ότι τρέχει το πρόγραμμα σε μικροελεγκτή με κρυσταλλο 4ΜΗz λογικά γύρω στο 1ΜΗz πρέπει να είναι ο εσωτερικός...

Έχεις βάλει τα σωστά fuses ?

eebabs2000
04-06-07, 17:08
Του βγάζω τον κρύσταλλο και συνεχίζει να λειτουργεί και μάλιστα πιο αργά απ΄ότι τρέχει το πρόγραμμα σε μικροελεγκτή με κρυσταλλο 4ΜΗz λογικά γύρω στο 1ΜΗz πρέπει να είναι ο εσωτερικός...

Έχεις βάλει τα σωστά fuses ?

Δηλαδή τι θα πρέπει να ρυθμίσω (δε γνωρίζω και πολλά πράγματα). Στο 90s2313 δε χρειάζεται τίποτα να κάνω, τρέχει απευθείας με τον κρύσταλλο. Στον mega8515 και tiny2313 τι γίνεται;

PiCBuRn3r
04-06-07, 21:13
Ποιό πρόγραμμα χρησιμοποιείς για να τους προγραμματίζεις ?
Θα λέει μέσα κάτι για fuses...Κοίτα εδώ (http://palmavr.sourceforge.net/cgi-bin/fc.cgi?P_PREV=&P=ATtiny2313) ένα υπολογιστήρι.

edit: Η σειρά ATmega και ATtiny έχουν όλοι και εσωτερικό RC ταλαντωτή και από default δεν χρείαζονται κρύσταλο για να παίξουν. Για να διαλέξεις αν θες κρύσταλο, RC, εσωτερικό ταλαντωτή, εξωτερική πηγή χρονισμού κλπ. πρέπει να παίξεις με τα fuses... Ο 90S2313 έχω μια εντύπωση ότι δεν έχει τέτοιες επιλογές οπότε και γι' αυτό παίζει μόνο με κρύσταλο. Αν είπα κάτι λάθος να με διορθώσει κάποιος πιο έμπειρος..

chip
05-06-07, 00:23
Αν και δεν έχω παίξει με ATtiny και ATmega καλά τα λες.....
Πρέπει να πάει στο καρτελάκι fuses (υποθέτω οτι προγραμματίζει με STK500 εργαλείο ή AVRISP) και να κάνεις κλικ στην επιλογή κρυστάλλου. (external crystal/resonator)

eebabs2000
05-06-07, 14:14
Τα προγραμματίζω με το Pony prog. Τι κατα τη γνώμη σας πρέπει να πειράξω;

PiCBuRn3r
05-06-07, 22:48
Στο link που σου έδωσα πιο πάνω σου υπολογίζει για τον uC που θες ποια fuses να βάλεις (νομίζω στο ponyprog είναι το παράθυρο "Configuration and Security bits").
ΠΡΟΣΟΧΗ! Αν γίνει κάποια βλακεία με τα fuses, έχω μια εντύπωση ότι μπορεί να μην μπορείς να προγραμματίσεις τον uC με spi και θες high voltage programmer.... (πχ. εδώ (http://www.larsen-b.com/Article/260.html))

edit: Πάντως για AVR χρησιμοποιώ αυτό (http://avr8-burn-o-mat.aaabbb.de/avr8_burn_o_mat_avrdude_gui_en.html) που έχει μέσα τις ρυθμίσεις για fuses κλπ. μαζί με τον avrdude (και τα 2 τρέχουν και σε Windows/Linux/Unix κλπ....)

eebabs2000
06-06-07, 11:56
Ευχαριστώ πολύ!