Files
Adat/firmware/start.S
2026-03-13 19:58:28 +03:00

36 lines
744 B
ArmAsm

/*
* Copyright (c) 2020 Great Scott Gadgets <info@greatscottgadgets.com>
* SPDX-License-Identifier: BSD-3-Clause
*/
.section .init, "ax"
.global _start
_start:
.cfi_startproc
.cfi_undefined ra
/* Set up our global pointer. */
.option push
.option norelax
la gp, __global_pointer$
.option pop
/* Set up our stack. */
la sp, __stack_top
add s0, sp, zero
/*
* NOTE: In most cases, we'd clear the BSS, here.
*
* In our case, our FPGA automaticaly starts with all of our RAM
* initialized to zero; so our BSS comes pre-cleared. We'll skip the
* formality of re-clearing it.
*/
/* Finally, start our main routine. */
jal zero, main
.cfi_endproc
.end