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

📄 boot.s

📁 在LINUX下利用libusb进行SMDK2440的开发工作
💻 S
字号:
/* SMDK2440 Linux Kernel Wrapper * * (c) 2004 Ben Dooks <ben-smdk2440@fluff.org> * * Based on original 2.4.20 port by Samsung*/#include "tags.h"			.text	.global	go	go:	@ setup UART0 from UART1s settings	mov	r0, #0x50000000	add	r1, r0, #0x4000	ldr	r14, [ r1, #0x00 ]	str	r14, [ r0, #0x00 ]	ldr	r14, [ r1, #0x28 ]	str	r14, [ r0, #0x28 ]	ldr	r14, [ r1, #0x04 ]	str	r14, [ r0, #0x04 ]		ldr	r14, [ r1, #0x08 ]	str	r14, [ r0, #0x08 ]	ldr	r14, [ r1, #0x0C ]	str	r14, [ r0, #0x0C ]	@ copy initrd to initrd place	ldr	r0, =initrd_start	ldr	r1, =initrd_end	sub	r1, r1, r0	ldr	r2, =initrd_tag	str	r1, [ r2, # 4 ]	ldr	r2, [ r2, # 0 ]	add	r2, r2, r1	add	r0, r0, r1	copy_initrd_loop:	ldmdb	r0!, { r4 - r7 }	stmdb	r2!, { r4 - r7 }	subs	r1, r1, #4*4	bge	copy_initrd_loop		@ ensure the cache is cleaned		adr	r0, go	add	r1, r0, #0x4000clean_loop:	ldr	r2, [ r0 ], #4	cmp	r0, r1	bcc	clean_loop	mov	r0, #0	mcr	p15, 0, r0, c7, c10, 4  @ drain WB	mcr	p15, 0, r0, c7, c7, 0   @ flush I & D caches		@ jump into linux kernel		mov	r0, #0			@ code 	ldr	r1, =362		@ Linux ID	ldr	r2, =taglist		@ Base of the code	ldr	pc, =0x30008000		@ jump into the kernel

⌨️ 快捷键说明

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