FreeCalypso > hg > freecalypso-citrine
diff serial/debug.c @ 0:75a11d740a02
initial import of gsm-fw from freecalypso-sw rev 1033:5ab737ac3ad7
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 09 Jun 2016 00:02:41 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/serial/debug.c Thu Jun 09 00:02:41 2016 +0000 @@ -0,0 +1,49 @@ +/* + * This module is a FreeCalypso addition for very low-level debugging. + * The functions implemented in this module produce "forced" serial output + * on the RVTMUX UART without going through the normal RV trace mechanism. + * Calls to these FC debug functions should be added during difficult + * debug sessions, but should never remain in stable checked-in code: + * these functions are too disruptive to be used in "production" fw images. + */ + +#include "../include/config.h" +#include "../include/sys_types.h" + +#include "serialswitch.h" + +#include <string.h> + +freecalypso_raw_dbgout(char *string) +{ + char *p; + int l, cc; + + p = string; + l = strlen(p); + while (l) { + cc = SER_tr_WriteNBytes(SER_LAYER_1, p, l); + p += cc; + l -= cc; + } +} + +#if 0 +freecalypso_lldbg_intinfo() +{ + char strbuf[128]; + extern unsigned IQ_TimerCount2; + extern unsigned TMD_System_Clock; + extern unsigned INT_Check_IRQ_Mask(); + + sprintf(strbuf, "*CPSR=%08x, IQ_TimerCount2=%u, TMD_System_Clock=%u", + INT_Check_IRQ_Mask(), IQ_TimerCount2, TMD_System_Clock); + freecalypso_raw_dbgout(strbuf); +} + +freecalypso_nucidle_dbghook() +{ + freecalypso_raw_dbgout("*In Nucleus idle loop"); + freecalypso_lldbg_intinfo(); +} +#endif