Thanks for that Bill. I thought they did, but I wasn't sure.All 18F PICs support self programming. An SD card is a good end user option.
Google tiny bootloader
for idea on how the code looks for self programming.
If the SD card is there and it is newer then an update takes place.
Don't know about other people. You have to do what makes sense for you and your organization. You could download files over the internet and pipe them to your devices using a serial port boot loader if you like.Thanks,
So inserting the SD will result in a permanent upgrade? (a transfer) or will the system revert to the on-board program when the SD is removed?
Since current prices on SD's are more than the PIC itself, what about sending a new PIC and have it in a socket, or is that not typically done?
Be aware that once you distribute updates this way, you cannot easily protect the code itself. The code is a code image file on the micro-SD card you gave them. That can be read back with a file reader and disassembled to clone your product.
I don't think you are looking at the economics correctly. At the time of manufacturing the cost is just the SD Socket.
Actually if this matters you can run the data through an encryption routine prior to writing it to the SD card and then within the bootloader code decrypt it. Even a fairly simple algorithm can prevent casual cloning.
Actually if this matters you can run the data through an encryption routine prior to writing it to the SD card and then within the bootloader code decrypt it. Even a fairly simple algorithmn can prevent casual cloning.
I don't see how that will help someone, they won't have the hardware to run it. This is a piece of equipment that is close to $1K. Developing the hardware would be where the money is. The code is trivial. (hell, I'm writing itAn encrypted file can still be copied on any PC.
The way to prevent piracy is to serialize each pic so only an upgrade with the same serial number will work or use some kind of timestamp type encryption. Does the device contain a real time clock?
Mike.
One other point I forgot to mention. A minimally adept customer might need only 1 micro-SD card to update multiple units, further reducing the cost impact if some fraction of you customers have multiple units.
Google Search terms include "PGP" which stands for Pretty Good Privacy and "RSA" after the inventors Rivest, Shamir, and Adelman. They may not be the latest and greatest, but as you said they will impde the casual cloner.
I am working on a similar project in the consumer audio arena and I may have some bandwidth available to contribute to the specifcation, design, and testing of either the hardware or firmware.
That is why I offered to help you; you seem like a good fellow with a boatload of problems, not to mention time pressure to produce.>>>> skill required to get this done
^
^
^
^ (Note the big gap)
^
^
^
^
<<<<< me
The encryption idea sounds cool, but I think it's a bit (OK, WAY) over my head at this point.
Trying to get the SD card bootloader off the ground will be daunting enough. Off to read some more.....
That is why I offered to help you; you seem like a good fellow with a boatload of problems, not to mention time pressure to produce.
I don't see how that will help someone, they won't have the hardware to run it. This is a piece of equipment that is close to $1K. Developing the hardware would be where the money is. The code is trivial. (hell, I'm writing it)
I assumed that you were going to charge for the future upgrade and was trying to point out that an encrypted file can be passed from Paul the plumber to Bob the builder very easily. You could find that a company with 50 employees would buy 1 upgrade and use it 50 times and then post it on the internet. Encryption without serialization will not stop this.
You state you are using an RTC. If you use a Dallas one wire device then these have a serial number built in and could kill two birds with one stone.
Mike.
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?