PDA

View Full Version : Software protection?



Christopher4187
- 21st February 2006, 10:41
Hi,

I know you can protect the code on the PIC IC so nobody can take it out and look at the code. My question is, can you protect or hide the code so when you give it to a customer they can load the program but not see it? In other words, if I create a software update would the customer always have to see the code to be uploaded? Is there another method to load software where a screen isn't involved?

Thanks,

Chris

mischl
- 21st February 2006, 10:55
hi

depending of the PIC you use, you can work work with a bootloader. see http://www.mecanique.co.uk/products/pic-prog/bootloader.html

programming one time the bootloader with a programmer, allows you then to load your programm over serial connection.
the customer so can load over serial connection the hex file he get from you. he see only the hex file

i'm not sure if there is a way to change back the hex file into an asm file....

Acetronics2
- 21st February 2006, 11:08
hi

i'm not sure if there is a way to change back the hex file into an asm file....


Just select the correct processor in the "configure" menu, and load HEX in the MPLAB's " Program window" ...


and click "symbolic" ... on the lower left tabs ...
That's all !!!

I often use it to modify existing programs without having the source ...

Detail, if you want to save the modified HEX ... think to program a device before !!!

Alain

languer
- 21st February 2006, 20:19
As previously stated, you should hand the customer the HEX file and they would program it in the PIC. In fact that's the only way you can program a PIC (with the exception of the bootloader). Thus the whole reason for compilers, you compile from ASM to HEX, or from BASIC->ASM->HEX (or from C->ASM->HEX), but the end result is alway HEX.

With that said, you will always need some sort of screen, cause you always need the PC. Now if you created some sort of interpreter (like STAMP), you could program a memory and would not have to reprogram the PIC. But you still have to program the memory with guess what, a HEX file (or binary in some cases). You could even create a wireless interface, but the requirement for the HEX file is always there.

So in short, HEX is the way to go. Unless you have some previous arrangement where you're required to hand in the source code, you only give the compiled code (i.e. HEX, just like an EXE for Windows). Sure there are HEX->ASM dissasemblers. But if your customer is that desperate, and they have the will and resources to go through a bunch of odd looking assembly code after it's been dissasembled, let them go at it. I would not worry. If you just created a super-duper PIC application, you should be doing the upgrades and not the customer.

BobK
- 22nd February 2006, 03:12
Hi,

Has anyone given any thought to just burning a new chip with the code protected and SELLING it to the customer? This is a great idea unless of course you are using SMT chips. But when you design your product and PCB you should have this idea in mind. Install a socket for the PIC and Sell upgrades. Your investment in a chip is between $5 to $10 and a few minutes preping a new chip. You sell this "UPGRADE" for $75 or $100 or whatever its worth to you and everyone makes money.

BobK