Olá @Bommu Perneta, realmente não há como gravar o bootloader pelo Rx Tx. Pesquisei muito a respeito e realmente tive que mudar meu projeto.
Descobri que quando se grava um ATMEGA328 pela SPI do Arduino não é necessário gravar o bootloader primeiro, pode-se subir direto a sketch.
Gostaria de compartilhar um problema que eu tive, pois talvez possa ajudar alguém.
Estou usando um Arduíno Duemilanove para carregar os programas. Inicialmente eu estava tendo o seguinte problema ao carregar bootloader e sketch:
avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x14
avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x01
avrdude: stk500 initialize(): (a) protocol error, expect=0x14, resp=0x10
avrdude: initialization failed,
rc=-1 Double check connections and try again, or use -F to override this check.
avrdude: stk500_disable(): unknown response=0x12
a porta serial avrdude: stk500_disable(): unknown response=0x12 selecionada não existe ou sua placa não está conectada
Depois de 4 dias quebrando a cabeça eu descobri que o problema não era a comunicação da placa do meu projeto com o Arduíno, e sim do computador com o Arduíno.
O lance é que o computador dava um reset no Arduíno quando eu solicitava para gravar pela SPI, e por isso dava esse erro de comunicação.
Solução:
Removi o ATMEGA328 da placa do meu gravador (Duemilanove), dobrei o pino 1 (referente ao reset), voltei ele pro gravador e pronto. Não há mais problemas de gravação, pois não há mais como a CPU resetar o Arduíno.
Lembrando: Caso queiram gravar algo no ATMEGA do gravador, é necessário voltar o pino de reset.
Caso tenham outra solução para este problema, por favor, compartilhem comigo.