flash.h 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. /* ========================================================================
  2. * [PROJECT] SIR
  3. * [MODULE] Flash
  4. * [TITLE] Routines for Atmel AT45 serial dataflash memory chips.
  5. * [FILE] flash.c
  6. * [VSN] 1.0
  7. * [CREATED] 11042007
  8. * [LASTCHNGD] 11042007
  9. * [COPYRIGHT] Copyright (C) STREAMIT BV 2010
  10. * [PURPOSE] contains all interface- and low-level routines to
  11. * read/write/delete blocks in the serial DataFlash (AT45DBXX)
  12. * ======================================================================== */
  13. #ifndef _Flash_H
  14. #define _Flash_H
  15. #include <sys/types.h>
  16. /*-------------------------------------------------------------------------*/
  17. /* global defines */
  18. /*-------------------------------------------------------------------------*/
  19. /*
  20. * next defines have a 1-1 relationship to the index in the 'at45_devt'
  21. * array, so do not change the values
  22. */
  23. #define AT45DB011B 0
  24. #define AT45DB021B 1
  25. #define AT45DB041B 2
  26. #define AT45DB081B 3
  27. #define AT45DB0161B 4
  28. #define AT45DB0321B 5
  29. #define AT45DB0642 6
  30. /*-------------------------------------------------------------------------*/
  31. /* typedefs & structs */
  32. /*-------------------------------------------------------------------------*/
  33. /*-------------------------------------------------------------------------*/
  34. /* Global variables */
  35. /*-------------------------------------------------------------------------*/
  36. /*-------------------------------------------------------------------------*/
  37. /* export global routines (interface) */
  38. /*-------------------------------------------------------------------------*/
  39. extern int At45dbSendCmd(u_char op, u_long parm, int len, CONST void *tdata, void *rdata, int datalen);
  40. extern u_char At45dbGetStatus(void);
  41. extern int At45dbWaitReady(u_long tmo, int poll);
  42. extern int At45dbInit(void);
  43. extern int At45dbPageErase(u_int off);
  44. extern int At45dbChipErase(void);
  45. extern int At45dbPageRead(u_long pgn, void *data, u_int len);
  46. extern int At45dbPageWrite(u_long pgn, CONST void *data, u_int len);
  47. #ifdef USE_FLASH_PARAM_PAGE
  48. extern int At45dbParamRead(u_int pos, void *data, u_int len);
  49. extern int At45dbParamWrite(u_int pos, CONST void *data, u_int len);
  50. #endif // USE_FLASH_PARAM_PAGE
  51. #endif /* _Flash_H */
  52. /* ÍÍÍÍ End Of File ÍÍÍÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ */