Ich habe das getan - habe den 168 von einem Arduino gezogen und ihn mit dem USBtinyISP programmiert. Sie benötigen eine Art Zielplatine für den USBtiny ISP. Ich habe eines davon von Evil Mad Scientist Labs zusammen mit einem ZIF-Sockel von Sparkfun verwendet. Die eigentliche Schaltung, die zum Programmieren benötigt wird, ist so einfach, dass Sie sie ohne große Probleme auf einem Protoboard aufbauen können. EMSL hat auch einen praktischen Artikel darüber, was diese Schaltung sein muss, damit Sie selbst basteln können.
Damit eine Zielplatine funktioniert, muss sie mindestens annähernd so eingerichtet sein, wie der Chip bereits verschmolzen ist. Dies bedeutet, dass Sie über die richtige Leistung verfügen (wenn die Brownout-Erkennungsschaltung aktiviert ist) und über einen Oszillator verfügen, wenn der Chip auf die Verwendung eines externen Oszillators eingestellt ist (AFAIK ignoriert der Chip einen externen Oszillator, wenn er nicht für die Verwendung abgesichert ist). Sie müssen entweder zuerst die Sicherungen einstellen, um den internen Oszillator zu verwenden, bevor Sie ihn vom Arduino entfernen, oder einen Oszillator auf Ihre Zielplatine setzen. Ich glaube nicht, dass der Arduino mit aktivierter Brownout-Erkennung geliefert wird, daher sind Sie in dieser Hinsicht wahrscheinlich sicher. Ich würde vorschlagen, nur den Jumper auf dem USBtiny zu verwenden, um die Zielplatine mit Strom zu versorgen, anstatt sich mit einem externen Netzteil zu beschäftigen.
Ich kann die Verwendung der Arduino-Karte als Programmierziel nicht empfehlen, da sie einen normalen Sockel anstelle eines ZIF-Sockels hat. Ich finde, dass ich die Stifte meiner MCU viel seltener beschädige, wenn ich einen ZIF-Sockel verwende. Das Ein- und Aussteigen aus einem Steckbrett ist schon schlimm genug. Sparkfun scheint die günstigsten Preise für ZIF-Steckdosen zu haben, wenn Sie sich für diesen Weg entscheiden.
Da Sie bereits einen ISP-Programmierer haben, können Sie ein wenig Geld auf Ihrem 328-Chip sparen und einen ohne den Arduino-Bootloader kaufen. Verwenden Sie einfach die Arduino-Software, um den entsprechenden Bootloader darauf zu brennen, sobald Sie ihn installiert haben.