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

📄 boardinit.s

📁 RTEMS (Real-Time Executive for Multiprocessor Systems) is a free open source real-time operating sys
💻 S
字号:
/* *  boardinit.s * *  Initialise various ERC32 registers * *  $Id: boardinit.S,v 1.1 2000/11/13 22:29:14 joel Exp $ */#include <asm.h>#include <erc32.h>        .global __bsp_board_init__bsp_board_init:/* Check if MEC is initialised. If not, this means that we are   running on the simulator. Initiate some of the parameters   that are done by the boot-prom otherwise.*/        set     SYM(ERC32_MEC), %g3  ! g3 = base address of peripherals	ld	[%g3], %g2			set	0xfe080000, %g1	andcc	%g1, %g2, %g0 	bne	2f  /* Stop the watchdog */	st	%g0, [%g3 + SYM(ERC32_MEC_WATCHDOG_TRAP_DOOR_SET_OFFSET)] /* Set zero waitstates */	st	%g0, [%g3 + SYM(ERC32_MEC_WAIT_STATE_CONFIGURATION_OFFSET)] /* Set the correct memory size in MEC memory config register */  	set	SYM(PROM_SIZE), %l0	 	set	0, %l1 	srl	%l0, 18, %l01: 	tst	%l0 	srl	%l0, 1, %l0 	bne,a	1b 	inc	%l1 	sll	%l1, 8, %l1  	set	SYM(RAM_SIZE), %l0	 	srl	%l0, 19, %l01: 	tst	%l0 	srl	%l0, 1, %l0 	bne,a	1b 	inc	%l1 	sll	%l1, 10, %l1                                            ! set the Memory Configuration        st     %l1, [ %g3 + ERC32_MEC_MEMORY_CONFIGURATION_OFFSET ]           	set	SYM(RAM_START), %l1  ! Cannot use RAM_END due to bug in linker 	set	SYM(RAM_SIZE), %l2 	add	%l1, %l2, %sp	set	SYM(CLOCK_SPEED), %g6	! Use 14 MHz in simulator	set	14, %g1	st	%g1, [%g6]2: /* Initialise timer */ 	set	SYM(_ERC32_MEC_Timer_Control_Mirror), %l2	st	%g0, [%l2]	st	%g0, [%g3 + SYM(ERC32_MEC_TIMER_CONTROL_OFFSET)] /* Enable power-down */	ld	[%g3 + SYM(ERC32_MEC_CONTROL_OFFSET)], %l2	or	%l2, ERC32_CONFIGURATION_POWER_DOWN_ALLOWED, %l2	st	%l2, [%g3 + SYM(ERC32_MEC_CONTROL_OFFSET)]	retl	nop/* end of file */

⌨️ 快捷键说明

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