Write new IEEE (MAC) Address in cc2531 using alternative flashing method flash_cc2531 #547
                  
                    
                      FilipDem
                    
                  
                
                  started this conversation in
                Show and tell
              
            Replies: 0 comments
  
    Sign up for free
    to join this conversation on GitHub.
    Already have an account?
    Sign in to comment
  
        
    
Uh oh!
There was an error while loading. Please reload this page.
-
Hi all,
A problem coming up often...
I also started with a cc2531 as coordinator and replaced it afterwards with a more performant coordinator. To avoid repairing all the devices, I copied the IEEE from the cc2531 to the new coordinator...
Afterwards I wanted to use the cc2531 as router, but guess... A conflict in IEEE addresses (which is normal). As I don't have a cc debugger device and using an alternative flashing method with the raspberry pi there was no way to program a new IEEE Address in the IEEE... And the flash_cc2531 tool doesn't support writing the IEEE Address...
After some investigation I found the solution...
While the Primary IEEE Address is programmed in the factory, basically the cc2531 supports also a Secondary IEEE Address. If this Secondary IEEE Address is programmed, this gets priority over the primary IEEE Address. As the Primary IEEE Address was copied to the new coordinator, I just needed to program a Secondary IEEE Address in flash memory, stored at the end of the flash memory. For the cc2531, this is at address 0x3FEE8.
But how to achieve this without changing the flash_cc2531 tool? Just change the hex file...
I took the cc2531 firmware, HEX file and patched it by adding a record to write a Secondary IEEE Address at 0x3FEE8. The IEEE Addresses are 8 bytes long and I created it myself. More technical information about the HEX file can be found here.
This means that I had to add 2 HEX records.
In summary: to write the Secondary IEEE Address 6d68890e004b1200, edit the HEX file (use a simple text editor).
The original CC2531_router_2020_09_29.hex contains as last 4 records:
Just insert the 2 above defined records as below
Program then the new hex file using the instructions alternative flashing method with the raspberry pi, ie cc_chipid, cc_erase and cc_write.
Hope this helps other people.
Filip
Beta Was this translation helpful? Give feedback.
All reactions