BIG Problem - Arduino son't start after upload program

Hello,
I'm trying to upload my code - it doesn't have any bugs ,it upload just fine
but the device won't start.
I have disconnected all Digital\Analog inputs - just use the FTDI cable
when I try to upload anther code , the simple "blink" - it's working

what is the problem??
how could it be? and most impotent how do I fix it fast?????

Please answer fast?

the new code is
Binary sketch size: 18,014 bytes (of a 32,256 byte maximum)
maybe this is the problem?

Thanks,

After 254 posts to the forum I'm surprised that you need to be asked to post your code.

And which Arduino? Including revision?

I can't load the code because it too big
the problem is that it won't even go the setup part....
this is the setup:

#include <Ethernet.h>
#include <SPI.h>
#include "Wire.h"
#define DS1307_ADDRESS 0x68

byte mac[] = {0x90, 0xA3, 0xDC, 0x0E, 0xD8, 0xE1 }; // MAC address of the device
IPAddress ip(10,0,0,45); // IP address
IPAddress gateway(10,0,0,1); // gateway of device
EthernetServer server(80); //server is using port 80

int EnPIR=3;//auto-manual switch
int ManualGREEN=4;//green go button
int ManualRED=5;//red - don't go button 
int PIRdirection=6;//the digital input of the diretion switch
int rightPIR=7; //the digital input of right PIR
int leftPIR=8; //the digital input of left PIR

int MoveLED=9; //digital ourput LED

int Battary_value=1;//analog battery sensor
boolean PIRDirection = false;

int calibrationTime=10;// setup time 
int y,x,i,d,m,OC,ML;
unsigned long  updateTime; 
int t=0;
int  monthDay,month,year,hour,minute,second;
int LogMonthDay,LogMonth,LogYear,LogHour,LogMinute,LogSecond=1;
char Day[7][4] = {"SAT","SUN","MON","TUE","WED","THU","FRI"};
int weekDay,tempDay;

void setup ()
{
  Serial.begin(9600);
  Ethernet.begin(mac, ip);
  server.begin();  
  Wire.begin();
  pinMode(EnPIR,INPUT_PULLUP);
  pinMode(ManualGREEN,INPUT_PULLUP);
  pinMode(ManualRED,INPUT_PULLUP);
  pinMode(PIRdirection,INPUT_PULLUP);
  pinMode(rightPIR,INPUT);
  pinMode(leftPIR,INPUT);
  pinMode(MoveLED,OUTPUT);

  delay(1000);

  Serial.print("Please Wait - calibrating sensor ");
  digitalWrite(MoveLED,HIGH);
  for(int i = 0; i < calibrationTime; i++)
  {

    Serial.print("*");
    delay(1000);
  }
  Serial.println(" done");
  Serial.println("SENSOR IS NOW ACTIE");
  Serial.print("Sensor IP is : ");
  //Serial.println(ip);
  //delay(50);
  digitalWrite(MoveLED,LOW);

}//end of setup

I'm using Arduino Ethernet

(deleted)

I know . this is what I don't understand
I have nothing connected to the board.
the code work yesterday when I have upload it
I have just made some small changes in printing - that is all

so again , how can I search what is the problem?

Well, if you won't post your code then I'll guess shall I?

Change all your print/println statements to the format:

Serial.print(F(“Hello World”))

dannable:
Well, if you won't post your code then I'll guess shall I?

Change all your print/println statements to the format:

Serial.print(F(“Hello World”))

Yup, I'd go with RAM over-use too.

you want me to change all over the code when I have serial.print&client.print to this command ?

what does this command do?

I have remove some print massage - and now it's working !
thanks ,
but can you explain to me the problem?
how can I know when I'm over the edge ?

you don't know how did you save me!!!!!

now I want to learn why this happened

All the constant strings use up RAM.
The "F()" macro tells the compiler to leave them in flash.

so it's a better idea to do this ?
if I have many print?

I want to know how can I know when I pass the limit?
so I will know when to start using (F("test"))?
is there any why to check before upload?

Thanks ,

so I will know when to start using (F("test"))?

You know when to use the F() macro when you open a blank IDE page.

this I understand now - but no other way?
also do I have to use it on all print? Serial&client?