/*! \brief Tests multiple-sector access functions. */ static void at45dbx_example_test_multiple_sector(void) { U32 position = 252; U32 nb_sector = 4; // Initialize counters. at45dbx_example_error_cnt = 0; // Write sectors. print_dbg("\tWriting sectors\r\n"); at45dbx_write_open(position); at45dbx_write_multiple_sector(nb_sector); at45dbx_write_close(); // Read written sectors. print_dbg("\tReading sectors\t"); at45dbx_read_open(position); at45dbx_read_multiple_sector(nb_sector); at45dbx_read_close(); if (!at45dbx_example_error_cnt) { print_dbg(TEST_SUCCESS); } else { print_dbg(TEST_FAIL "\t"); print_dbg_ulong(at45dbx_example_error_cnt); print_dbg(" errors\r\n"); } }
Ctrl_status at45dbx_usb_write_10(U32 addr, U16 nb_sector) { if (addr + nb_sector > AT45DBX_MEM_CNT << (AT45DBX_MEM_SIZE - AT45DBX_SECTOR_BITS)) return CTRL_FAIL; at45dbx_write_open(addr); at45dbx_write_multiple_sector(nb_sector); at45dbx_write_close(); return CTRL_GOOD; }