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

📄 board.c

📁 SkyEye是一个可以运行嵌入式操作系统的硬件仿真工具
💻 C
字号:
#include <stdio.h>#include <string.h>#include <stdlib.h>#include "coldfire.h"/* Arnewsh memory map *//* $00000000 - $01FFFFFF DRAM * $10000000 - $100003FF Internal module registers * $20000000 - $200001FF Internal SRAM * $30000000 - $300FFFFF 1Meg space for MC68HC901 * $40000000 - $400FFFFF 1Meg ISA bus area * $FFE00000 - $FFE3FFFF 256K flash rom */static const char *arnewsh_config_data = "board		\"Arnewsh\"\n""cpu		\"5206\"\n""\n""; DRAM is most likely to be accessed\n""ram		name=\"dram\", base=0x0, len=0x00400000\n""\n""; Default core register values\n""reg		VBR=0x0\n""reg		MBAR=0x10000000\n""reg		RAMBAR=0x20000000\n""reg		ROMBAR=0xFFE00000\n""reg		PC=0xFFE00000\n""reg		SP=0x00400000\n""reg		SR=0x2000\n""\n""; Then the SIM, the sim_init initializes the entire sim region, \n"";  so the timer and uart need to go first else we'll never send \n"";  read/writes into them \n""; We also don't need the lengths, the modules know how long they are\n""timer_5206	name=\"timer1\", base=MBAR+0x100, int=9\n""timer_5206	name=\"timer2\", base=MBAR+0x120, int=10\n""uart_5206	name=\"uart1\", base=MBAR+0x140, int=12\n""uart_5206	name=\"uart2\", base=MBAR+0x180, int=13, code=00\n""sim_5206	name=\"sim\", base=MBAR+0x0\n""\n""; Least likely to be accessed\n""dummy		name=ne2000, base=0x40000300, len=0x0100\n""dummy		name=isa, base=0x40000000, len=0x00100000\n""rom		name=rom, base=ROMBAR+0x0, len=0x00040000, \\\n""			code=70004e4f\n""ram 		name=sram, base=RAMBAR+0x0, len=0x00000100\n";struct _board_data board_data;struct _board_data *board_get_data(void) {	return &board_data;}void board_init(void){	/* Setup global board data */	memset(&board_data, 0, sizeof(struct _board_data));	/* Set some defaults */	board_data.clock_speed = 25000000;	board_data.cycle_count = 0;	board_data.use_timer_hack = 0;	board_data.trace_run = 0;	board_data.cpu = CF_NULL;}void board_reset(void){	board_data.cycle_count = 0;	memory_reset();}void board_fini(void){}	void board_do_config(char *config_data){	char *ptr = config_data;	char *next_ptr, *tmp_ptr;	int argc;	char *argv[3];	int num_memory_segments=0;/*	printf("[%s]\n", config_data);*/	printf("\n");		}void board_setup(char *file) {}

⌨️ 快捷键说明

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