Thank you for your help. On the OAD PDF file it says "If the OAD Target determines that the image available for OAD is better than its own, the OAD Target will initiate the OAD process by notifying the Image Block Transfer characteristic to the OAD Manager. ". How does it determine that it is better?
1. How does it determine that it is better?
2. What message exactly should the OAD Manager send to Image Identify? It says "The message data will be the image header of the image that is available for OAD" so is it going to be a 16 byte message?
typedef struct {
uint16 crc0;
uint16 crc1;
uint16 ver;
uint16 len;
uint8 uid[4];
uint8 res[4];
} img_hdr_t;
3. How do I check if the notification? In the document, it says "The OAD Target will initiate the OAD process by notifying the Image Block Transfer characteristic to the OAD Manager".
4. How can I set the CRC value "the 2-byte CRC matches the 2-byte CRC shadow, then the image is commissioned to run immediately." but it also says that CRC shadow must be 0xFFFF and crc0 cannot be 0x0000 or 0xFFFF.
5. How does the cc2541 know which image I am trying to overwrite/update?