/*! \brief Tests single-sector access functions. */ static void at45dbx_example_test_RAM_mem(void) { static U8 PatternTable[AT45DBX_SECTOR_SIZE]; static U8 ReceiveTable[AT45DBX_SECTOR_SIZE]; U8 Pattern = 0x55; memset(PatternTable, Pattern, AT45DBX_SECTOR_SIZE); memset(ReceiveTable, 0xA5, AT45DBX_SECTOR_SIZE); print_dbg("\tUsing Pattern 0x55"); // Perform write access. if (at45dbx_write_open(Pattern)) { at45dbx_write_sector_from_ram(PatternTable); at45dbx_write_close(); } // Perform read access. if (at45dbx_read_open(Pattern)) { at45dbx_read_sector_2_ram(ReceiveTable); at45dbx_read_close(); } // Check read and write operations. if (!memcmp(ReceiveTable, PatternTable, AT45DBX_SECTOR_SIZE)) { print_dbg(TEST_SUCCESS); } else { print_dbg(TEST_FAIL); } // Change the pattern used. Pattern = 0xAA; memset(PatternTable, Pattern, AT45DBX_SECTOR_SIZE); memset(ReceiveTable, 0xA5, AT45DBX_SECTOR_SIZE); print_dbg("\tUsing Pattern 0xAA"); // Perform write access. if (at45dbx_write_open(Pattern)) { at45dbx_write_sector_from_ram(PatternTable); at45dbx_write_close(); } // Perform read access. if (at45dbx_read_open(Pattern)) { at45dbx_read_sector_2_ram(ReceiveTable); at45dbx_read_close(); } // Check read and write operations. if (!memcmp(ReceiveTable, PatternTable, AT45DBX_SECTOR_SIZE)) { print_dbg(TEST_SUCCESS); } else { print_dbg(TEST_FAIL); } }
Ctrl_status at45dbx_df_2_ram(U32 addr, void *ram) { if (addr + 1 > AT45DBX_MEM_CNT << (AT45DBX_MEM_SIZE - AT45DBX_SECTOR_BITS)) return CTRL_FAIL; at45dbx_read_open(addr); at45dbx_read_sector_2_ram(ram); at45dbx_read_close(); return CTRL_GOOD; }