Set development environment with UART debug output for aarch64

This commit is contained in:
2019-05-30 08:44:01 +02:00
parent 8718f035a5
commit 08ffb6ee94
8 changed files with 50 additions and 63 deletions
-22
View File
@@ -1,22 +0,0 @@
.global _boot
.extern k_main
_boot:
mrs x0, mpidr_el1 // Check CPU ID
mov x1, 0xC1000000
bic x0, x0, x1
cbz x0, set_stack
b idle
set_stack:
ldr x30, =0x40001000
mov sp, x30
bl start
start:
mov x0, x30
bl k_main
idle: b idle
+3 -10
View File
@@ -1,10 +1,7 @@
.text
.globl _start
.extern k_main
.extern stack_ptr
_start:
mrs x0, mpidr_el1 // Check CPU ID
mov x1, 0xC1000000
bic x0, x0, x1
@@ -12,13 +9,9 @@ _start:
b idle
set_stack:
ldr x30, stack_ptr // defined in sys/memmap
ldr x30, =stack_ptr // defined in sys/memmap
mov sp, x30
bl start
start:
mov x0, x30
bl k_main
bl k_main
idle:
b idle
+16
View File
@@ -0,0 +1,16 @@
ENTRY(_start)
SECTIONS
{
/* For some reason qemu UART doesn't work with smaller address */
. = 0x40000000;
.boot . : { boot.o(.text) }
.text : { *(.text) }
.data : { *(.data) }
.bss : { *(.bss COMMON) }
. = ALIGN(8);
. = . + 0x1000;
stack_ptr = . ;
}