Quantcast
Viewing all articles
Browse latest Browse all 116964

Forum Post: RE: CC2530 OAD questiions

You can make the image smaller by removing the "code fill" by reducing the size of the available flash space in the linker file. You will also need to change the address range of the CRC calculation in the linker file as well as in the OAD application .c code. I recommend that you still use a multiple of a complete flash page and not try to shave off even more.

The proprietary OAD is a client server architecture specifically designed with the idea of this faster peer-to-peer OAD transfer in mind. For simplicity, imagine a linear network in which ZC 0x0000 has ZR 0x0001 and ZR 0x0002 is even out of radio range of the ZC. The ZOAD dongle is next to ZC, and makes the OAD of a router image to 0x0001. Once all is finished, the ZR 0x0001 can be given the command to enable that code or not. Whether or not the code is to be used by 0x0001, ZR 0x0001 can now be a server of this code image. You will issue the Client Command to 0x0002, telling it to go fetch the image from ZR 0x0001. Look in the OAD code for how this is used:

//   CLIENT COMMAND
//       Command
PACK_1
typedef struct  {
  uint16 zlclC_ver;
  uint16 zlclC_manu;
  uint16 zlclC_prod;
  uint8  zlclC_IEEE[Z_EXTADDR_LEN];
  uint16 zlclC_nwk;
  uint8  zlclC_endp;
} zlclientC_t;

I will look around and try to find a Z-Tool script that issues the client command via the ZOAD dongle. But the info above can give you a great start for now.

 


Viewing all articles
Browse latest Browse all 116964

Trending Articles