Currently I am working in a system composed by an uC (PIC18) which is able to be updated over the air.
When I want to update a device, I send the firmware (.bin) by air and it is stored in an EEPROM. Then, the uC reads this EEPROM and flashes itself.
The problem is that I have different HW versions which have the same updating system, so it is easy to have a mistake when you send a new firmware. I mean that there is the possibility of sending a wrong firmware version to this HW version, so the system will broke down.
For this reason, I would like to store in a specific location of this .bin a key/code that only knows the uC bootloader depending on the HW version in order to avoid wrong updates.
I think that I have to set this configuration in the compiler (Hi-Tech PIC18) but I am no sure at all.
Could anyone advise me with this topic?