BeRTOS
|
00001 00062 #ifndef DRV_MT29F_H 00063 #define DRV_MT29F_H 00064 00065 #include "cfg/cfg_mt29f.h" 00066 00067 #include <cfg/macros.h> 00068 //#include <cfg/compiler.h> 00069 00070 //#include <cpu/attr.h> 00071 00072 00077 #define MT29F_ERR_ERASE BV(1) ///< Error erasing a block 00078 #define MT29F_ERR_WRITE BV(2) ///< Error writing a page 00079 #define MT29F_ERR_RD_TMOUT BV(2) ///< Read timeout 00080 #define MT29F_ERR_WR_TMOUT BV(2) ///< Write timeout 00081 00087 typedef struct Mt29f 00088 { 00089 uint8_t chip_select; 00090 uint8_t status; 00091 } Mt29f; 00092 00093 void mt29f_init(Mt29f *chip, uint8_t chip_select); 00094 bool mt29f_getDevId(Mt29f *chip, uint8_t dev_id[5]); 00095 int mt29f_blockErase(Mt29f *chip, uint32_t blk); 00096 bool mt29f_read(Mt29f *chip, uint32_t page, void *buf, uint16_t size); 00097 bool mt29f_write(Mt29f *chip, uint32_t page, const void *buf, uint16_t size); 00098 int mt29f_error(Mt29f *chip); 00099 void mt29f_clearError(Mt29f *chip); 00100 00101 00102 #endif /* DRV_MT29F_H */