Greetings.
I am having trouble with the CC2530, IAR and Z-Stack.
I would like to force a the use of the "Primary IEEE" identifier in Z-Stack. I wish to do this because I have found that when I compile the code in IAR and then put it on multiple boards, the MAC address is always the same. I am sure that it is due to the following from the "Z-Stack User's Guide - CC2530DB.pdf", section 7.2:
<verbatum>
Every ZigBee device requires a unique 64-bit IEEE address. Z-Stack uses the following four-level hierarchy to determine the IEEE address that will be used for the device when it operates:
1) Read from Z-Stack non-volatile memory
2) Look-up from Secondary IEEE location
3) Look-up from Primary IEEE location
4) Create temporary using random number generation
Under normal circumstances, when a Z-Stack device boots up, it reads the IEEE address from non-volatile memory (NV) that was stored during a previous “run” of the device. NV memory retains parameters, including the IEEE address, for occasions when the device resets, typically after a power failure. The IEEE address in NV memory gets saved under 3 possible scenarios – initially from steps 2-3 of the hierarchy listed above, or later by delivery from an external source (such as via serial I/O from a PC-hosted program like Z-Tool).
</verbatum>
The above leads me to believe that MAC was coded upon compile, and is then always being read. This is the behavior is see and I have confirmed this behavior across 10 boards where I can successfully read the IEEE primary address in the TI programmer, so it is just being ignored as when I snoop the devices they all have the same MAC address. If I compile the program each time and program the board though the IAR debugger, I see the MAC boardcast to be the Primary IEEE that I see in the TI programmer. I have attempted to the "retain IEEE address" option in the TI programmer, but at this point am not interested in the elegant solution as I've exhausted my resources. I was hoping that there would be a compile option to force the use of the IEEE primary address, but I was unable to find it. The "Z-Stack Compile Options.pdf" lists compile options but most are not described by the "Z-Stack Developer's Guild.pdf" as specified by "Z-Stack Compile Options.pdf".
In summary, I wish to force only using the "Primary IEEE location" for the MAC in Z-Stack using the IAR compiler.
Any help would be greatly appreciated.
--bpd