Hard fault after loading application with IAP
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2010-07-20 7:24 AM
Posted on July 20, 2010 at 16:24
Hard fault after loading application with IAP
This discussion is locked. Please start a new topic to ask your question.
4 REPLIES 4
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2011-05-17 4:59 AM
Posted on May 17, 2011 at 13:59
some code would be useful! Please provide the code you use to do the jump.
Are you sure interrupts are disabled before the jump?.Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2011-05-17 4:59 AM
Posted on May 17, 2011 at 13:59
Yes, interrupts are disabled before jump. Anyway, I found the source of the problem - changing some settings in NVIC which are different from reset state.
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2011-05-17 4:59 AM
Posted on May 17, 2011 at 13:59
Hello,
I have a similar problem (I try to run freeRTOS after an other OS). What is the problem with changing some NVIC settings? PS: also if you know can you teach me about the SVC instruction (I know this is equivalent to SWI but I don't understand where it jumps and why). Thank you.Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2011-05-17 4:59 AM
Posted on May 17, 2011 at 13:59
Hello,
I was getting the hard fault after enabling USART2 IRQ in NVIC - I am not sure if this or combination of this with other setting caused the hard fault. The point is that jumping from the bootloader to application should be done with register settings as close as possible to register settings after reset. Upon calling SVC instruction, CPU enters supervisor mode and jumps to the SVC handler which should have a reference in the vector table.