]> robinkrens.nl - git repository - cortex-from-scratch/commitdiff
static RAM (.data) usage
authorRobin Krens <robin@robinkrens.nl>
Fri, 5 Jul 2019 09:49:05 +0000 (17:49 +0800)
committerRobin Krens <robin@robinkrens.nl>
Fri, 5 Jul 2019 09:49:05 +0000 (17:49 +0800)
Makefile
link.ld
start.asm

index cc01e471e4ba6a50d7823c7e60fe0092ba0b0c86..2563e880dcbcb0a811eb78892eadda9be0114573 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -13,7 +13,7 @@ as:
 all:
        $(AS) $(CFLAGS) -o start.o start.asm
        $(LD) -T link.ld -o start.out start.o
-       $(MKIMG) -Obinary start.out kernel.bin
+       $(MKIMG) -Obinary -R .data start.out kernel.bin
 
 run:
        qemu-system-arm -monitor stdio -M lm3s6965evb -kernel kernel.bin
diff --git a/link.ld b/link.ld
index 00ce90e455db06a4b107d30e787b5f5c6cb066f0..903f1f51a4c166e1d3437fd546e8f63959319865 100644 (file)
--- a/link.ld
+++ b/link.ld
@@ -1,6 +1,6 @@
 MEMORY
 {
-       FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 512K
+       FLASH (xr) : ORIGIN = 0x00000000, LENGTH = 512K
        SRAM (xrw) : ORIGIN = 0x20000000, LENGTH = 64K
 }
 
index 89915941c2c2b3c8e4ee5c5e508cd44b38e560df..8af6feac6ef3e1640b829cd0e1750bf8b8dbacb9 100644 (file)
--- a/start.asm
+++ b/start.asm
@@ -9,14 +9,23 @@ _start:
 
 /* Start of main program */
 start:
-       movs r0, #10
-       movs r1, #5
+       movs r0, #5
+       movs r1, #1
 loop:
        adds r1, r0
        subs r0, #1
        bne loop
-/* Result is now in R1 */
+       /* Result is now in R1 */
+       ldr r0, =Result
+       str r1, [r0] 
+
 deadloop:
        b deadloop
+
+       .data
+       .word 0 /* add two words*/
+       .word 0 
+Result:
+       .word 0 /* results now is in 0x20000008 (0x20000000 + 2 w) */
        .end