CCS C Software and Maintenance Offers
FAQFAQ   FAQForum Help   FAQOfficial CCS Support   SearchSearch  RegisterRegister 

ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

CCS does not monitor this forum on a regular basis.

Please do not post bug reports on this forum. Send them to support@ccsinfo.com

Program memory writing takes awfully long time...

 
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion
View previous topic :: View next topic  
Author Message
arunb



Joined: 08 Sep 2003
Posts: 492
Location: India

View user's profile Send private message Send e-mail

Program memory writing takes awfully long time...
PostPosted: Thu Jul 30, 2009 5:45 am     Reply with quote

MCU: 18F4620

Is there any way of speeding up the program memory writing speed.

I am using the tiny bootloader, to write program data, but the writing process takes terribly long time.. (about 48 minutes for a 60 KB program)

Is this normal ???

I modified the original bootloader so that it could communicate using RS485, I then developed a VB program that outputted program data to the PIC.

thanks
arunb
FvM



Joined: 27 Aug 2008
Posts: 2337
Location: Germany

View user's profile Send private message

PostPosted: Thu Jul 30, 2009 5:56 am     Reply with quote

Quote:
Is this normal ???
No. Someting apparently has gone wrong in your application. You may want to find out which step is wasting most of the time.
Ttelmah
Guest







PostPosted: Thu Jul 30, 2009 8:48 am     Reply with quote

The actual 'timing', should be about 66mSec, to send 64 bytes, assuming 9600bps comms, then 6mSec to erase/program this, giving 72mSec/64 bytes. The transmission must stop during the write. So the total time required to handle the 64K of memory, is about 74 seconds. The limiting factor, is the serial comms. Run this at only 300bps, and the time leaps to 2191 seconds. Suspiciously close to the figure you are talking about... Beware also, that the code should handle the memory in 64byte blocks. if instead it is writing in bytes, then the entire block has to be read, erased, one byte modified in the stored value, and written back, for each byte. Not only vastly slower, but also rapidly using up the 'write life' of the program memory.....

Best Wishes
Display posts from previous:   
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group