AT45DB161E_CONF.h 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #ifndef AT45DB161E_CONF
  2. #define AT45DB161E_CONF
  3. // включение/выключение сервисных байтов
  4. #define AT45DB161E_EMU512
  5. // разрешить (=1) управление питанием микросхемы памяти
  6. #define AT45DBXXX_POWER_MANAGEMENT 0
  7. // разрешить (=1) управление режимом работы микросхемы памяти: режим сброса (reset)
  8. #define AT45DBXXX_RESET_MANAGEMENT 1
  9. // отключить (=1) проверку ухода в режим гибернации (экономит время при flash_finalize())
  10. // ВНИМАНИЕ! AT45 просыпается и начинает потреблять при попытке проверить ее состояние и прочитать статус.
  11. // Ток потребления растет с ~8мкА до 22мкА. Рекомендуется не использовать проверку, объявите макрос =1
  12. #define AT45DBXXX_DONOTCHECK_HIBERNATE 1
  13. // разрешить (=1) управление аппаратным сигналом защиты записи
  14. #define AT45DBXXX_HW_WR_PROTECT 0
  15. // отключить (=1) аппаратную защиту записи (имеет смысл только если AT45DBXXX_HW_WR_PROTECT=1)
  16. // При отключении аппаратной защиты записи аппаратный сигнал nWR будет установлен в состояние
  17. // соответствующее разрешению записи в чип во время инициализации драйвера, и будет удерживаться
  18. // в этом состоянии до де-инициализации.
  19. #define AT45DBXXX_HW_WR_PROTECT_KEEPUNPROTECTED 0
  20. // запрещение сервисных байтов (навсегда)
  21. // /*#dеfinе AT45DB161E_PRM512*/ ЭТОТ РЕЖИМ НЕ ОТКЛЮЧАЕТСЯ!
  22. #define AT45DB161E_BKGOPERATIONS 1 // отключение задержек операций | ВНИМАНИЕ! Только для ОПЫТНЫХ пользователей (-: !!!
  23. #define AT45DB161E_DONTUSESMARTDELAY 0 // отключение "умной" задержки
  24. #define AT45DBXXX_SMART_WAIT_THRESHOLD 10 // порог в мс, выше которого функция __flash_smart_waitms начнет опрашивать чип на предмет его занятости.
  25. #define AT45DBXXX_FLASH_RAM_PLACE ".at45" // укажите имя секции в кавычках для размещения всех связанных с AT45DB161E данных в ней
  26. // либо не объявляйте макрос вообще
  27. #define AT45DBXXX_FLASH_DESIRED_ID AT45FLASH_ATMEL_ID // требуемый Manufacturer ID чипа для проверки.
  28. // для отключения проверки не объявляйте макрос
  29. #if !FLASH_SKIP_DENSITY_CHECKING
  30. #define AT45DBXXX_FLASH_DESIRED_DENSITY AT45FLASH_DENSITY_16MB // требуемый код вместимости (density) чипа для проверки.
  31. // для отключения проверки не объявляйте макрос
  32. #endif
  33. #define AT45DBXXX_FLASH_DESIRED_FAMILY AT45FLASH_FAMILY_DATAFLASH // требуемый код сеймейства (family) чипа для проверки.
  34. // для отключения проверки не объявляйте макрос
  35. #define AT45DBXXX_API_TIMEOUT 10 // таймаут операций API в миллисекундах
  36. // если устройство занято по истечении таймаута, операция будет сброшена,
  37. // а функция вернет ошибку FLERR_TIMEOUT
  38. // Чтобы использовать стандартный таймаут, не объявляйте макрос
  39. #define AT45DB161E_CHECKSTATUS_DENSITYCODE 0 // НЕ РЕАЛИЗОВАНО до конца. Используется только в функциях ожидания завершения операции
  40. // проверка кода Density в статусном регистре
  41. // во время процедуры чтения флага готовности
  42. // может использоваться в качествте дополнительной
  43. // проверки НАЛИЧИЯ чипа на шине SPI
  44. // Для включения проверки установите значение 1
  45. #define AT45DBXXX_NO_MS_DELAYS 0 // не использовать функции задержки на мс
  46. #endif