реклама на сайте
подробности

 
 
> EEPROM в STM32L151
Baser
сообщение Dec 8 2017, 10:54
Сообщение #1


Просто Che
*****

Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881



Читаю описание работы с EEPROM в STM32L151 и не могу понять некоторых вещей:

1. Пишут, что очищается слово записью по нужному адресу значения 0x00000000
То есть чистая EEPROM и FLASH в серии L1 имеет нулевые значения, а не общепринятые единицы?
Нигде в документации прямого указания на это не заметил.

2. Есть команды для EEPROM очистки слова (4 байта) и двойного слова (8 байт)
и есть туча команд записи от одного байта до восьми байтов с различными вариациями.
При этом при записи одного байта или полуслова (2 байта) все равно должно стираться целое слово (4 байта).
Так зачем эти команды?
Или я не понимаю документацию и можно дозаписывать слово по одному байту?

3. Еще там есть упоминание вскользь о записи по невыровненному адресу, что длительность операции будет больше.
"When programming Data Word or Data Half-word at non-aligned addresses, the write operation may take more than 1 tprog time"
Но опять никаких подробностей.
Что будет при записи по невыровненному адресу в два слова, где часть байт уже записана, а часть чистые, и в эту чистую часть я командой быстрой записи пишу данные?
А если пишу не быстрой, а обычной командой - остальные байты сотрутся или нет?

Странная документация sad.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Baser
сообщение Dec 8 2017, 12:13
Сообщение #2


Просто Che
*****

Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881



Цитата(scifi @ Dec 8 2017, 13:32) *
В STM8S есть операции записи байта или слова (4 байта). При этом сказано, что при записи байта обновляется целое слово (3 байта после обновления не меняют своё значение).

Вот именно этого для STM32L151 прямо и не говорится.

Код
Data EEPROM Fast Byte Write
This operation is used to write Byte to the data EEPROM assuming that the complete word was previously erased.
The time taken for this is 1 tprog.
• Unlock the Data EEPROM and the FLASH_PECR register
• Clear the FTDW bit (FLASH_PECR[8]) assuming that the word is already erased (0x00000000).
• Write a byte to a valid address in the data EEPROM
• The following operations are then performed automatically by the Flash memory interface:
– The Flash memory interface addresses and reads the word to be written to
– A new ECC is calculated for the new byte to write to the memory
– A write operation is immediately executed (the word read by the interface must be 0x00000000 and the FTDW bit must be cleared)

Можно ли из вышеприведенной цитаты понять, что остальные байты ДОЛЖНЫ быт очищены и иначе запись не произойдет?

Цитата(x893 @ Dec 8 2017, 13:48) *
Почему не взять микросхему и просто сделать что нужно.
Без обсуждений.

Не все можно проверить. Например, можно ли делать дозапись, если она не блокируется аппаратно, и как к этому относиться STM.

А "Без обсуждений" - вы же начали сразу высказываться, не привнеся никакой полезной информации sm.gif
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 11th August 2025 - 19:36
Рейтинг@Mail.ru


Страница сгенерированна за 0.01351 секунд с 7
ELECTRONIX ©2004-2016