Драйвер накристалльной FLASH-памяти.
Подробнее...
|
| enum flash_status | FLASH_Init (FCTR_Type *base) |
| | Инициализация накристалльной FLASH-памяти.
|
| |
| enum flash_status | FLASH_WriteWord (FCTR_Type *base, uint32_t addr, uint32_t data) |
| | Запись 32-битного слова во встроенную FLASH-память.
|
| |
| enum flash_status | FLASH_Program (FCTR_Type *base, uint32_t *addr, uint32_t *src, uint32_t length) |
| | Запись данных во встроенную FLASH-память.
|
| |
| enum flash_status | FLASH_VerifyProgram (uint32_t *addr, uint32_t length, uint32_t *expected_data, uint32_t *failed_address, uint32_t *failed_data) |
| | Проверка корректности данных, записанных во внутреннюю FLASH-память.
|
| |
| enum flash_status | FLASH_Erase (FCTR_Type *base, uint32_t *addr, uint32_t length) |
| | Стирание сектора накристалльной FLASH-памяти.
|
| |
| enum flash_status | FLASH_MassErase (FCTR_Type *base, enum flash_region region) |
| | Стирание раздела накристалльной FLASH-памяти.
|
| |
| enum flash_status | FLASH_VerifyErase (uint32_t *addr, uint32_t length) |
| | Проверка корректности стирания данных накристалльной FLASH-памяти.
|
| |
| enum flash_status | FLASH_Read (uint32_t *addr, uint32_t *dest, uint32_t length) |
| | Чтение данных из накристалльной FLASH-памяти.
|
| |
| #define | FLASH_TEST_ADDRESSES(address, length) |
| | Проверка корректности адреса и количества записываемых/стираемых байтов.
|
| |
Драйвер накристалльной FLASH-памяти.
- Заметки
- Драйвер накристалльной FLASH-памяти позволяет стирать и записывать данные в память.
◆ FCTR_CMD_ERASE
| #define FCTR_CMD_ERASE (0x4) |
◆ FCTR_CMD_MASS_ERASE
| #define FCTR_CMD_MASS_ERASE (0x7) |
Стирание всего региона FLASH-памяти.
◆ FCTR_CMD_READ
| #define FCTR_CMD_READ (0x1) |
◆ FCTR_CMD_ROW_WRITE
| #define FCTR_CMD_ROW_WRITE (0x3) |
◆ FCTR_CMD_WRITE
| #define FCTR_CMD_WRITE (0x2) |
◆ FCTR_IRQ_STS_CLR_SUCCESS_FLAGS
| #define FCTR_IRQ_STS_CLR_SUCCESS_FLAGS |
Макроопределение: (FCTR_IRQ_STATUS_CLR_CMD_SUCCESS_IRQ_STS_CLR_Msk \
| FCTR_IRQ_STATUS_CLR_CMD_ACCEPT_IRQ_STS_CLR_Msk)
Объединение статусов SUCCESS и ACCEPT.
◆ FCTR_IRQ_STS_SET_RESULT_FLAGS
| #define FCTR_IRQ_STS_SET_RESULT_FLAGS |
Макроопределение: (FCTR_IRQ_STATUS_SET_READ_OVERFLOW_IRQ_STS_SET_Msk \
| FCTR_IRQ_STATUS_SET_CMD_REJECT_IRQ_STS_SET_Msk \
| FCTR_IRQ_STATUS_SET_CMD_FAIL_IRQ_STS_SET_Msk \
| FCTR_IRQ_STATUS_SET_CMD_SUCCESS_IRQ_STS_SET_Msk)
Объединение всех статусов, кроме ACCEPT.
◆ FLASH_TEST_ADDRESSES
| #define FLASH_TEST_ADDRESSES |
( |
| address, |
|
|
| length ) |
Проверка корректности адреса и количества записываемых/стираемых байтов.
- Аргументы
-
| address | Стартовый адрес записи/стирания. |
| length | Количество записываемых/стираемых байтов. |
- Возвращаемые значения
-
◆ flash_region
Регионы накристалльной FLASH-памяти.
| Элементы перечислений |
|---|
| FLASH_MainRegion | Основной раздел.
|
| FLASH_SystemRegion | Системный раздел.
|
◆ flash_status
Статусы драйвера модуля FLASH.
| Элементы перечислений |
|---|
| FLASH_Status_Ok | Нет ошибок.
|
| FLASH_Status_InvalidArgument | Недопустимый параметр.
|
| FLASH_Status_CheckError | Получена ошибка от оборудования.
|
| FLASH_Status_VerifyError | Ошибка верификации данных.
|
| FLASH_Status_ConfigureError | Недопустимая конфигурация или ошибка в описании оборудования.
|
| FLASH_Status_AddressAlignmentError | Адрес не выровнен по странице/слову.
|
| FLASH_Status_AddressOutOfRange | Адрес вне допустимого диапазона.
|
◆ FLASH_Erase()
| enum flash_status FLASH_Erase |
( |
FCTR_Type * | base, |
|
|
uint32_t * | addr, |
|
|
uint32_t | length ) |
Стирание сектора накристалльной FLASH-памяти.
- Заметки
- К аргументам функции применяются следующие ограничения:
- адрес должен быть выровнен по границе 8 KB страницы;
- в значении адреса учитываются только младшие биты [20:0] (младшие 21 бит);
- количество стираемых байтов должно быть кратно размеру страницы.
- Аргументы
-
| base | Базовый адрес регистров FLASH-памяти. |
| addr | Начальный адрес стирания. |
| length | Количество стираемых байтов. |
- Возвращаемые значения
-
◆ FLASH_Init()
Инициализация накристалльной FLASH-памяти.
- Аргументы
-
| base | Базовый адрес регистров FLASH-памяти. |
- Возвращаемые значения
-
◆ FLASH_MassErase()
Стирание раздела накристалльной FLASH-памяти.
- Аргументы
-
| base | Базовый адрес регистров FLASH-памяти. |
| region | Раздел памяти. |
- Возвращаемые значения
-
◆ FLASH_Program()
| enum flash_status FLASH_Program |
( |
FCTR_Type * | base, |
|
|
uint32_t * | addr, |
|
|
uint32_t * | src, |
|
|
uint32_t | length ) |
Запись данных во встроенную FLASH-память.
- Заметки
- К аргументам функции применяются следующие ограничения:
- в значении адреса учитываются только младшие биты [20:0] (младшие 21 бит);
- записываемые данные должны быть выровнены по границе 32-битного слова;
- количество записываемых байтов должно быть кратно размеру страницы.
- Аргументы
-
| base | Базовый адрес регистров FLASH-памяти. |
| addr | Начальный адрес записи. |
| src | Записываемые данные. |
| length | Количество записываемых байтов. |
- Возвращаемые значения
-
◆ FLASH_Read()
| enum flash_status FLASH_Read |
( |
uint32_t * | addr, |
|
|
uint32_t * | dest, |
|
|
uint32_t | length ) |
Чтение данных из накристалльной FLASH-памяти.
- Заметки
- К аргументам функции применяются следующие ограничения:
- адрес чтения должен быть выровнен на размер страницы;
- в значении адреса учитываются только младшие биты [20:0] (младшие 21 бит);
- aдрес буфера под данные должен быть выровнен по границе 32-битного слова;
- количество cчитываемых байтов должно быть кратно размеру страницы.
- Аргументы
-
| addr | Начальный адрес чтения. |
| dest | Считываемые данные. |
| length | Количество считываемых байтов. |
- Возвращаемые значения
-
◆ FLASH_VerifyErase()
| enum flash_status FLASH_VerifyErase |
( |
uint32_t * | addr, |
|
|
uint32_t | length ) |
Проверка корректности стирания данных накристалльной FLASH-памяти.
- Заметки
- К аргументам функции применяются следующие ограничения:
- адрес должен быть выровнен на размер страницы;
- в значении адреса учитываются только младшие биты [20:0] (младшие 21 бит);
- количество байтов должно быть кратно размеру страницы.
- Аргументы
-
| base | Базовый адрес регистров FLASH-памяти. |
| addr | Начальный адрес проверямой памяти. |
| length | Количество проверямых байтов. |
- Возвращаемые значения
-
◆ FLASH_VerifyProgram()
| enum flash_status FLASH_VerifyProgram |
( |
uint32_t * | addr, |
|
|
uint32_t | length, |
|
|
uint32_t * | expected_data, |
|
|
uint32_t * | failed_address, |
|
|
uint32_t * | failed_data ) |
Проверка корректности данных, записанных во внутреннюю FLASH-память.
- Заметки
- К аргументам функции применяются следующие ограничения:
- начальный адрес чтения должен быть выровнен на размер страницы;
- в значении адреса учитываются только младшие биты [20:0] (младшие 21 бит);
- количество проверяемых байтов должно быть кратно размеру страницы;
- адрес эталонных данных должен быть выровнен по границе 32-битного слова.
- Аргументы
-
| base | Базовый адрес регистров FLASH-памяти. |
| addr | Начальный адрес проверяемых данных. |
| length | Количество проверяемых байтов. |
| expected_data | Эталонные данные. |
| failed_address | Адрес первых несовпадающих данных. |
| failed_data | Первые несовпадающие данные. |
- Возвращаемые значения
-
◆ FLASH_WriteWord()
| enum flash_status FLASH_WriteWord |
( |
FCTR_Type * | base, |
|
|
uint32_t | addr, |
|
|
uint32_t | data ) |
Запись 32-битного слова во встроенную FLASH-память.
- Заметки
- К аргументам функции применяются следующие ограничения:
- адрес должен быть выровнен по границе 32-битного слова;
- в значении адреса учитываются только младшие биты [20:0] (младшие 21 бит).
- Аргументы
-
| base | Базовый адрес регистров FLASH-памяти. |
| addr | Адрес для записи. |
| data | Записываемое слово. |
- Возвращаемые значения
-