// Файл с кодами ошибок для AT45DB321D. // v 1.2 от 22/07/15 // Автор: Сычев А #ifndef AT45DB321D_ERR_H #define AT45DB321D_ERR_H typedef enum { //--- коды расширенного статуса выполнения ---------------------------- // защита от стирания/записи FLERR_PROTECT_ENABLED = 0xdeed, // установлена защита FLERR_PROTECT_DISABLED = 0xbeef, // защита не установлена //--- коды успешного выполнения --------------------------------------- FLERR_SUCCESS = 0, // успешное выполнение команды //--- коды ошибочного выполнения --------------------------------------- // коды ошибок инициализации FLERR_LL_INITFAIL_NOTFOUND =-1, // ID микросхемы прочитан как All-FF, что означает, что чип отсутствует. FLERR_LL_INITFAIL_WRONGID =-2, // неверный ID микросхемы (Manufacturer ID) FLERR_LL_INITFAIL_WRONGDENSITY =-3, // неверный размер микросхемы (Density) FLERR_LL_INITFAIL_WRONGFAMILY =-4, // неверный семейство микросхемы (Family) FLERR_LL_INITFAIL_PAGESIZE =-5, // неверный размер страницы. // Причина: Выбран режим эмуляции страницы по 512 байт, либо выбран режим 528 байт // когда в чипе установлен фиксированный размер страницы 512 байт. // Необходимо объявить макрос AT45DB321D_PRM512 в файле "AT45DB321D_CONF.h" // коды общих ошибок FLERR_TIMEOUT =-6, // таймаут операций API // Причина: устройство занято FLERR_INVALID_PARAMETER =-7, // Ошибка в переданном параметре. см. описание функции FLERR_GENERIC_ERROR =-8, // Ошибка выполнения команды. // Причина зависит от функции FLERR_VERIFY_ERROR =-9, // Ошибка верификации данных во время записи flash_write() FLERR_INVALID_BUFFER =-10, // Ошибка: неверный буфер / недостаточно места в буфере FLERR_WRONG_CONTEXT =-16, // Ошибка: неправильный контекст (не используется 17/04/19) // Причина: функция требует выполнения только в контексте задачи или прерывания // коды фатальных ошибок FLERR_UNEXPECTED_BUSY =-32, // Ошибка, устройство занято во время критической операции. Условия выполнения // функции нарушены, результат не гарантируется. Ожидаемое состояние устройства // не гарантируется. Причина: устройство возвращает статус "занято" по истечении // критического таймаута. } flash_err_t; #define FLASH_SUCCESS(err) (((err) >= FLERR_SUCCESS)?((__FLASH_DWORD)(-1)):0ul) #define FLASH_ERROR(err) (((err) < FLERR_SUCCESS)?((__FLASH_DWORD)(-1)):0ul) #endif