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 CCS Technical Support

BootLoader Project

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



Joined: 18 Oct 2003
Posts: 145

View user's profile Send private message

BootLoader Project
PostPosted: Sat May 21, 2005 5:53 pm     Reply with quote

Hi,

I want to develop a BootLoader for the PIC18 family, we have some projects and I need to download new firmware without ICD, this project connect with other device by Serial Line (RX/TX only, not other control line).

I want to implement some special function in the bootloader, some feature are:

1) Encrypted Code: I need to send my .hex encrypted and the bootloader decrypt this and put into the flash memory.

2) Command Protocol:
I want that this bootloader support some command, for example: version information, download, etc.

3) Save version information: I want to save in the eeprom version and download information, and when the bootloader start check if the last download is correct, if is correct wait a download time and if not wait forever for a bootloader command.

I search in the web for two days but I not found some bootloader in C that work with my 18F8720 - 25Mhz.

My question is:

1) What is the size limit for a BootLoader?
2) Exist somebody can tell me some information for develop this bootloader or documentation for understand the bootloader process?
3) Exist somebody that want work with me in this project?
4) Exist somebody that have some source code for start?

My idea is make a robust bootloader and put this code free in the web for the PIC user.

I wait for your answer. Thank you very much!!

Best Regards,
ckielstra



Joined: 18 Mar 2004
Posts: 3680
Location: The Netherlands

View user's profile Send private message

PostPosted: Sun May 22, 2005 7:45 am     Reply with quote

Quote:
1) Encrypted Code: I need to send my .hex encrypted and the bootloader decrypt this and put into the flash memory.
Quote:
My idea is make a robust bootloader and put this code free in the web for the PIC user.
This is a contradiction. You want to encrypt your code but place the algorithm in the public domain? This will make your encryption worthless.
In my program I have thought about implementing encryption in order to prevent the competition from reverse engineering my code. Then I realized the hex-file is all assembly, not a high level language like C. If the competition is smart enough to go through all the trouble of reverse engineering my code they can much faster write their own program. For my application I concluded it wasn't worth the effort of incorporating encryption.

Quote:
1) What is the size limit for a BootLoader?
No real limitation, except for available program memory. Some people like to protect their bootloader against accidental overwrites by placing it in a memory section with a code protect flag. Microchip has provided a 512 byte memory segment at address 0 for this purpose.

Quote:
2) Exist somebody can tell me some information for develop this bootloader or documentation for understand the bootloader process?
I can recommend to read the info page of the Tiny PIC Bootloader. Here you will find a good introduction on PIC bootloaders and a short comparison of 15 different bootloaders.
future



Joined: 14 May 2004
Posts: 330

View user's profile Send private message

PostPosted: Sun May 22, 2005 4:02 pm     Reply with quote

Quote:
In my program I have thought about implementing encryption in order to prevent the competition from reverse engineering my code. Then I realized the hex-file is all assembly, not a high level language like C. If the competition is smart enough to go through all the trouble of reverse engineering my code they can much faster write their own program. For my application I concluded it wasn't worth the effort of incorporating encryption.


What about cheap copies of your product?
ckielstra



Joined: 18 Mar 2004
Posts: 3680
Location: The Netherlands

View user's profile Send private message

PostPosted: Sun May 22, 2005 4:24 pm     Reply with quote

future wrote:
Quote:
In my program I have thought about implementing encryption in order to prevent the competition from reverse engineering my code. Then I realized the hex-file is all assembly, not a high level language like C. If the competition is smart enough to go through all the trouble of reverse engineering my code they can much faster write their own program. For my application I concluded it wasn't worth the effort of incorporating encryption.


What about cheap copies of your product?
I said for my application this isn't a big issue, for other applications it might be different. We create relative small series with dedicated hardware. Anyone copying our design without understanding it is taking a huge risk from a bussiness point of view. I know we take a small risk, but it's not worth the troubles that encryption will give us.
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