From 2a1f8df54e45930fb3dd05af6aa4059b94b1894b Mon Sep 17 00:00:00 2001 From: Byron Lathi Date: Thu, 17 Mar 2022 13:37:34 -0500 Subject: [PATCH] Create SDRAM memory region --- sw/link.ld | 3 ++- sw/main.c | 16 +++++++++++----- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/sw/link.ld b/sw/link.ld index 489666d..66eb486 100644 --- a/sw/link.ld +++ b/sw/link.ld @@ -1,7 +1,8 @@ MEMORY { ZP: start = $0, size = $100, type = rw, define = yes; - RAM: start = $0200, size = $7D00, type = rw, define = yes; + RAM: start = $0200, size = $3D00, type = rw, define = yes; + SDRAM: start = $4000, size = $3ff00, type = rw, define = yes; ROM: start = $8000, size = $8000, fill = yes, fillval = $ff, file = %O; } diff --git a/sw/main.c b/sw/main.c index 00fb9d4..ec6d2e2 100644 --- a/sw/main.c +++ b/sw/main.c @@ -5,16 +5,22 @@ #include "uart.h" int main() { - char s[16]; + uint8_t* test; + uint8_t i; + + test = (uint8_t*)0x5000; clrscr(); - cprintf("Hello, world!\n"); - while (1) { - cscanf("%15s", s); - cprintf("Read string: %s\n", s); + for (test = (uint8_t*)0x4000; test < (uint8_t*)0x5000; test++) { + for (i = 0; i < 64; i++) { + *test = i; + if (*test != i) + cprintf("Failed to read/write %x to %x\n", i, test); + } } + cprintf("Done! no SDRAM errors!\n"); return 0; }