diff --git a/tests/periph_flashpage/main.c b/tests/periph_flashpage/main.c index 84f995d3fa27b3ffc49b896431324e497ace8970..b226969ed07b54d1b1308f3058e363b894cb290a 100644 --- a/tests/periph_flashpage/main.c +++ b/tests/periph_flashpage/main.c @@ -310,7 +310,7 @@ static int cmd_test_last(int argc, char **argv) } } - if (flashpage_write_and_verify((int)FLASHPAGE_NUMOF - 2, page_mem) != FLASHPAGE_OK) { + if (flashpage_write_and_verify((int)FLASHPAGE_NUMOF - 1, page_mem) != FLASHPAGE_OK) { puts("error verifying the content of last page"); return 1; } @@ -336,9 +336,15 @@ static int cmd_test_last_raw(int argc, char **argv) memcpy(raw_buf, "test12344321tset", 16); /* erase the page first */ - flashpage_write(((int)FLASHPAGE_NUMOF - 2), NULL); + flashpage_write(((int)FLASHPAGE_NUMOF - 1), NULL); - flashpage_write_raw((void*) ((int)CPU_FLASH_BASE + (int)FLASHPAGE_SIZE * ((int)FLASHPAGE_NUMOF - 2)), raw_buf, strlen(raw_buf)); + flashpage_write_raw(flashpage_addr((int)FLASHPAGE_NUMOF - 1), raw_buf, strlen(raw_buf)); + + /* verify that previous write_raw effectively wrote the desired data */ + if (memcmp(flashpage_addr((int)FLASHPAGE_NUMOF - 1), raw_buf, strlen(raw_buf)) != 0) { + puts("error verifying the content of last page"); + return 1; + } puts("wrote raw short buffer to last flash page"); return 0;