Date: Sat, 22 Apr 2006 03:46:22 GMT From: Warner Losh <imp@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 95861 for review Message-ID: <200604220346.k3M3kMQo019331@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=95861 Change 95861 by imp@imp_hammer on 2006/04/22 03:46:20 Turn this into a more diagnostic for spi flash testing. Affected files ... .. //depot/projects/arm/src/sys/boot/arm/at91/boot0spi/main.c#4 edit Differences ... ==== //depot/projects/arm/src/sys/boot/arm/at91/boot0spi/main.c#4 (text) ==== @@ -26,6 +26,7 @@ #include "at91rm9200.h" #include "lib.h" +#include "p_string.h" #include "at91rm9200_lowlevel.h" #include "spi_flash.h" @@ -33,12 +34,48 @@ main(void) { char *addr = (char *)SDRAM_BASE + (1 << 20); /* Load to base + 1MB */ - int len; + int len, i; +#if 0 + char *addr2 = (char *)SDRAM_BASE + (2 << 20); /* Load to base + 2MB */ + unsigned this_sec; +#endif + printf("b4\r\n"); + SPI_InitFlash(); + printf("after\r\n"); +#if 0 while ((len = xmodem_rx(addr)) == -1) continue; - SPI_InitFlash(); - SPI_WriteFlash(FLASH_PAGE_SIZE, addr, len); - +#else + len = FLASH_PAGE_SIZE; + for (i = 0; i < FLASH_PAGE_SIZE; i++) + addr[i] = i; + SPI_GetId(0); + printf("Memory after init:\r\n"); + for (i = 0; i < 4; i++) + printf("0x%x ", addr[i]); + printf("\r\n"); +#endif +#if 0 + while (1) { + printf("Writing %u bytes to flash\r\n", len); + SPI_WriteFlash(FLASH_PAGE_SIZE, addr, len); + printf("Reading back %u bytes from flash\r\n", len); + SPI_ReadFlash(FLASH_PAGE_SIZE, addr2, len); + if (p_memcmp(addr, addr2, len) != 0) { + printf("Readback failed:\r\n"); + for (i = 0; i < 4; i++) + printf("0x%x ", addr[i]); + printf("\r\n"); + for (i = 0; i < 4; i++) + printf("0x%x ", addr2[i]); + printf("\r\n"); + } else + printf("Readback OK\r\n"); + this_sec = GetSeconds() + 1; + while (GetSeconds() < this_sec) + continue; + } +#endif return (1); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200604220346.k3M3kMQo019331>