Перейти к содержанию
    

Особенности записи во FLASH-память с учётом ECC

Модератор: тема была выделена в отдельный топик из

 

 

12 hours ago, jcxz said:

Во многих ARM-ах с таким алгоритмом получите граблями по лбу.

Пожалуйста приведите три примера. Особо интересуют варианты, где блок более 16 байт.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

29 минут назад, adnega сказал:

Пожалуйста приведите три примера.

Почему именно 3???  :wacko2:  Ну ладно, вот Вам 3: XMC4500, XMC4700, XMC4800.  :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 17.11.2022 в 23:22, jcxz сказал:

Почему именно 3???  :wacko2:  Ну ладно, вот Вам 3: XMC4500, XMC4700, XMC4800.  :biggrin:

Ну, это как бы один пример семейства XMC4000. Но даже так.

У данного МК стирание идет секторами, а запись страницами по 256 байт. Нигде нет запрета на дописывание страницы.

Цитата

Programming: The programmed state of a cell is logical ‘1’. Changing an erased Flash cell to this state is called “programming”. The 1-bits of a page are programmed concurrently.

Да, упоминается Dynamic Error Correcting Code (ECC) with Single-bit Error Correction and Doublebit Error Detection (“SEC-DED”).

Но, может, все волшебство в слове "Dynamic".

Вы пробовали дописывать страницу?

У меня есть несколько XMC4108Q48K64BAXUMA1, но так лень паять макет, чтобы проверить...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

27 минут назад, adnega сказал:

У данного МК стирание идет секторами, а запись страницами по 256 байт. Нигде нет запрета на дописывание страницы.

А Вы попробуйте  :biggrin:

Вы просто невнимательно читаете мануал. :wink: Эта фраза в RM:

"PFLASH  uses  an  ECC  code  with  SEC-DED  (Single  Error  Correction,  Double  Error Detection) capabilities. Each block of 64 data bits is accompanied with 8 ECC bits."

разве не запрет?

27 минут назад, adnega сказал:

Вы пробовали дописывать страницу?

конечно.

 

PS: Вы не правильно формулируете. Речь идёт не о "Запрете на дописывание страницы", а о "Запрете на дописывания не кратные размеру элементов ECC-контроля".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 18.11.2022 в 02:05, jcxz сказал:

PS: Вы не правильно формулируете. Речь идёт не о "Запрете на дописывание страницы", а о "Запрете на дописывания не кратные размеру элементов ECC-контроля".

Теперь понятно. 64 бита - это 8 байт. Т.е. нужно писать не менее 8 байт. Такое требование, действительно, есть у многих.

У меня заголовок 16 байт - прокатывает. Сделано как обсуждалось: пишу обновление во флеш, считаю CRC, если совпало пишу заголовок; при старте проверяю заголовок и если он корректный, то считаю CRC, только после этого делаю полезную работу. На XMC4000 такое должно работать.

Еще примеры будут (где более 16 байт)?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...