View previous topic :: View next topic |
Author |
Message |
cfernandez
Joined: 18 Oct 2003 Posts: 145
|
BootLoader Project |
Posted: Sat May 21, 2005 5:53 pm |
|
|
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
|
|
Posted: Sun May 22, 2005 7:45 am |
|
|
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
|
|
Posted: Sun May 22, 2005 4:02 pm |
|
|
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
|
|
Posted: Sun May 22, 2005 4:24 pm |
|
|
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. |
|
|
|