📄 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 __init_entry_rom_base: .long stext__init_entry: ldr pc, =__entry__entry:/* * Load up the linker defined values for the static data copy*/ ldr r0, =_etext 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, =__stack bios_start: stmfd sp!, {r4, lr} //bl m1_main ldr lr, =ret ldr pc, =m1_mainret: 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 + -