Unable to upload any sketch

Whenever i try to upload any code either my own or from the examples it shows the same error as follows,

Arduino: 1.8.13 (Windows 10), Board: “Arduino Uno”

Sketch uses 29594 bytes (91%) of program storage space. Maximum is 32256 bytes.

Global variables use 1484 bytes (72%) of dynamic memory, leaving 564 bytes for local variables. Maximum is 2048 bytes.

avrdude: loadaddr(): (b) protocol error, expect=0x14, resp=0xfc

avrdude: loadaddr(): (b) protocol error, expect=0x14, resp=0xfc

avrdude: loadaddr(): (b) protocol error, expect=0x14, resp=0xfc

avrdude: loadaddr(): (b) protocol error, expect=0x14, resp=0xfc

avrdude: loadaddr(): (b) protocol error, expect=0x14, resp=0xfc

avrdude: loadaddr(): (b) protocol error, expect=0x14, resp=0xfc

avrdude: loadaddr(): (b) protocol error, expect=0x14, resp=0xfc

avrdude: loadaddr(): (b) protocol error, expect=0x14, resp=0xfc

avrdude: stk500_paged_load(): (a) protocol error, expect=0x10, resp=0x82

avrdude: stk500_cmd(): programmer is out of sync

avrdude: stk500_paged_load(): (a) protocol error, expect=0x10, resp=0x82

avr_read(): error reading address 0x0000

read operation not supported for memory "flash"

avrdude: failed to read all of flash memory, rc=-2

avrdude: stk500_disable(): protocol error, expect=0x14, resp=0xca

This report would have more information with
“Show verbose output during compilation”
option enabled in File → Preferences.

The code i used recently was grbl under examples.

Although the blink test is working fine but that too shows error after sometime even if the light still blinks.

Please help, i am tired of this error, i want to complete my cnc plotter.

Do you have an Arduino to test the code on?

Have you installed the CH340 Driver?
Have you checked you have the correct COM port selected?

Yes, i have the arduino board and i have uploaded the pic of it above, i have also downloaded the ch340 driver and port is also correct.

Still it shows error and i have never seen the message ‘done uploading’.

What i think is i have bought the clone version of arduino by mistake.

Can i correct this clone board without buying new one?

The perils of buying cheap clones.
I bought a cheepo Nano with a CH340 chip on it.
The CH340 chip is perfectly OK, but not the same as the original FTDI pukka chip.
If you select Nano instead of Uno in the Tools menu and go to the bit that says Processor “ATmega 328P” and go to the sub-menu, you will see three options.
The one “ATmega328P (Old bootloader)” is the one that works with CH340.
You’ll have to figure out how to do it with the Uno, but the Nano and Uno both use the same 328P chips, just different chip formats.
A better clone like the Elegoo Uno, uses the ATmega 16U2 chip like the pukka Uno, so works without a problem.
Yes, you did make a mistake, but your board looks nothing like the genuine item and is missing all the Arduino logos etc., which should have been a clue.
If all else fails, you could try programming it using the ISP pins and an external USB to serial adaptor.
Have a look at Nick Gammons (Gammon.au) website for details on programming bare ATmega chips.
Unfortunately, I don’t have a Uno with the CH340 on it, so can’t test it, but the “old bootloader” certainly works and I haave never had to download the driver either.