Getting error on uploading skecth to Arduino nano board

i am trying to uplaod my sketch to arduino board .
i am getting some errors again and again.
errors are in my attachments .
i suggest you see my error before reading my code

errors are-----------------------------------------------------------

  This report would have more information with
  "Show verbose output during compilation"
  enabled in File > Preferences.
Arduino: 1.0.6 + Td: 1.43 (Windows 7), Board: "Arduino Nano w/ ATmega328"
Binary sketch size: 12,024 bytes (of a 30,720 byte maximum)


avrdude: stk500_paged_write(): (a) protocol error, expect=0x14, resp=0xfc
avrdude: stk500_cmd(): protocol error
  This report would have more information with
  "Show verbose output during compilation"
  enabled in File > Preferences.
Arduino: 1.0.6 + Td: 1.43 (Windows 7), Board: "Arduino Nano w/ ATmega328"
C:\Program Files\Arduino\hardware\tools\avr\bin\avr-ar: unable to rename 'core.a'; reason: Permission denied
  This report would have more information with
  "Show verbose output during compilation"
  enabled in File > Preferences.
Arduino: 1.0.6 + Td: 1.43 (Windows 7), Board: "Arduino Nano w/ ATmega328"
Binary sketch size: 12,024 bytes (of a 30,720 byte maximum)

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

avrdude: stk500_paged_write(): (a) protocol error, expect=0x14, resp=0xfc
avrdude: stk500_cmd(): protocol error
  This report would have more information with
  "Show verbose output during compilation"
  enabled in File > Preferences.
Arduino: 1.0.6 + Td: 1.43 (Windows 7), Board: "Arduino Nano w/ ATmega328"
Binary sketch size: 12,024 bytes (of a 30,720 byte maximum)


avrdude: arduino_read_sig_bytes(): (a) protocol error, expect=0x10, resp=0xfc
avrdude: error reading signature data for part "ATMEGA328P", rc=-3
avrdude: error reading signature data, rc=-1
  This report would have more information with
  "Show verbose output during compilation"
  enabled in File > Preferences.
Arduino: 1.0.6 + Td: 1.43 (Windows 7), Board: "Arduino Nano w/ ATmega328"
Binary sketch size: 12,024 bytes (of a 30,720 byte maximum)


avrdude: stk500_paged_write(): (a) protocol error, expect=0x14, resp=0xfc
avrdude: stk500_cmd(): protocol error

my code is

#include <IRremote.h>

int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;
IRsend irsend;

 #define CH_UP      0xFE9867  //  Enter your code instead of "4FB32CD"
 #define CH_DOWN    0xFE18E7
 #define UP         0xFE30CF
 #define DOWN       0xFEB04F  //  Enter your code instead of "4FB32CD"
 #define RED        0xFECA35
 #define BLUE       0xFE0AF5
 #define GREEN      0xFE4AB5
 #define YELLOW     0xFE8A75

void setup() {
  pinMode(4, INPUT_PULLUP);
  pinMode(5, OUTPUT);   // Green
  pinMode(6, OUTPUT);   // Red
  pinMode(12, OUTPUT);   // 
  pinMode(13, OUTPUT);   // 
  
  irrecv.enableIRIn();
  Serial.begin(9600);
  
  if ( digitalRead(4) == LOW)
              {
     Serial.println(" Button 2 is pressed"); 
     Serial.println(" Green ---  Morning Play"); 
     digitalWrite(5, HIGH);
     digitalWrite(6, LOW);
              }
              else {
     Serial.println(" Button 2 is  not  pressed"); 
     Serial.println(" Red  --- evening play"); 
     digitalWrite(5, LOW);
     digitalWrite(6, HIGH);
                               //  Lcd Power ON
     Chan_1 ();
              }
            }

void loop() {
  if (irrecv.decode(&results))
  {
       
    if (results.value == YELLOW || results.value == BLUE)     //                              
    {
      NEXT (); 
    Serial.println("next");  
    }
    if (results.value == RED || results.value == GREEN)     //                              
    {
     BACK ();     //                        BACK 
     Serial.println("back"); 
    }
    
    if (results.value == UP  ||  results.value == CH_UP)     //                              
    {
     for (int i=0; i<5; i++)  {
     NEXT ();     //                        NEXT x5
     Serial.println("next"); 
     }
    }
    
       if (results.value == DOWN || results.value == CH_DOWN)     //                              
    {
     for (int i=0; i<5; i++)  {
     BACK ();     //                        NEXT x5
     Serial.println("back"); 
     }
    }
   
    irrecv.resume();
    

  }    
}

void NEXT () {
       irsend.sendNEC(0xFF708F, 32);   // Dish  Channal Up
       
       digitalWrite (5,HIGH);
       delay (500);
       digitalWrite (5,LOW);
           }
void BACK () {
  
       irsend.sendNEC(0xFF58A7, 32);  // Dish Channnal Down
       digitalWrite (6,HIGH);
       delay (500);
       digitalWrite (6,LOW);
           }
void Chan_1 () {
  
       irsend.sendNEC(0xFFB04F, 32);  // Dish Channnal Number 1
           }
void Morning ()  {
         Serial.println("Morning  flie Select And Played");
                       //  Power ON
                       //  Select Music
                       //  Select Folder
                       //  Select Morning
           }

please solve it in step-by-step help
thank you,,,,,

(deleted)

(deleted)