Пользовательская флеш-память

32-разрядные микроконтроллеры разработки АО "НИИЭТ"

Модераторы: ea, dav, bkolbov, Alis, pip, _sva_

Ответить
Аватара пользователя
MR.Smith
Сообщения: 78
Зарегистрирован: 25 апр 2016, 10:56

Пользовательская флеш-память

Сообщение MR.Smith »

Здравствуйте!

Не подучатся стереть пользовательскую флеш-память ни полностью, ни постранично.
После выполнения операции содержимое памяти остается неизменным (не заполняется 0xFF).

Полностью стираю так:

Код: Выделить всё

NT_USERFLASH->FCIC = 0x3;
NT_USERFLASH->FCIM = 0xA4420000 | 0x00000004;
Постранично так:

Код: Выделить всё

NT_USERFLASH->FCIC = 0x3;
NT_USERFLASH->FMA = (3 << 8);   // Стираем страницу 3
NT_USERFLASH->FCIM = 0xA4420000 | 0x00000002;
Запись и чтение происходят корректно. Хотя запись в НЕ очищенную страницу нельзя назвать корректной. ТО требует предварительно ее очищать (примечание на стр.40).

Что я делаю не так?
hgost
Сообщения: 61
Зарегистрирован: 14 дек 2015, 12:07
Предприятие: АО НИИЭТ
Откуда: НИИЭТ
Контактная информация:

Re: Пользовательская флеш-память

Сообщение hgost »

Добрый день.

Код: Выделить всё

 NT_USERFLASH->FMC= 0xA4420000 | 0x00000004;
FCIM, который Вы пишете - решистр маски прерываний, разрешает генерирование прерывания по завершении
операции чтения/записи/стирания
Аватара пользователя
MR.Smith
Сообщения: 78
Зарегистрирован: 25 апр 2016, 10:56

Re: Пользовательская флеш-память

Сообщение MR.Smith »

hgost, большое спасибо!
user_1983
Сообщения: 21
Зарегистрирован: 19 сен 2018, 08:33
Предприятие: ЦНИИ Электроприбор

Re: Пользовательская флеш-память

Сообщение user_1983 »

Подскажите пожалуйста, где можно посмотреть структуру загрузочной Flash памяти?
Меня интересует:
- Количество, размеры и начальные адреса секторов;
- Размер страниц (256?);
- Какой наименьший размер для стирания Flash - сектор или страница?
Еще собственно, не нашел описания алгоритмов программных способов записи и стирания.
bkolbov
Сообщения: 248
Зарегистрирован: 14 дек 2015, 11:37
Предприятие: АО НИИЭТ
Откуда: Воронеж

Re: Пользовательская флеш-память

Сообщение bkolbov »

user_1983 писал(а): 01 ноя 2018, 16:30 Подскажите пожалуйста, где можно посмотреть структуру загрузочной Flash памяти?
Меня интересует:
- Количество, размеры и начальные адреса секторов;
- Размер страниц (256?);
- Какой наименьший размер для стирания Flash - сектор или страница?
Еще собственно, не нашел описания алгоритмов программных способов записи и стирания.
Память состоит из страниц - это и есть наименьший размер для стирания.
Загрузочная память состоит из 128 страниц по 8 кБ и имеет начальный адрес 0x00000000. В целом, вся эта информация есть в 7 разделе ТО.

Оптимальный алгоритм управления:
- очистка флагов в статусном регистре
- установка адреса (для записи или страничного стирания)
- запись данных в регистры (только для записи)
- запись в командный регистр желаемой команды (страничное стирание, полное стирание, запись)
- ожидание установки флага выполнения команды
Ответить

Вернуться в «32-разрядные микроконтроллеры»