コード例 #1
0
ファイル: start.c プロジェクト: tkgunji/RCU2_soft
static void __attribute__((used)) dump_ctx(unsigned int *ctx)
{
	static char *regs[] = {
		"R0", "R1", "R2", "R3", "R12", "LR", "PC", "PSR"
	};
	static char *exc[] = {
		0,
		0,
		"NMI",
		"HARD FAULT",
		"MEMORY MANAGEMENT",
		"BUS FAULT",
		"USAGE FAULT",
		"RESERVED",
		"RESERVED",
		"RESERVED",
		"RESERVED",
		"SVCALL",
		"DEBUG MONITOR",
		"RESERVED",
		"PENDSV",
		"SYSTICK",
};
	unsigned char vec = cortex_m3_irq_vec_get();
	int i;

	printf("UNHANDLED EXCEPTION: ");
	if (vec < 16) {
		printf("%s\n", exc[vec]);
	} else {
		printf("INTISR[%d]\n", vec - 16);
	}
	for (i = 0; i < 8; i++) {
		printf("  %s\t= %08x", regs[i], ctx[i]);
		if (((i + 1) % 2) == 0) {
			printf("\n");
		}
	}
	/*
	printf(" IRQ from DDR memory \n");
	
	printf("ddr->ddrc.MODE_CR = 0x%x\n",
	       *g_m2s_ddrc_0_config[0].p_reg);

	printf("ddr->ddrc.SINGLE_ERR_CNT_STATUS_SR = 0x%x\n",
	       *g_m2s_ddrc_0_config[1].p_reg);
	       
	printf("ddr->ddrc.DOUBLE_ERR_CNT_STATUS_SR = 0x%x\n",
	       *g_m2s_ddrc_0_config[2].p_reg);

	printf("ddr->ddrc.ECC_INT_SR = 0x%x\n",
	       *g_m2s_ddrc_0_config[3].p_reg);
	       */

}
コード例 #2
0
ファイル: start.c プロジェクト: dienbk7x/u-boot
/*
 * Dump the registers on an exception we don't know how to process.
 */
static void __attribute__((used)) dump_ctx(unsigned int *ctx)
{
	static char *regs[] = {
		"R0", "R1", "R2", "R3", "R12", "LR", "PC", "PSR"
	};
	static char *exc[] = {
		0,
		0,
		"NMI",
		"HARD FAULT",
		"MEMORY MANAGEMENT",
		"BUS FAULT",
		"USAGE FAULT",
		"RESERVED",
		"RESERVED",
		"RESERVED",
		"RESERVED",
		"SVCALL",
		"DEBUG MONITOR",
		"RESERVED",
		"PENDSV",
		"SYSTICK",
};
	unsigned char vec = cortex_m3_irq_vec_get();
	int i;

	printf("UNHANDLED EXCEPTION: ");
	if (vec < 16) {
		printf("%s\n", exc[vec]);
	} else {
		printf("INTISR[%d]\n", vec - 16);
	}
	for (i = 0; i < 8; i++) {
		printf("  %s\t= %08x", regs[i], ctx[i]);
		if (((i + 1) % 2) == 0) {
			printf("\n");
		}
	}
}