We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
The bottom bit in the address of a BX instruction is used to encode the "eXchange" - the state change from ARM to Thumb. So the address you feed the BX instruction looks fine.I would check the following:Does the destination address exist (i.e. is it mapped in the MMU)?[list]YesDoes the destination address contain code (i.e. is it mapped as executable in the MMU)?YesDoes the destination address contain an instruction which is valid encoding for the current instruction set?YesIf you are using ARM and Thumb code make sure it is all compiled for "interworking"YesCheck the Fault Status Register in CP15 - this will give more info about why an abort was raised.Status is 0x7; TTBR0 - 0xB7568B58, CR - 0x00457B7DStatus 0x7 translates to b0111 - Translation Fault. How the cpu can crash during translation?[/list]What platform are you running on, and which core revision?Cheers, Iso