From 0aef9c398815a63e7a7cc0a6ffd42aa440c8a48b Mon Sep 17 00:00:00 2001 From: Rob Austein Date: Sun, 27 May 2018 16:54:00 -0400 Subject: FMC cleanup: constification, gratuitous pointer. --- projects/board-test/fmc-perf.c | 4 ++-- projects/board-test/fmc-test.c | 4 ++-- projects/cli-test/test-fmc.c | 10 +++++----- stm-fmc.h | 6 +++--- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/projects/board-test/fmc-perf.c b/projects/board-test/fmc-perf.c index e87f282..71d0149 100644 --- a/projects/board-test/fmc-perf.c +++ b/projects/board-test/fmc-perf.c @@ -31,7 +31,7 @@ static void sanity(void) uint32_t rnd, data; rnd = random(); - if (fmc_write_32(0, &rnd) != 0) { + if (fmc_write_32(0, rnd) != 0) { uart_send_string("fmc_write_32 failed\r\n"); Error_Handler(); } @@ -88,7 +88,7 @@ static void test_write(void) uint32_t i; for (i = 0; i < TEST_NUM_ROUNDS; ++i) { - if (fmc_write_32(0, &i) != 0) { + if (fmc_write_32(0, i) != 0) { uart_send_string("fmc_write_32 failed\r\n"); Error_Handler(); } diff --git a/projects/board-test/fmc-test.c b/projects/board-test/fmc-test.c index 2002f57..1421db0 100644 --- a/projects/board-test/fmc-test.c +++ b/projects/board-test/fmc-test.c @@ -171,7 +171,7 @@ int test_fpga_data_bus(void) if (hal_result != HAL_OK) break; // write value to fpga at address 0 - ok = fmc_write_32(0, &rnd); + ok = fmc_write_32(0, rnd); if (ok != 0) break; // read value from fpga @@ -239,7 +239,7 @@ int test_fpga_address_bus(void) if (rnd == 0) continue; // write dummy value to fpga at some non-zero address - ok = fmc_write_32(rnd, &buf); + ok = fmc_write_32(rnd, buf); if (ok != 0) break; // read value from fpga diff --git a/projects/cli-test/test-fmc.c b/projects/cli-test/test-fmc.c index 87f80ce..6773cfc 100644 --- a/projects/cli-test/test-fmc.c +++ b/projects/cli-test/test-fmc.c @@ -76,7 +76,7 @@ volatile uint32_t data_diff = 0; volatile uint32_t addr_diff = 0; -static int _write_then_read(struct cli_def *cli, uint32_t addr, uint32_t *write_buf, uint32_t *read_buf) +static int _write_then_read(struct cli_def *cli, uint32_t addr, uint32_t write_buf, uint32_t *read_buf) { int ok; @@ -115,7 +115,7 @@ int test_fpga_data_bus(struct cli_def *cli, uint32_t test_rounds) } /* write value to fpga at address 0 and then read it back from the test register */ - if (! _write_then_read(cli, 0, &rnd, &buf)) break; + if (! _write_then_read(cli, 0, rnd, &buf)) break; /* compare (abort testing in case of error) */ data_diff = buf ^ rnd; @@ -137,7 +137,7 @@ int test_fpga_data_bus(struct cli_def *cli, uint32_t test_rounds) for (i = 0; i < 31; i++) { data = 1 << i; - if (! _write_then_read(cli, 0, &data, &buf)) break; + if (! _write_then_read(cli, 0, data, &buf)) break; if (data == buf) { cli_print(cli, "Data 0x%08lx (FMC_D%02i) - OK", data, i + 1); @@ -181,7 +181,7 @@ int test_fpga_address_bus(struct cli_def *cli, uint32_t test_rounds) /* write dummy value to fpga at some non-zero address and then read from the test register to see what address the FPGA thought we wrote to */ - if (! _write_then_read(cli, addr, &dummy, &buf)) break; + if (! _write_then_read(cli, addr, dummy, &buf)) break; /* fpga receives address of 32-bit word, while we need byte address here to compare @@ -210,7 +210,7 @@ int test_fpga_address_bus(struct cli_def *cli, uint32_t test_rounds) shifted_addr = addr << 2; - if (! _write_then_read(cli, shifted_addr, &dummy, &buf)) break; + if (! _write_then_read(cli, shifted_addr, dummy, &buf)) break; if (addr == buf) { cli_print(cli, "Address 0x%08lx (FMC_A%02i) - OK", addr, i + 1); diff --git a/stm-fmc.h b/stm-fmc.h index 86e83d9..eab053d 100644 --- a/stm-fmc.h +++ b/stm-fmc.h @@ -73,19 +73,19 @@ static inline HAL_StatusTypeDef _fmc_nwait_idle(void) return HAL_ERROR; } -static inline HAL_StatusTypeDef fmc_write_32(uint32_t addr, uint32_t *data) +static inline HAL_StatusTypeDef fmc_write_32(const uint32_t addr, const uint32_t data) { // calculate target fpga address uint32_t *ptr = (uint32_t *) (FMC_FPGA_BASE_ADDR + (addr & FMC_FPGA_ADDR_MASK)); // write data to fpga - *ptr = *data; + *ptr = data; // wait for transaction to complete return _fmc_nwait_idle(); } -static inline HAL_StatusTypeDef fmc_read_32(uint32_t addr, uint32_t *data) +static inline HAL_StatusTypeDef fmc_read_32(const uint32_t addr, uint32_t * const data) { // calculate target fpga address uint32_t *ptr = (uint32_t *) (FMC_FPGA_BASE_ADDR + (addr & FMC_FPGA_ADDR_MASK)); -- cgit v1.2.3