Hi,

ich hab sowas gerade für einen Atmega48 umgesetzt. Den gibt es ja nichtmal auf irgendeinem ArduinoBoard und es klappt trotzdem.
Ich hab mir das .hex File mit einem USBASP über den ISP in den Chip geschrieben. Auf den Arduino Bootloader hab ich bewusst verzichtet, weil der Mega48 eh schon nicht viel Speicher hat. Du könntest den Bootloader in deinen Mega328 brennen und dann das eigentliche Programm per RS232 in den Chip schreiben. Dann brauchst du nur einmal einen ISP.

Ich hab das hier als Quelle genutzt:
http://arduino.cc/forum/index.php?topic=131969.0

Du wirst ja nur in die Datei "\hardware\arduino\boards.txt" gucken und einen neuen Chip anlegen müssen.
Z.B. so:
Code:
atmega328.name= MyCustomBoard w/ ATmega328

atmega328.upload.protocol=arduino
atmega328.upload.maximum_size=30720
atmega328.upload.speed=57600

atmega328.bootloader.low_fuses=0xFF
atmega328.bootloader.high_fuses=0xDA
atmega328.bootloader.extended_fuses=0x05
atmega328.bootloader.path=atmega
atmega328.bootloader.file=ATmegaBOOT_168_atmega328.hex
atmega328.bootloader.unlock_bits=0x3F
atmega328.bootloader.lock_bits=0x0F

atmega328.build.mcu=atmega328p
atmega328.build.f_cpu=16000000L
atmega328.build.core=arduino
atmega328.build.variant=standard
Ich übernehme keine Garantie das es bei dir damit klappt! Das ist nicht getestet, weil ich keinen Atmega328 hier hab. Achte auch auf die Frequenz!
Etwas Googlen wird dir sicherlich helfen. Du bist nicht der erste der sowas vorhat.

Gruß Daniel