📄 ut5_errlog.c
字号:
/***************************************************************************
** File name : ut5_errlog.c
** Author : x.cheng
** Create date :
**
** Comment:
** util function used for log message in "jcinx.log"
**
** Revisions:
** $Log: ut5_errlog.c,v $
** Revision 1.1.1.1 2005/07/27 06:53:15 x.cheng
** add into repositories
**
**
***************************************************************************/
#include "const.h"
#include "type.h"
#include "stdarg.h"
#include "string.h"
#include "mem.h"
#include "..\..\Inc\vga.h"
#include "..\..\Inc\hd.h"
#include "..\..\Inc\kernel.h"
#include "..\..\Inc\io.h"
#include "..\..\Inc\fs.h"
#include "..\..\Inc\fat12.h"
#include "..\..\Inc\mts.h"
/**************global variable*****************/
static FILE *gpstFile=NULL;
static unsigned long gulErrlogNr=0;
//////////////////////////////////////////////////////////
//
//
//
//////////////////////////////////////////////////////////
void vWriteErrlogStr(char *szFileName, char *szErrlog)
{
char *szCRLF="\x0d\x0a";
char *szSeperate="-----";
char szBuffer[512];
gulErrlogNr++;
if (gpstFile==NULL)
return;
ksprintf(szBuffer, "%d. %s%s%s%s", gulErrlogNr, szFileName, szSeperate, szErrlog, szCRLF);
uiFAT12WriteFile(gpstFile, szBuffer, strlen(szBuffer) );
}
//////////////////////////////////////////////////////////
//
//
//
//////////////////////////////////////////////////////////
void vWriteErrlogHex(char *szFileName, unsigned char *pucErrlog, unsigned short uiHexLen)
{
char *szCRLF="\x0d\x0a";
char *szBlanks=" ";
char szBuffer[512];
int i, j, k;
gulErrlogNr++;
if (gpstFile==NULL)
return;
/*写调用本函数的文件名 */
ksprintf(szBuffer, "%d. %s%sDUMP memory from: %p, size %d%s", gulErrlogNr, szFileName, szCRLF,
pucErrlog, uiHexLen, szCRLF);
k=strlen(szBuffer);
ksprintf(&szBuffer[k], " offset 0 1 2 3 4 5 6 7 8 9 A B C D E F *0123456789ABCDEF*%s", szCRLF);
uiFAT12WriteFile(gpstFile, szBuffer, strlen(szBuffer) );
for (i=0; i<uiHexLen; i+=16) {
//memset(szBuffer, '\0', 512); 郁闷,没什么作用,有点bug...
ksprintf(szBuffer, "%p ", pucErrlog+i-pucErrlog);
ksprintf(&szBuffer[9], "%02X %02X %02X %02X %02X %02X %02X %02X - %02X %02X %02X %02X %02X %02X %02X %02X ",
pucErrlog[i], pucErrlog[i+1], pucErrlog[i+2], pucErrlog[i+3], pucErrlog[i+4],
pucErrlog[i+5], pucErrlog[i+6], pucErrlog[i+7], pucErrlog[i+8], pucErrlog[i+9],
pucErrlog[i+10], pucErrlog[i+11], pucErrlog[i+12], pucErrlog[i+13],
pucErrlog[i+14], pucErrlog[i+15]);
k=strlen(szBuffer);
ksprintf(&szBuffer[k], "%s", szBlanks);
k=strlen(szBuffer);
for (j=0; j<16; j++) {
if ( pucErrlog[i+j] < ' ' || (pucErrlog[i+j] > 'z') )
ksprintf(&szBuffer[k+j], "%c", '.');
else ksprintf(&szBuffer[k+j], "%c", pucErrlog[i+j]);
}
/*写一行数据 */
uiFAT12WriteFile(gpstFile, szBuffer, strlen(szBuffer) );
uiFAT12WriteFile(gpstFile, szCRLF, strlen(szCRLF) );
}
}
//////////////////////////////////////////////////////////
//
//
//
//////////////////////////////////////////////////////////
void vErrlogInit()
{
char *szBuffer="#THIS IS THE FIRST LINE OF JCINX.LOG...\x0d\x0a";
gpstFile = pstFAT12CreateFile("jcinx.log", 0x10);
uiFAT12WriteFile(gpstFile, szBuffer, strlen(szBuffer) );
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -