TI E2E Community
Low Power RF & Wireless Connectivity
Low Power RF Bluetooth® Low Energy & ANT Forum
CC2540 secondary IEEE address erased during IAR debug
Good morning everyone,
I haven't been able to find the answer to this question on here yet, but I'm sure others have encountered it. Has anyone figured out a way in IAR to preserve the secondary IEEE address while debugging?
When I debug in IAR, the address gets changed to all FF's, and I have to reprogram it with the SmartRF flash programmer.
This is in the "annoyance" category, but after several months of dealing with this I'm deciding to speak up.
I notice that there is an option in IAR to retain certain flash pages, but I'm not sure where this address resides in the CC2540 flash.
Has anyone figured it out?
I just tried and the secondary is preserved after debug with my settings. Is your .xcl linker file set to fill all empty gaps in the hex file with 0xFFFF?
Check for this line below in the linker file and try commenting it out so that other areas of flash remain untouched.
// Fill code gaps with 0xFFFF so that the .hex image produced is full.-HFFFF
By setting the secondary address and reading the memory into a hex file I was able to determine the secondary IEEE location from 0x3FFEA - 0x3FFEF (little endian)
I am also interested in where the primary IEEE addresses resides in flash or otherwise. I posted this question a while back but have had no response.
I didn't see the "fill code gaps" line in my linker file. I am on a 128kB part, so I'm using this linker file from the BLE SDK:
Thanks for sending that secondary IEEE location, I'll try to find out if I can protect them another way.
Regarding the primary IEEE address, I was able to see that information when I view the flash information page in the SmartRF flash programmer software. According to the manual, "The flash information page (2 KB) is mapped into the address range (0x7800–0x7FFF). This is a read-only area and contains various information about the device."
The manual also describes the primary IEEE address for CC2540 as "48-bit IEEE address stored withleast-significant byte first at XDATA address 0x780E."
When the secondary address gets wiped out during my IAR debug, I notice that the TI stack uses the primary instead.
Thanks Chris, don't know how I missed that....
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.