aboutsummaryrefslogtreecommitdiffstats
path: root/firmware/microblaze/usrp2p/spi_flash_read.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/microblaze/usrp2p/spi_flash_read.c')
-rw-r--r--firmware/microblaze/usrp2p/spi_flash_read.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/firmware/microblaze/usrp2p/spi_flash_read.c b/firmware/microblaze/usrp2p/spi_flash_read.c
index 4682c5fe6..36c326e96 100644
--- a/firmware/microblaze/usrp2p/spi_flash_read.c
+++ b/firmware/microblaze/usrp2p/spi_flash_read.c
@@ -19,6 +19,7 @@
#include "spi_flash_private.h"
#include <stdlib.h> // abort
+#include <nonstdio.h>
static size_t _spi_flash_log2_memory_size;
@@ -100,7 +101,8 @@ spi_flash_read(uint32_t flash_addr, size_t nbytes, void *buf)
*/
unsigned char *dst = (unsigned char *) buf;
size_t m;
- for (size_t n = 0; n < nbytes; n += m, dst += m){
+ for (size_t n = 0; n < nbytes; n += m){
+
spif_regs->ctrl = FLAGS | LEN(16 * 8); // xfer 16 bytes
spif_regs->ctrl = FLAGS | LEN(16 * 8) | SPI_CTRL_GO_BSY;
spif_wait();
@@ -113,7 +115,7 @@ spi_flash_read(uint32_t flash_addr, size_t nbytes, void *buf)
unsigned char *src = (unsigned char *) &w[0];
m = min(nbytes - n, 16);
for (size_t i = 0; i < m; i++)
- dst[i] = src[i];
+ *(dst++) = src[i];
}
spif_regs->ss = 0; // deassert chip select
}