Subversion Repositories NaviCtrl

Compare Revisions

Ignore whitespace Rev 376 → Rev 377

/trunk/libstr91x/src/91x_it.c
25,6 → 25,7
#include "fat16.h"
#include "main.h"
#include "uart1.h"
#include "stdio.h"
 
 
extern void USB_Istr(void);
43,9 → 44,11
* Output : None
* Return : None
*******************************************************************************/
void Undefined_Handler(void) __attribute__ ((naked));
void Undefined_Handler(void)
{
UART1_PutString("\r\nUndefined Handler");
UART1_PutString("\n\rUndefined Instrution");
while(1)
{
// infinite loop
68,9 → 71,21
* Output : None
* Return : None
*******************************************************************************/
void Prefetch_Handler(void) __attribute__ ((naked));
void Prefetch_Handler(void)
{
UART1_PutString("\r\nPrefetch Handler");
register u_long *lnk_ptr;
 
__asm__ __volatile__
(
"sub lr, lr, #0\n"
"mov %0, lr" : "=r" (lnk_ptr)
);
u8 text[100];
 
sprintf(text, "\n\rPrefetch Abort at %p 0x%08lX\n", lnk_ptr, *(lnk_ptr));
UART1_PutString(text);
 
while(1)
{
// infinite loop
83,9 → 98,21
* Output : None
* Return : None
*******************************************************************************/
void Abort_Handler(void) __attribute__ ((naked));
void Abort_Handler(void)
{
UART1_PutString("\r\nAbort Handler");
register u_long *lnk_ptr;
 
__asm__ __volatile__
(
"sub lr, lr, #8\n"
"mov %0, lr" : "=r" (lnk_ptr)
);
u8 text[100];
 
sprintf(text, "\n\rData Abort at %p 0x%08lX\n", lnk_ptr, *(lnk_ptr));
UART1_PutString(text);
while(1)
{
// infinite loop