⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kgdb.c

📁 嵌入式系统设计与实例开发实验教材二源码 多线程应用程序设计 串行端口程序设计 AD接口实验 CAN总线通信实验 GPS通信实验 Linux内核移植与编译实验 IC卡读写实验 SD驱动使
💻 C
字号:
/* *  linux/arch/mips/philips/nino/kgdb.c * *  Copyright (C) 2001 Steven J. Hill (sjhill@realitydiluted.com) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * *  Kernel debugging on the Philips Nino. */#include <asm/system.h>#include <asm/tx3912.h>static int remoteDebugInitialized = 0;void debugInit(void){/* * If low-level debugging (before GDB or console operational) is * configured, then we do not need to re-initialize the UART. */#ifndef CONFIG_DEBUG_LL	earlyInitUartPR31700();#endif}char getDebugChar(void){	char buf;	unsigned long int2, flags;	if (!remoteDebugInitialized) {		debugInit();		remoteDebugInitialized = 1;	}	save_and_cli(flags);	int2 = IntEnable2;	IntEnable2 = 0;	while(!(UartA_Ctrl1 & UART_RX_HOLD_FULL));	buf = UartA_Data;	IntEnable2 = int2;	restore_flags(flags);	return buf;	}int putDebugChar(char c){	int i;	unsigned long int2;	if (!remoteDebugInitialized) {		debugInit();		remoteDebugInitialized = 1;	}	int2 = IntEnable2;	IntEnable2 &=		~(INT2_UARTATXINT | INT2_UARTATXOVERRUN | INT2_UARTAEMPTY);	for (i = 0; !(IntStatus2 & INT2_UARTATXINT) && (i < 10000); i++);	IntClear2 = INT2_UARTATXINT | INT2_UARTATXOVERRUN | INT2_UARTAEMPTY;	UartA_Data = c;	for (i = 0; !(IntStatus2 & INT2_UARTATXINT) && (i < 10000); i++);	IntClear2 = INT2_UARTATXINT | INT2_UARTATXOVERRUN | INT2_UARTAEMPTY;	IntEnable2 = int2;	return 1;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -