> Harold Hallikainen wrote: >> I wrote a bootloader for the 24H. CodeGuard is interesting. Once code >> protect is enabled for the bootloader, the general segment can only call >> code in the first 32 words (or something like that) of the boot segment. >> Anything else will cause a fault. Also, interrupt vectors are redirected >> when the processor is executing in the boot segment. My bootloader is a >> web post bootloader, so it uses the TCP/IP stack to put the new code in >> external flash, then copy the external flash to internal. The code to >> deal >> with internal and external flash are in the boot segment. Since it would >> be possible to bootload bad code into the general segment that would >> then >> keep the TCP/IP stack from running (and preventing further bootloads), I >> have another copy of the original code (factory installed) in the >> external >> flash. Inside the box, you short two pins on a header and power the unit >> up to reload that original code. >> >> So, CodeGuard is interesting. A bit of a pain to work with if you have >> to >> call the boot segment from outside or are using interrupts. > > So does this mean that you don't encrypt the updates? This was the second > part of my original question. :) > > Vitaliy Yes, this means I don't encrypt updates. Updates are emailed to individual technicians in the field instead of being put on a website. There is the danger of them being passed around, but I don't think it's worth while for someone to reverse engineer our hardware. I may want to do some sort of encryption in the future. I know Microchip has a library for that, but have not looked at it. Harold FCC Rules Updated Daily at http://www.hallikainen.com - Advertising opportunities available! -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist