- bootloader prepared for use mit mips debugger
- changed address of debugger entry - mips_dbg: no use om memset and memcpy git-svn-id: http://moon:8086/svn/mips@120 a8ebac50-d88d-4704-bea3-6648445a41b3
This commit is contained in:
@@ -20,7 +20,7 @@ int gdb_stub(struct xcptcontext * xcp)
|
||||
return 0;
|
||||
}
|
||||
#ifdef WITH_ROM_GDBSTUB
|
||||
const fp_xcpt_t dbg_func = (fp_xcpt_t)0xbfc01f00;
|
||||
const fp_xcpt_t dbg_func = (fp_xcpt_t)0xbfc01fc0;
|
||||
#else
|
||||
const fp_xcpt_t dbg_func = (fp_xcpt_t)gdb_stub;
|
||||
#endif
|
||||
|
||||
@@ -20,7 +20,7 @@ int gdb_stub(struct xcptcontext * xcp)
|
||||
return 0;
|
||||
}
|
||||
#ifdef WITH_ROM_GDBSTUB
|
||||
const fp_xcpt_t dbg_func = (fp_xcpt_t)0xbfc01f00;
|
||||
const fp_xcpt_t dbg_func = (fp_xcpt_t)0xbfc01fc0;
|
||||
#else
|
||||
const fp_xcpt_t dbg_func = (fp_xcpt_t)gdb_stub;
|
||||
#endif
|
||||
|
||||
+17
-4
@@ -120,16 +120,29 @@ void dbg_strcpy(char *pDst, const char *pSrc)
|
||||
*pDst = *pSrc;
|
||||
}
|
||||
|
||||
void* dbg_memset(void *pBuffer, int value, size_t size)
|
||||
void* dbg_memset(void *pDst, int value, size_t size)
|
||||
{
|
||||
char *pData = (char*)pBuffer;
|
||||
char *dst = (char*)pDst;
|
||||
|
||||
while(size)
|
||||
{
|
||||
*(pData++) = (char)value;
|
||||
*(dst++) = (char)value;
|
||||
size--;
|
||||
}
|
||||
return (void*)pData;
|
||||
return (void*)dst;
|
||||
}
|
||||
|
||||
void* dbg_memcpy(void *pDst, const void *pSrc, size_t size )
|
||||
{
|
||||
char *dst = (char*)pDst;
|
||||
char *src = (char*)pSrc;
|
||||
|
||||
while(size)
|
||||
{
|
||||
*(dst++) = *(src++);
|
||||
size--;
|
||||
}
|
||||
return (void*)dst;
|
||||
}
|
||||
|
||||
/************************************************************************/
|
||||
|
||||
+35
-4
@@ -58,7 +58,6 @@ static bp_t mgmt_bp_ru[2];
|
||||
static int g_is_ss;
|
||||
static int g_bp_count;
|
||||
|
||||
#if 1
|
||||
extern void dbg_putchar(char c);
|
||||
extern char dbg_getchar();
|
||||
|
||||
@@ -148,7 +147,39 @@ void dbg_print_word_d(int word)
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
void dbg_strcpy(char *pDst, const char *pSrc)
|
||||
{
|
||||
while(*pSrc)
|
||||
{
|
||||
*(pDst++) = *(pSrc++);
|
||||
}
|
||||
*pDst = *pSrc;
|
||||
}
|
||||
|
||||
void* dbg_memset(void *pDst, int value, size_t size)
|
||||
{
|
||||
char *dst = (char*)pDst;
|
||||
|
||||
while(size)
|
||||
{
|
||||
*(dst++) = (char)value;
|
||||
size--;
|
||||
}
|
||||
return (void*)dst;
|
||||
}
|
||||
|
||||
void* dbg_memcpy(void *pDst, const void *pSrc, size_t size )
|
||||
{
|
||||
char *dst = (char*)pDst;
|
||||
char *src = (char*)pSrc;
|
||||
|
||||
while(size)
|
||||
{
|
||||
*(dst++) = *(src++);
|
||||
size--;
|
||||
}
|
||||
return (void*)dst;
|
||||
}
|
||||
|
||||
int IsBreak(uint32_t instr)
|
||||
{
|
||||
@@ -303,7 +334,7 @@ int dbg_handler(struct xcptcontext * xcp)
|
||||
|
||||
if (g_state = STATE_INIT)
|
||||
{
|
||||
memset(&xcp_last, 0, sizeof(EXCEPTION_CONTEXT));
|
||||
dbg_memset(&xcp_last, 0, sizeof(EXCEPTION_CONTEXT));
|
||||
}
|
||||
|
||||
dbg_puts_d("\n");dbg_puts_d(g_state_names[g_state]);dbg_puts_d("\n");
|
||||
@@ -585,7 +616,7 @@ int dbg_handler(struct xcptcontext * xcp)
|
||||
}
|
||||
} while (!leave_isr);
|
||||
|
||||
memcpy(&xcp_last, xcp, sizeof(EXCEPTION_CONTEXT));
|
||||
dbg_memcpy(&xcp_last, xcp, sizeof(EXCEPTION_CONTEXT));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user