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

 
 
> 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
Ответов
scifi
сообщение Dec 8 2017, 11:32
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Взглянул по диагонали на даташит STM32L151, там флеш и EEPROM сильно машут на то же самое в STM8S.

Цитата(Baser @ Dec 8 2017, 13:54) *
1. Пишут, что очищается слово записью по нужному адресу значения 0x00000000
То есть чистая EEPROM и FLASH в серии L1 имеет нулевые значения, а не общепринятые единицы?
Нигде в документации прямого указания на это не заметил.

В STM8S именно так.

Цитата(Baser @ Dec 8 2017, 13:54) *
2. Есть команды для EEPROM очистки слова (4 байта) и двойного слова (8 байт)
и есть туча команд записи от одного байта до восьми байтов с различными вариациями.
При этом при записи одного байта или полуслова (2 байта) все равно должно стираться целое слово (4 байта).
Так зачем эти команды?
Или я не понимаю документацию и можно дозаписывать слово по одному байту?

В STM8S есть операции записи байта или слова (4 байта). При этом сказано, что при записи байта обновляется целое слово (3 байта после обновления не меняют своё значение). Это важно для расчёта числа циклов: у каждого слова износ свой. Кроме того, если операция записи байта прервана (питание, сброс), то мусор будет в целом слове.

Цитата(Baser @ Dec 8 2017, 13:54) *
Странная документация sad.gif

Бывает laughing.gif
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 27th June 2025 - 08:12
Рейтинг@Mail.ru


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