From f3e17bb60221f04278c684d4c97fe5012240a743 Mon Sep 17 00:00:00 2001 From: Jens Ahrensfeld Date: Fri, 29 May 2015 20:05:46 +0000 Subject: [PATCH] - D-cache invalidate before SDRAM read git-svn-id: http://moon:8086/svn/mips@39 a8ebac50-d88d-4704-bea3-6648445a41b3 --- src/bootloader/test.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/bootloader/test.c b/src/bootloader/test.c index 8ae948c..a412eb0 100644 --- a/src/bootloader/test.c +++ b/src/bootloader/test.c @@ -14,10 +14,13 @@ void handler3(void) void main() { + uint32_t i; + uint32_t data; uint8_t led = 0; volatile uint32_t *pUART0_stat = (uint32_t*)SYS_UART_STAT; volatile uint32_t *pGPIO = (uint32_t*)SYS_GPIO_0_DATA; volatile uint32_t *pGPIODIR = (uint32_t*)SYS_GPIO_0_DIR; + volatile uint32_t *pSDRAM = (uint32_t*)FLASH_BASE_MEM; CP0_SR_write(0x0060000D); *pGPIODIR = GPIO_0_DFLT_DIR; @@ -35,9 +38,21 @@ void main() sputs("Iteration # ");print_word(led);sputs("\n"); *pGPIO = led; + data = 0x10011111; + for (i=0; i < 16; i++) + { + pSDRAM[i] = data; + data += 0x10011111; + } + DCACHE_invalidate_at((uint32_t*)pSDRAM); + for (i=0; i < 16; i++) + { + sputs("SDRAM");print_word(pSDRAM[i]);sputs("\n"); + } + if(led == 0) { - memdump((uint8_t*)(0x7FFFEFF0-4096-256), 0, 16, 256); + memdump((uint8_t*)pSDRAM, 0, 16, 256); } led = (led+1) % 64;