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 |