Hab zwar nichts konstruktives beizutragen, aber im Allgemeinen sollte man schon RX mit TX und TX mit RX verbinden. R steht ja für receive (empfangen), das T für transceive (Übermitteln, senden).
Richtig, aber auf dem Arduino sitzt zu dem Zeitpunkt kein Atmega328.
Die Signale welche normalerweise den Atmega328 programmieren sollen den Atmega644 der auf einem Breadboard sitzt programmieren.
Deswegen diese Art von Verbindung !
Die Vorgehensweise wird in dem Artikel 'From Arduino to a Microcontroller on a Breadboard' beschrieben !
Using an Arduino as an AVR ISP (In-System Programmer):
From Arduino to a Microcontroller on a Breadboard: