Arm Community
Site
Search
User
Site
Search
User
Support forums
Arm Development Studio forum
Debugging a Usage Fault for an unaligned memory access
Jump...
Cancel
Locked
Locked
Replies
2 replies
Subscribers
118 subscribers
Views
4171 views
Users
0 members are here
Options
Share
More actions
Cancel
Related
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion
Debugging a Usage Fault for an unaligned memory access
gamze mazlum
over 12 years ago
Note: This was originally posted on 4th July 2013 at
http://forums.arm.com
Hi,
I am experiencing a hard fault in Cortex M3.
After reading some topics in forums and blogs, I added the following code for analyze the problem.
void hard_fault_handler_c(unsigned int * hardfault_args)
{
unsigned int stacked_r0;
unsigned int stacked_r1;
unsigned int stacked_r2;
unsigned int stacked_r3;
unsigned int stacked_r12;
unsigned int stacked_lr;
unsigned int stacked_pc;
unsigned int stacked_psr;
stacked_r0 = ((unsigned long) hardfault_args[0]);
stacked_r1 = ((unsigned long) hardfault_args[1]);
stacked_r2 = ((unsigned long) hardfault_args[2]);
stacked_r3 = ((unsigned long) hardfault_args[3]);
stacked_r12 = ((unsigned long) hardfault_args[4]);
stacked_lr = ((unsigned long) hardfault_args[5]);
stacked_pc = ((unsigned long) hardfault_args[6]);
stacked_psr = ((unsigned long) hardfault_args[7]);
printf ("[Hard fault handler]\n");
printf ("R0 = %x\n", stacked_r0);
printf ("R1 = %x\n", stacked_r1);
printf ("R2 = %x\n", stacked_r2);
printf ("R3 = %x\n", stacked_r3);
printf ("R12 = %x\n", stacked_r12);
printf ("LR = %x\n", stacked_lr);
printf ("PC = %x\n", stacked_pc);
printf ("PSR = %x\n", stacked_psr);
printf ("CFSR = %x\n", (*((volatile unsigned long *)(0xE000ED28))));
printf ("HFSR = %x\n", (*((volatile unsigned long *)(0xE000ED2C))));
while(1);
}
__asm void Hard_Fault_Handler(void)
{
TST LR, #4
ITE EQ
MRSEQ R0, MSP
MRSNE R0, PSP
B hard_fault_handler_c
}
However, I am still not able to figure out which is causing the hard fault.
I need a lot of help, I will be very grateful. I can provide more information if needed.
In attachments, there are register's and fault report's print screens.
Thank you
Regards,
Parents
gamze mazlum
over 12 years ago
Note: This was originally posted on 4th July 2013 at
http://forums.arm.com
In addition, I'm using Keil.
Cancel
Vote up
0
Vote down
Cancel
Reply
gamze mazlum
over 12 years ago
Note: This was originally posted on 4th July 2013 at
http://forums.arm.com
In addition, I'm using Keil.
Cancel
Vote up
0
Vote down
Cancel
Children
No data