📄 head.s
字号:
/* * head.S * * Copyright (C) 2001-2002 Hayden Luo * * 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. * * 32-bit startup code for s3c5410b board */#include "board.h" .globl stext .globl safe_table_offset .globl bios_table_offset .globl _rom_base.section ".text"stext: b __entry_rom_base: .long stext/*__init_entry: ldr pc, =__entry*/__entry:/* Copy text section to ram address 0x30000 */ ldr r0, =_rom_text ldr r1, =_text ldr r3, =_etext 3: cmp r1, r3 ldrcc r2, [r0], #4 strcc r2, [r1], #4 bcc 3b/* jump to ram */ ldr pc, =_data_copy_data_copy:/* * Load up the linker defined values for the static data copy*/ ldr r0, =_erodata ldr r1, =__data_start ldr r3, =_edata/* * Stop on CS (ie R1 becomes >= R3).*/0: cmp r1, r3 ldrcc r2, [r0], #4 strcc r2, [r1], #4 bcc 0b /* * Clear remainder of data to _end to 0 */1: ldr r1, =_end mov r2, #02: cmp r3, r1 strcc r2, [r3], #4 bcc 2b/* * Now set up the BSPs SVC stack */ mrs r0, cpsr bic r0, r0, #PSR_MODE_MASK orr r1, r0, #PSR_SVC_MODE msr cpsr, r1 mov r4, sp ldr sp, =__stackbios_start: /* bl m1_main */ stmfd sp!, {r4, lr} ldr lr, =ret ldr pc, =m1_main ret: ldmfd sp!, {sp, pc}here: b here /* program stop here */.globl getspgetsp: mov r0, sp mov pc, lr.globl getpcgetpc: mov r0, lr mov pc, lr .align .section ".bss"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -