Hallo,
So habe ich es bisher gemacht (funktioniert nicht):
- low 0xe7; high 0xdf; ext 0x00; lock 0x2f;
- passendes hex file für den flash
- upload drücken --> my smart usb erkennt danach den neuen atmega 168 nicht mehr!
ich würde zum Starten und für einen ersten Check tunlichst die Fuses in Frieden lassen. Sie sind im Auslieferungszustand so programmiert, dass der Controller mit einem intern erzeugten Takt von 1 MHz läuft (8 MHz vom R/C-Oscillator, die wegen der CLKDIV8-Fuse noch auf 1/8 runtergeteilt werden). Also gibt es für einen ersten Funktionstest keinen Grund, an den Fuses irgendetwas zu verändern.
Ich würde so vorgehen:
- fabrikfrischen ATmega168 nehmen und an den SmartUSB anschließen
- mit der Programmiersoftware die Signatur des Controllers auslesen. Das muss immer gehen.
- wenn erfolgreich: Mini-Testprogramm schreiben, assemblieren und den Controller mit der entsprechenden HEX-Datei flashen
- wenn erfolgreich: Verify durchführen. Dabei wird das geflashte Programm wieder aus dem Controller zurückgelesen und mit der HEX-Datei verglichen.
Wenn das alles funktioniert, sieht’s schonmal gut aus 
Ein geeignetes Testprogramm ist z. B. dieses (ohne Include der Controller-Definitionsdatei, also dies ggf. noch erledigen):
ldi r16, 0xFF
out DDRC, r16
clr r16
Loop:
ldi ZL, Low (25000)
ldi ZH, High(25000)
sbiw ZL, 1
brne PC-1
inc r16
out PORTC, r16
rjmp Loop
Sein Sinn besteht darin, einfach LEDs am Port C blinken zu lassen. Kopiers in Deine Software, lass den Assembler drüberlaufen, um die HEX-Datei zu bekommen, und flash den Controller damit via SmartUSBlight (oder lass es erstmal im Simulator laufen, um zu verstehen, was das Programm macht). Dann Controller auf den Tisch legen, Spannung 5 V dranklemmen und mit ner LED (eine mit passendem Vorwiderstand natürlich!) checken, ob sie mit den erwarteten Frequenzen flackert/blinkt, wenn Du sie an die Pins von PORT C hälst. Dann weißt Du, dass der ganze Prozess grundsätzlich erfolgreich war und der Controller intakt ist und tut was er soll. Wenn Du dann noch den Code verstehst und voraussagen kannst, wie schnell die LED an welchem Pin blinkt, dann ist es optimal.
Mehr brauchst Du erstmal nicht. Alles andere, z. B. die Fuses so verändern, dass der Controller mit einem externen Quarz läuft, kommt danach. An den Lockbits wirst Du sowieso kaum jemals etwas ändern wollen. Du solltest aber in Deinem eigenen Interesse wissen, was die einzelnen Bits der Fuses genau bewirken. Auch das steht im Datenblatt des Controllers – lesen musst Du es selbst.
seit einer Ewigkeit versuche ich einen neuen atmega 168 zu booten.
Nein, Du willst ihn nicht booten, sondern schlicht zum Laufen bekommen. Der Begriff booten hat eine bestimmte Bedeutung, die hier nicht zutrifft.
Meine Ziel:
einen neu gekauften Atmega 168 pa-pu so zu booten, dass ich
ihn anschließend problemlos mit dem Arduino Board Diecimila
beschrieben kann. Am liebsten wäre mir das betriebssystem mac,
windows würde es aber auch tuen.
Ich würde zuerst das Flashen mit dem SmartUSBlight probieren und mich um alles andere kümmern, wenn das funktioniert hat.
So habe ich es bisher gemacht (funktioniert nicht):
- low 0xe7; high 0xdf; ext 0x00; lock 0x2f;
Ich glaub nicht, dass irgendjemand Lust hat, jetzt mit dem Datenblatt herauszufinden, was diese HEX-Werte für Einstellungen bewirken.
- passendes hex file für den flash
Welches denn?
- upload drücken --> my smart usb erkennt danach den neuen atmega 168 nicht mehr!
Das kann viele Gründe haben, z. B. fehlende Taktversorgung.
Folgende Fragen:
- welche fuses muss ich einstellen? ( low, high, extended, lock)
Das ist nicht allgemein zu beantworten. Du kannst da einstellen, worauf immer Du Lust hast. Was sinnvoll ist, hängt ganz von Deiner Anwendung ab.
- welche Flash Datei muss ich aufspielen?
Dasselbe wie bei 1. Was willst Du denn mit Deinem Controller machen?
- Was mache ich falsch, bzw. wie macht ihr es richtig?
Ich habe ein STK500… 
Wenn ich dazu einen neuen isp programmer kaufen muss, soll mir das recht sein.
Kann mir nicht vorstellen, dass das nötig sein wird.
Viel Erfolg!
Gruß
Martin