uart programming problrm

I am working on project where I need just atmega328p, but i have a problem uploading sketch through uart, but it works through USBasp.

I connected arduino uno without atmega to atmega328p: tx= pin3 ; rx= pin2; rst= pin1 and vcc and gnd.
and with arduino pro programmer: tx= pin2; rx= pin3; rst(i hold it while uploading) and vcc and gnd

atmega328p works, how i tested it? I upload program through USBasp that reads serial input and prints it, and it worked perfectly(connected through arduio uno or arduino pro programmer. But i still can't upload a program through serail. i burned bootloader few times.

You're aware.that uploading via usbasp wipes out the bootloader, right?

Also, since the other sketch works, presumably you also have a crystal connected to the appropriate pins, or are using a board def that uses the internal oscillator...