tests/periph_flashpage: improve flashpage tests

-) verify correctness of data written by raw write test
-) write to really last flash page and not last - 1
-) use flashpage_addr instead of manual calculation
This commit is contained in:
Federico Pellegrin 2019-01-16 05:29:23 +01:00
parent abb72db73a
commit 4b7c37cca0

View File

@ -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"); puts("error verifying the content of last page");
return 1; return 1;
} }
@ -336,9 +336,15 @@ static int cmd_test_last_raw(int argc, char **argv)
memcpy(raw_buf, "test12344321tset", 16); memcpy(raw_buf, "test12344321tset", 16);
/* erase the page first */ /* 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"); puts("wrote raw short buffer to last flash page");
return 0; return 0;