/*
* Make sure to toggle CS signal in order,
* and reset dflash command decoder.
- * \{
+ *
+ * Note:
+ * #define CS_TOGGLE() \
+ * CS_DISABLE(); \
+ * CS_ENABLE(); \
*/
- CS_DISABLE();
- CS_ENABLE();
- /* \} */
+ CS_TOGGLE();
+
/*
* To send one command to data flash memory, we send 4 byte.
* and reset dflash command decoder.
* \{
*/
- CS_DISABLE();
- CS_ENABLE();
- /* \} */
+ CS_TOGGLE();
stat = spi_sendRecv(DFO_READ_STATUS);
stat = spi_sendRecv(0x00);
}
/**
- * Read \param len bytes from main data flash memory or buffer data
- * flash memory, and put it in \param *block.
+ * Read \a len bytes from main data flash memory or buffer data
+ * flash memory, and put it in \a *block.
*/
static void dflash_read_block(dflashAddr_t page_addr, dflashAddr_t byte_addr, DFlashOpcode opcode, uint8_t *block, dflashSize_t len)
{
}
-/**
- * Write one byte in buffer buffer data flash memory.
- *
- * \note Isn't possible to write byte directly in main memory data
- * flash. To perform write in main memory you must before write in buffer
- * data flash memory, an then send command to write page in main memory.
- */
-static void dflash_write_byte(dflashAddr_t byte_addr, DFlashOpcode opcode, uint8_t data)
-{
- send_cmd(0x00, byte_addr, opcode);
-
- spi_sendRecv(data); //Write data byte.
-
- CS_DISABLE();
-}
/**
- * Write \param len bytes in buffer buffer data flash memory.
+ * Write \a len bytes in buffer buffer data flash memory.
*
* \note Isn't possible to write bytes directly in main memory data
* flash. To perform write in main memory you must before write in buffer
static void dflash_write_block(dflashAddr_t byte_addr, DFlashOpcode opcode, uint8_t *block, dflashSize_t len)
{
-
send_cmd(0x00, byte_addr, opcode);
spi_write(block, len); //Write len bytes.
}
+/* Kfile interface section */
+
/**
* Open data flash file \a fd
* \a name and \a mode are unused, cause flash memory is
{
}
-//TODO: deve ritornare un bool?
/**
* Init data flash memory interface.
*/
fd->seek = dflash_seek;
// Init data flash memory and micro pin.
- dflash_pin_init();
+ ASSERT(dflash_pin_init());
}
\ No newline at end of file