- KFile fd;
-
- dataflash_init(&fd);
-
- uint8_t test_buf[] = "0123456789 Develer s.r.l.";
- uint8_t cmp_buf[];
-
- kprintf("\n======= Data Flash test function =========================================\n");
- kprintf("\nThe string test is: %s\n\n", test_buf);
-
- fd.open(&fd, NULL, 0);
-
- /* TEST 1 */
-
- // Seek to addr 0
- if (fd.seek(&fd, 0, SEEK_SET) != 0)
- goto dataflash_test_end;
-
- // Test flash write to address 0 (page 0)
- if (!fd->write(&fd, test_buf, sizeof(test_buf)))
- goto dataflash_test_end;
-
- // Seek to addr 0
- if (fd.seek(&fd, 0, SEEK_SET) != 0)
- goto dataflash_test_end;
-
- // Test flash read to address 0 (page 0)
- if (!fd->read(&fd, cmp_buf, sizeof(test_buf)))
- goto dataflash_test_end;
-
- // Compare if are egual.
- if ((memcmp(cmp_buf,test_buf, sizeof(test_buf)) == 0)
- goto dataflash_test_end;
-
- /* TEST 2 */
-
- // Go to middle address memory.
- fd.seek(&fd, (((dataflashAddr_t)DFLASH_PAGE_SIZE * (dataflashAddr_t)DFLASH_NUM_PAGE) / 2), SEEK_CUR);
-
- // Test flash write at the middle of memory
- if (!fd->write(&fd, test_buf, sizeof(test_buf)))
- goto dataflash_test_end;
-
- // Go to middle address memory.
- fd.seek(&fd, (((dataflashAddr_t)DFLASH_PAGE_SIZE * (dataflashAddr_t)DFLASH_NUM_PAGE) / 2), SEEK_CUR);
-
- // Test flash read at the middle of memory
- if (!fd->read(&fd, cmp_buf, sizeof(test_buf)))
- goto dataflash_test_end;