How can I handle '!!! xxxerror'(reboot) and find reason?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How can I handle '!!! xxxerror'(reboot) and find reason?

1,159 Views
1039521082
Contributor II

We meet three unexpected error and reboot. They are  (1)!!! bus error, (2)!!! Alignment error, (3)Unclaimed Interrupt

And our environment is introduced in https://community.nxp.com/message/1185211

1.!!! Bus error

Our Coord connect with host via Uart1, and pass Zigbee Packet between host and child. The largest number of wireless packet can up to 30 packets per second.  Sometimes, average 12hour, Coord meet Bus error and reboot. 

I dump the content of Stack, and use addr2line. I find the top of Stack is point to some Func(Always the 2nd address value). Can I confirm the question occured when running these Func?

I guess it mat be caused by RF conflict with Uart.  How can I confirm? Or other possible reason?

2.!!! Alignment error

It is appeared under the same circumstance with the above question. But this problem we meet about 2 day per occuring. How can I find reason of this problem?

Stack content of this question shows the function being SDK Func, not application Func. Can I thin this problem caused by SDK?

3.Unclaimed Interrupt

When I init chip, I don't init other peripheral except we using. When this problem appears, How can I confirm which peripheral is interrupted?

I guess I can register every peripheral ISR in PIC_SwVectTable. When some peripheral  interrupted, I can find which peripheral. Does it work?

Labels (2)
4 Replies

905 Views
mario_castaneda
NXP TechSupport
NXP TechSupport

Hi,

Did you try with the JN-AN-1216 Control Bridge or the JN-AN-1217 Base Device?

Could you please capture the packets in the air?

Regards,

Mario

0 Kudos

905 Views
1039521082
Contributor II

Thanks for your reply. I use AN1229 only for Zigbee Pro not 3.0. 

Can you tell me how to analyse this kind of problem? Now I find problem occuring when handle list.

0 Kudos

905 Views
mario_castaneda
NXP TechSupport
NXP TechSupport

Hi Xuanpu,

1.!!! Bus error

I am not sure if you are trying to access a not populated memory. I am assuming that you are working on EEPROM memory. What is the priority that you have in your system?

Could you please provide more details?

2.!!! Alignment error

Alignment exceptions are generated when software attempts to access objects that are not aligned to natural word boundaries. 16-bit objects must be stored on even byte boundaries, while 32-bit objects must be stored on quad byte boundaries. For instance, attempting to read a 16-bit object from address 0xFFF1 will trigger an alignment exception as will a read of a 32-bit object from 0xFFF1, 0xFFF2 or 0xFFF3. Examples of legal 32-bit object addresses are 0xFFF0, 0xFFF4, 0xFFF8 etc.

https://www.nxp.com/docs/en/data-sheet/JN516X.pdf 

3.Unclaimed Interrupt

You are calling or requesting some interrupt from a peripheral that you don't have to initialize, You could look at the next API vUnclaimedInterrupt and be sure that you previously init the peripheral.

Regards,

Mario

0 Kudos

905 Views
1039521082
Contributor II

Hi Mario,

Thanks very much for your help. Now I think I handle this issue.

Before handling, I find that  Bus error and Alignment error occurred when operating list. And I find I didn't align the structure of node in list. So I add  __attribute__ ((aligned(4))) after a structure defined. This is one reason.

Another reason, I find a copy byte over buffer length, which means oversteping the boundary. I fix it.

Thanks again

Best regards

Gu Xuanpu